![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
FromZeroToPerfect
小白的后端开发之路
展开
-
Java中equals和==的区别
java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean他们之间的比较,应用双等号,比较的是他们的值。2.引用数据类型(类)当他们用双等号进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的原创 2020-08-10 18:42:52 · 187 阅读 · 0 评论 -
HashMap(1.7、1.8对比)、Hashtable、ConcurrentHashMap(1.7、1.8)
1.HashMap(线程不安全,多线程同时对其操作时会产生线程安全问题)HashMap基于Map接口,是一种基于Key-Value的数据结构,允许有一个key为null,多个value为null。HashMap的默认数组长度为16,扩容因子为0.75,每次扩容成2的n次方数值,也就是扩容两倍,默认第一次扩容阈值16*0.75=12HashMap的实现原理:jdk1.7采用数组+链表实现插入时头插jdk1.8采用数组+链表+红黑树实现插入时尾插(避免老版本hashmap在并发resize时会原创 2020-08-08 17:54:09 · 304 阅读 · 1 评论 -
StringBuilder和StringBuffer的区别,他们两个和String有什么不同?
1.StringString类是不可变类,即一个String对象实例被创建后,包含在这个对象中的字符序列是不可改变的,直到这个对象被回收销毁。解释:String a ="123"; a="456"; 输入a后为456;第一次给a赋值时在堆中创建实例对象并指向“123”,第二次给a赋值时在堆中生成了一个新的实例对象,并指向“456”,最后a指向新生成的实例对象,旧的实例对象如果没有被再次引用则进行垃圾回收。2.StringBuffer(线程安全,采用对方法加锁方式)StringBuffer对象原创 2020-08-08 15:13:29 · 248 阅读 · 0 评论 -
final关键字的作用
在使用匿名内部类的时候可能会经常用到final关键字,另外,Java中的String类就是一个final类1.修饰引用如果为基本数据类型变量,则该变量为常量,一旦获得初始化值,其值无法修改;如果为引用数据类型变量,由于该变量保存的是一个地址值,final保证的是该变量不会引用另外一个对象,但该对象的内容可以改变;2.修饰类该类不能被继承,成为最终类;3.修饰方法该方法不能被重写,但是仍然可以被继承注意:final修饰类的成员变量时必须赋初值,否则会报错...原创 2020-08-08 10:20:31 · 288 阅读 · 0 评论 -
基本数据类型和包装类
1.java的8个基本数据类型四种整形:int 4个字节 32位 对应包装类Integershort 2个字节 16位 对应包装类Shortlong 8个字节 64位 对应包装类Longbyte 1个字节 8位 对应包装类Byte两种浮点型:float 4个字节 32位 对应包装类Floatdouble 8个字节 64位 对应包装类Double一种布尔型:boolean 1个字节 8位 对应包装类Boolean一种字符型:char 2个字节 16位 对应包装原创 2020-08-07 11:48:02 · 225 阅读 · 0 评论 -
java基础总结(一)
1.1.java的8种基本类型java一共有八种基本类型,包含4种整形,2种浮点型,1种布尔型,1种字符型①四种整形:byte(1) short(2) int(4) long(8)②两种浮点型:float(4) double(8)③一种布尔型:boolean(1)④一种字符型:char(2)Java的其他数据类型都是由java的八种基本类型组装成的1.2.什么是拆箱和装箱简单一点...原创 2019-11-20 23:41:45 · 154 阅读 · 0 评论 -
java---------------128陷阱
知识点:自动装箱自动装箱规范要求boolean、byte、char<=127,介于-128-127之间的 short 和 int 类型被包装到固定对象中。Java里面对处在在-128-127之间的Integer值,用的是原生数据类型int,会在内存里供重用,也就是说这之间的Integer值进行双等比较时只是进行int原生数据类型的数值比较,而超出-128127的范围,进行双等比较时是进行地...原创 2019-11-12 15:21:16 · 204 阅读 · 0 评论 -
JDK1.8之Lambda表达式
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-10-31 13:55:12 · 270 阅读 · 0 评论 -
Java中关于Arrays.sort方法的两种自定义排序方式
一、Comparable接口Comparable是一个排序接口此接口给实现类提供了一个排序的方法,此接口有且只有一个方法(接口中没有声明public是因为接口方法默认为public,但调用该方法时必须声明public)int compareTo(T o);实例:通过id进行排序public class UserInfo implements Comparable<UserInfo...原创 2019-10-31 13:21:42 · 2585 阅读 · 0 评论