摘要:
同一进程 重入锁 使用ReentrantLock获取锁的时候回判断当前线程是否为获取锁的线程,如果是则将同步的状态+1,释放锁的时候则将状态-1,只有将同步状态的次数置为0的时候才会是最终释放锁。 读写锁 使用ReentrantReadWriteLock,同时维护一对锁:读锁和写锁。当写线程访问时则 阅读全文
摘要:
以下基于 JDK1.7 分析 如图所示,HashMap底层是基于数组和链表实现的,其中有两个重要的参数: 容量 负载因子 容量的默认大小是16,负载因子是0.75,当HashMap的size > 16* 0.75时就会发生扩容(容量和负载因子都可以自由调整) put方法 首先会将传入的key做has 阅读全文
摘要:
垃圾回收 需要思考的问题 1、哪种内存需要回收? 2、什么时候回收? 3、如何回收? 对象是否存活 引用计数法 这是一种非常简单易理解的回收算法。每当有一个地方引用一个对象的时候则在引用计数器上 +1,当失效的时候就 -1,无论什么时候计数器为 0 的时候则认为该对象死亡可以回收了。 这种算法虽然简 阅读全文