
JAVA 基础知识
文章平均质量分 57
JAVA 基础知识
秃头侠客
即使催更,也依然停更
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
非对称加密了解
服务端生成一对秘钥,私钥用来解密,公钥用来加密。公钥可以暴露出去,私钥自己保存。原创 2022-12-09 18:14:36 · 893 阅读 · 0 评论 -
原来我不懂java序列化
java序列化,想必大家都很清楚吧。不就是实现Serializable接口吗,目的就是为了将对象转为二进制,方便传输。你说对了,但事实往往没有这么简单序列化和反序列化序列化序列化就是将对象的状态转为特定流的过程对象的状态:那么静态变量可以被转化吗,不可以,因为静态变量是数据类的而不是变量。流: 也就是转为字节序列反序列化获取特定流中数据重新构建对象的过程什么时候使用序列化反序列化大家都知道,对象是保存在内存中的,更准确的说是位于JVM中,生命周期收到JVM的限制,如果我.原创 2022-04-22 13:33:33 · 396 阅读 · 0 评论 -
Java8新特性 Lambda、Function和Stream
java8新特性原创 2022-03-11 16:05:14 · 711 阅读 · 0 评论 -
理解反射的思路
在之前的文章里我已经讲过反射的使用了 点击查看在这我将讲一下如何去理解他目录什么是反射主题思想获得Class对象获得属性或方法等实例化对象什么是反射在运行期 通过拿到类的字节码文件来对类进行一系列操作主题思想先拿到字节码文件拿到你要用的属性方法或注解等实例化类newInstance,将类放到对应的属性或方法中(注意理解字节码文件只有一份,而对象可以有多个)获得Class对象Class.forName()class.classobj.getClass获得属性原创 2021-05-29 15:26:09 · 138 阅读 · 0 评论 -
拆分字符串 判断字符出现的次数
思路:将字符串拆分为数组 再将每个元素放入hashmap中 如果map中包含该元素则给出现的次数加1,不包含则放入 次数为1 String str="adhflkalkfdhasdkhflsa"; char[] chars = str.toCharArray(); HashMap<Character,Integer> hashMap = new HashMap<>(); for (char c:chars){ .原创 2021-03-21 17:27:11 · 485 阅读 · 0 评论 -
Java 之 HashMap的遍历
目录提出问题hashmap是如何存入键和值的呢?遍历方式一遍历方式二相信大家对hashmap一定不陌生,遍历也是比较熟练地,在这里博主通过分析源码的方式来帮助大家复习下HashMap首先给大家一张图这是一个HashMap 很明显 hashmap是由键值对组成。提出问题问题hashmap是如何存入键和值的呢?答案 将key和value放入一个对象中 再将对象放入数组中即可。来看一下 底层源码对象就是Entry (node实现了Map.Entry)所以看第一张图 我们 每一行可以原创 2021-01-23 18:06:20 · 148 阅读 · 0 评论 -
java 值传递以及引用的传递、数组的传递
请看这篇博客Java不允许程序员选择按值传递还是按引用传递各个参数,基本类型(byte–short–int–long–float–double–boolean–char)的变量总是按值传递。就对象而言,不是将对象本身传递给方法,而是将对象的的引用或者说对象的首地址传递给方法,引用本身是按值传递的-----------也就是说,讲引用的副本传递给方法(副本就是说明对象此时有两个引用了),通过对象的引用,方法可以直接操作该对象(当操作该对象时才能改变该对象,而操作引用时源对象是没有改变的)。现在说说数组:如转载 2021-01-12 11:51:35 · 275 阅读 · 0 评论 -
动态编译出错,tools.jar没有用 问题解决
在执行动态编译时发现报空指针异常网上查找原因,是因为jre包中缺少tools.jar造成的,将jdk/lib中的tools.jre移动到jdk/lib/tools.jre中即可,但是!!!!!!!没有用试了网上能找到的所有所有方法没用!!!然后我想到了更换jdk,因为我使用的jdk是1.8我决定换为jdk14(我已经放在博客当中,下载后将后缀名改为exe即可使用)...原创 2020-08-06 18:54:47 · 1064 阅读 · 0 评论 -
【JAVA】注解 及其 反射进阶
目录注解什么是注解常用的内置注解自定义注解(通过反射读取注解会在下面讲到)反射进阶获取类信息通过反射API动态调用方法提高反射效率反射读取注解反射操作泛型注解什么是注解注解与注释极其相似,但是注解可以被程序读取常用的内置注解@Override //重写@Deprecated //不鼓励程序员使用@DispressWarning //解除警告public class test2 { @Override //重写 public String toString() {//重写父类t.原创 2020-08-02 17:25:41 · 503 阅读 · 0 评论 -
JAVA Eclipse常用快捷键(推荐初学者观看)
Java导入包的快捷键:CTRL+SHIFT+O单词补全:Alt+/快速Outline:Ctrl+O上一个/下一个移动成员(成员对象或成员函数):Ctrl+Shift+Up/Down选中闭合元素:Alt+Shift+Up/Down/Left/Right删除行:Ctrl+D注释:Ctrl+/多行注释: Ctrl+Shift+/取消多行注释:Ctrl+Shift+\变为大/小写:Ctrl+Shift+X/YCtrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前.原创 2020-07-30 11:52:32 · 168 阅读 · 0 评论 -
JAVA的内存模型
1.栈(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。 局部变量:方法的参数,或者是方法{}内部的变量 作用域:一旦超出作用域,立从栈内存当中消失。2.堆(Heap):凡是new出来的东西,都在堆当中。 堆内存里面的东西都有一个地址值:16进制 堆内存里面的数据,都有默认值。规则:如果是整数类型:那么默认值为0如果是浮点类型:那么默认值为0.0...原创 2020-03-10 10:04:38 · 198 阅读 · 0 评论 -
JAVA字符串处理 (一)substring() indexof() startswith()
startswith()startsWith() 方法用于检测字符串是否以指定的前缀开始。public class Startswith {public static void main(String[] args) { String test ="@小冯小冯,千载难逢"; boolean result1=test.startsWith("f"); boolean result2=...原创 2020-02-18 23:39:51 · 549 阅读 · 0 评论 -
c++不得不了解的----值传递和引用传递
一般认为,java内的传递都是值传递. java中实例对象的传递是引用传递。值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量;引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身。8大基本类型外其他都可看做引用类型看一下区别如图所示,num是基本类型,值就直接保存在变量中。而str是引用类型,变量中保存的只是实际对象的地...原创 2020-02-10 17:55:25 · 310 阅读 · 0 评论 -
static环境中访问非static变量为什么会报错
static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。...原创 2020-02-10 17:03:21 · 252 阅读 · 0 评论 -
静态属性与非静态属性
区分静态属性:由static修饰的为类、方法、变量或代码块等。非静态属性:不由static修饰特点静态属性特点:一声明就被存储在栈中,直接占据内存,可以快速稳定的调用。2. 生命周期长,从jvm加载开始到jvm加载结束。3. 全局唯一,在一个运行环境中,静态变量只有一个值,任何一次修改都是全局性的影响。4. 占据内存,程序中应该包含尽量少的static 非静态属性特...原创 2020-02-03 19:12:27 · 924 阅读 · 0 评论 -
JAVA中this和super用法与区别详解
<一>. this的用法构造方法是创建java对象的重要途径,通过new关键字调用构造器时,构造器返回该类的对象,但是这个对手并不是完全由构造器负责创建. 创建一个对象分为如下四步:a. 分配对象空间,并将对象成员变量初始化为0或者nullb. 执行属性值的显式初始化c. 执行构造方法d. 返回对象的地址给相关变量this的本质就是“创建好的的对象的地址”, 由于在构造方法...转载 2020-01-17 10:28:31 · 1606 阅读 · 0 评论