- 博客(5)
- 收藏
- 关注
原创 == euqals hascode的区别
==euqalshascode区别比较两个对象的地址是否相等支持重写,未重写前和==一样,可重写为比较两个对象的内容是否相等支持重写,未重写前,根据地址计算哈希值,可重写为根据内容计算哈希值联系equals相等,hascode一定相等若重写,两者都重写,即重写后,euqals比较内容,hashcode根据内容计算哈希值hascode相等,equals不一定相等...
2020-11-25 00:36:26 370
原创 String、StringBuild、StringBuffer的区别
StringStringBuilderStringBuffer区别适用于少量的字符串操作的情况适用于单线程下在字符缓冲区进行大量操作的情况适用于多线程下在字符缓冲区进行大量操作的情况字符串拼接效率最低单线程安全多线程安全,类方法中加入了Synchronized关键字...
2020-11-25 00:32:57 384 1
原创 单例模式
单例模式双重判空第一层防止多次加锁浪费资源第二层判断instance是否已经初始化A a = new A(); 分成三小步: 1、分配内存空间 2、创建实例对象 3、将地址和对象连接起来volatile作用防止指令重排序如果不使用该关键字,123可能变成132。当线程A走到第二层判空时,实例化对象,释放锁资源。此时,实例对象还没有创建成功。线程B走到第一层判空,instance不为null,走不进去,获取不到锁资源。...
2020-11-24 00:56:20 483
原创 龟兔赛跑
参考资料:龟兔赛跑算法(Floyd判圈算法)前提需知:快指针速度2V,慢指针速度V链表起点到环起点m,环长n,快慢指针相遇点距离环起点k快指针圈数a,慢指针圈数b理解:快指针行走距离S1=m+an+k=2VT慢指针行走距离S2=m+bn+k=VTS1-S2=(a-b)*n=VT=>VT是环长的整数倍快指针回到链表起点,同向同速行走m此时,慢指针总共行走m+VT,相当于,慢指针从链表起点出发,走了m,到环起点,然后绕环走了几圈。故,快指针在环起点。...
2020-11-21 00:04:29 233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人