Java后端
文章平均质量分 52
接受Java后端面试拷打
争取30岁之前猝死
这个作者很懒,什么都没留下…
展开
-
Java中equals和==的区别
equals和==原创 2024-05-11 20:10:42 · 402 阅读 · 2 评论 -
JVM基础
JVM进行垃圾回收时,会先找到“非垃圾”对象,也就是还在使用的对象。找到非垃圾对象就需要从某些“根”去找,这些根就是gc root。gc root有一个特征,即。原创 2024-05-02 01:11:31 · 48 阅读 · 2 评论 -
ThreadLocal小结
在使用强引用时,会同时导致ThreadLocal与value泄漏,因为在业务代码中,ThreadLocalRef一旦不再使用,ThreadLocal也不会被回收,并且此时value也无法在业务代码中进行访问。而使用弱引用,只会存在value泄漏的情况。ThreadLocal的调用结束了,线程不一定会结束,CurrentThreadRef->CurrentThread->ThreadLocalMap->Key->ThreadLocal的引用会一直存在,导致ThreadLocal只能在线程结束时被回收。原创 2024-05-01 22:39:31 · 443 阅读 · 0 评论 -
HashMap的put方法
HashMap的put方法的流程1.key通过哈希+与运算得出数组下标2.如果数组下标位置元素为空,则将key和value封装并放入该位置a.jdk1.7,是entity对象b.jdk1.8,是node对象3.如果数组下标位置元素不为空,则要分情况讨论a.jdk1.7,先判断是否需要扩容,如果不用扩容就生成entity对象,用头插法插入当前位置链表b.jdk1.8,先判断当前位置上的node类型,是红黑树还是链表i.如果是红黑树,则将key和value封装为一个红黑树节点添加到红黑树中,在搜原创 2024-04-23 16:49:55 · 74 阅读 · 0 评论 -
MyBatis分页
RowBounds中传入的limit分页参数,是在sql执行完后,把所有数据加载到内存中,然后再进行的逻辑分页,并不是sql执行前将limit拼接到where条件后面。原创 2024-04-23 16:18:21 · 113 阅读 · 0 评论 -
ArrayList和LinkedList对比
ArrayList基于数组,而LinkedList基于链表。由于基于的底层数据不同,所以使用场景不同。ArrayList有数组特性,所以适合随机访问;LinkedList有链表特性,所以适合增加、删除元素。ArrayList源码中就是用Object[ ]来存储数据。可以看到LinkedList通过index访问元素需要遍历。ArrayList和LinkedList都实现了List的接口,但LinkedList实现了Deque接口,可以当做双端队列使用。原创 2024-04-23 14:38:00 · 147 阅读 · 0 评论