Java源码
迷路北极的鱼
这个作者很懒,什么都没留下…
展开
-
线程池执行流程及源码分析
先上一张线程池execute方法执行流程图: 使用hashSet存储工作线程: private final HashSet workers = new HashSet(); 接下来看源码吧 线程池参数: int corePoolSize, //核心线程数 int maximumPoolSize, //最大线程数 long keepAliveTime, //临时工作线程的存活时间 TimeUnit unit, //存活单位 BlockingQueue<Runnable> workQueue, /原创 2020-08-15 21:01:47 · 340 阅读 · 0 评论 -
HashMap 源码
昨天面试时,面试官问hashMap如果初始容量设置为13会怎么样?因为知道hashMap的容量为2的幂次,所以猜测应该是取离设置的值最近的二的n次幂,离13最近的应该是16,虽然蒙对了,但心里很虚,所以继续来看hashMap的源码 HashMap的类关系图,把面试中经常被问的相关的类也列出来了,hashTable, concurrentHashMap等,从这张结构图可以看到它们之间的其中一个区别就是:hashMap和concurrentHashMap 都继承自AbstractMap,而hashTable继原创 2020-08-13 12:11:10 · 163 阅读 · 0 评论 -
Java String 源码
昨天面试,被面试官吊打。问的问题都知道一点,但是不够深入。实现细节,原理什么的好像都没仔细去看。突然意识到,之前的学习好像一直在赶进度,为了面试去学习,只学了点皮毛。痛定思痛,开始看源码了。希望能坚持下去吧。。。。 先奉上面试题: 1.String的底层实现是什么? 2.String的replace方法是怎么实现的? 接下来就开始进入正题:String源码探索之路: String 开篇注释:String 是字符串常量,当它被创建之后,它的值就不能被改变(所以很多字符串的操作都是拷贝到一个新的字符数原创 2020-08-12 12:31:54 · 282 阅读 · 0 评论