JavaSE
学习java从现在开始。
梦樊哥哥
何以解忧?唯有学习!!!
展开
-
Java数组
一、数组初始化1.1、动态初始化动态初始化是指初始化时只指定数组长度,有系统为数组分配初始值,默认初始值为0。格式:数组类型[] 变量名=new 数据类型[数组长度]; //动态初始化 int [] arr=new int [3];1.2、静态初始化静态初始化:初始化时指定每个元素的初始值,有系统决定数组长度。格式:数组类型[] 变量名 =new 数据类型[] {数据1,数据2....}; //静态初始化 i原创 2022-03-02 14:35:17 · 57 阅读 · 0 评论 -
Lambda表达式
目录一、组成Lambda表达式的三要素二、Lambda表达式的标准格式三、Lambda表达式的使用3.1抽象方法无参无返回值3.2抽象方法带参无返回值3.3抽象方法带参带返回值四、Lambda表达式的省略模式五、Lambda表达式的注意事项六、Lambda表达式和匿名内部类的区别一、组成Lambda表达式的三要素形式参数、箭头、代码块二、Lambda表达式的标准格式(形式参数)-> {代码块}形式参数:如果有多个参数...原创 2021-12-10 11:27:57 · 377 阅读 · 0 评论 -
哈希冲突?
一、什么是哈希冲突?哈希冲突是指哈希函数算出来的地址被别的元素占用了。二、什么是哈希表?哈希表是基于数组的一种存储方式.它主要由哈希函数和数组构成。(1)当要存储一个数据的时候,首先用一个函数计算数据的地址,然后再将数据存进指定地址位置的数组里面。这个函数就是哈希函数,而这个数组就是哈希表。三、如何解决哈希冲突?(1)开放定址法或散列法: 基本思想是:当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,产生另一个哈希地址p1,如果p1仍然冲突,再以p为基础...原创 2021-11-26 10:52:22 · 1247 阅读 · 0 评论 -
findlize() 和GC垃圾回收器的区别
Object.finalize()当垃圾回收器确定,不存在对该对象的更多引用时,由该对象的垃圾回收器调用此方法,子类重写finalize()方法,以配置系统资源或执行其他清除。Object 类的 finalize 方法执行非特殊性操作;它仅执行一些常规返回。Object 的子类可以重写此定义。在里面对我们想要的东西进行收尾。System.gc()运行垃圾回收器:调用gc方法暗示着Java虚拟机做了 一些努力来回收未用对象,以便能够快速的重用这些对象所占用的内存,当控制权从方法调用中返回时,虚拟机原创 2021-11-26 10:28:55 · 94 阅读 · 0 评论 -
JDK1.8新特性
JDK1.8新增了的新特性有Lambda表达式、方法引用、默认方法、新工具、Stream API、Date Time API、Optional类、Nashorn,JavaScript引擎。Lambda表达式:Lambda允许函数作为参数传递到方法中,使代码变的更加简洁紧凑。方法引用:可以直接引用已有Java类或对象的方法或构造器。Optional类:用来解决空指针异常。JavaScript引擎:允许程序在JVM上运行特定的javascript应用。默认方法:可以理解为一个在接口里面有了一原创 2021-11-26 10:17:33 · 216 阅读 · 0 评论 -
string和stringbuffer和stringbuilder的区别
原创 2021-11-19 20:32:20 · 303 阅读 · 0 评论 -
类的加载顺序
总结: 类的加载顺序1、父类的静态变量2、父类的静态代码块3、子类的静态变量4、子类的静态代码块5、父类的非静态变量6、父类的非静态代码块7、父类的构造方法8、子类的非静态变量9、子类的非静态代码块10、子类的构造方法...原创 2021-11-19 20:24:31 · 312 阅读 · 0 评论 -
JAVA重写和重载的区别?
一、什么是重载?重载:是指在一个类中,多个方法的方法名相同,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的顺序不同。与返回值无关!!!二、什么是重写?重写:是子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。两个类中,是继承关系,方法名、返回值类型、参数列表相同,而方法体不同!子类的访问修饰符不能比父类的访问修饰符更严格!访问修饰符权限:例:...原创 2021-11-19 19:51:21 · 371 阅读 · 0 评论 -
值传递与引用传递的区别
一、值传递:是指在调用函数时将s实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。代码在内存中的执行流程:1、首先加载main方法;2、接下来int number = 100;3、输出调用前的number,结果为100;4、调用change方法;5、在change方法中传参,传的是number,值为100;6、在change方法中对其number修改其值为200;虽然方法中的numb...原创 2021-11-03 20:48:38 · 10162 阅读 · 0 评论 -
JAVA数据类型解析
一、基本数据类型有数值型和非数值型。数值型分为:整数型和浮点型1、整数型:默认型是int、默认值是0byte:字节型 1字节 占8位 取值范围 -128~127short:短整型 2字节 占16位int:整型 4字节占32位long:长整型 8字节 占64位2、浮点型:默认型是double float:单精度 double:双精度非数值型:字符型和布尔型1、字符...原创 2021-10-21 12:55:35 · 197 阅读 · 0 评论 -
JVM运行原理
JVM运行原理:编写一个.java文件,然后通过javac命令将.java文件转换成字节码文件,字节码文件需要java类库的支持,然后通过字节码解释器和JIT及时编辑器共同执行引擎,然后输出在OS硬件上。...原创 2021-10-21 12:32:57 · 55 阅读 · 0 评论 -
float的类型的取值范围为什么大于long类型?
1、floatfloat:3.4*10^38>2*10^38>2*8^38=2^1142、longlong:2^63-13、总结2^114>>2^63-1,所以float的取值范围更大!原创 2021-10-20 21:38:10 · 83 阅读 · 0 评论