java lib
一撸向北
啊哈哈,咦嘿嘿,哦呵呵。
展开
-
JAVA RMI源码阅读理解
最近尝试阅读了一番rmi的源码,尝试理解一下rmi的基本工作原理。 首先,奉上rmi在java中最简单的例子调用。 我们定义一个HelloService服务。 public interface HelloService extends Remote{ void sayHello() throws RemoteException; } 以及它的实现 public cla...原创 2018-06-29 23:25:27 · 1672 阅读 · 4 评论 -
ThreadLocal分析理解
ThreadLocal简介 ThreadLocal一般用于存储线程级别变量,存储的变量是绝对的线程安全。用的比较多的场景就是存储线程级别变量来传递某些参数,并且注意的是不能滥用。某些情况下不适合用方法参数时,才考虑使用ThreadLocal,并且需要清楚ThreadLocal何时设置值,何时回收。 如何保证线程安全? java.lang.ThreadLocal#set public void se...原创 2018-10-13 15:25:30 · 222 阅读 · 0 评论 -
深入分析HashMap原理(基于JDK1.7)
数据结构简介 jdk1.7的HashMap的基本数据结构是数组与链表的组合方式。如下图所示(图片来源于网络)。 重要属性介绍 final float loadFactor;//用于计算阈值,默认0.75 int threshold; //主要用于判断是否需要扩容的阈值 //计算方式threshold = (int) Math.min(capacity * loadFactor, MA...原创 2018-10-09 23:38:28 · 217 阅读 · 0 评论 -
ReentrantLock实现原理分析
java.util.concurrent包中的工具实现核心都是AQS,了解ReentrantLock的实现原理,需要先分析AQS以及AQS与ReentrantLock的关系。 这篇文章中分析了ReentrantLock#lock与ReentrantLock#unlock的实现,对于Condition的实现分析,另外文章再讲,基本上大同小异。 ReentrantLock实现核心–AQS(Abstra...原创 2019-01-10 23:24:13 · 13494 阅读 · 1 评论