随笔分类 - JAVA
摘要:1. HashMap计算hash对key的hashcode进行了二次hash,以获得更好的散列值 2. 底层实现都是数组+链表结构实现! 3. HashMap会对null值key进行特殊处理,总是放到table[0]位置,数组初始长度为16 4.put过程是先计算hash然后通过hash与table
阅读全文
摘要:常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC roots引用的对象。一个对象可以属于多个root,GC root有几下种:Class - 由系统类加载器(system cl
阅读全文
摘要:1、单一职责 不论是在设计类,接口还是方法,单一职责都会处处体现,单一职责的定义:我们把职责定义为系统变化的原因。所有在定义类,接口,方法的时候。定义完以后再去想一想是不能多于一个的动机去改变这个类,接口,方法。如果答案是肯定的,说明定义的类,接口,方法则多于一个职责。故违背单一职责,遇到这种情况应
阅读全文
摘要:1. 类锁:在代码中的方法上加了static和synchronized的锁,或者synchronized(xxx.class)的代码段 2.对象锁:在代码中的方法上加了synchronized的锁,或者synchronized(this)的代码段 3.私有锁:在类内部声明一个私有属性如private
阅读全文
摘要:ThreadLocal: 创建一个线程本地变量。 本质:在ThreadLocal类中有一个Map,用于存储每一个线程的变量的副本。 优点:既实现多线程并发,游兼顾数据的安全性。 区别:Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。 示例: public
阅读全文
浙公网安备 33010602011771号