随笔分类 - JDK源码
一些常见和热门的Java类源码分析,基于JDK10。
摘要:JVM先看的章节:1,2,3,4,5,12,13 JVM在运行时,将运行时的内存划分为多个区域,用于不同用途,划分区域包括:方法区,虚拟机栈,本地方法栈,堆,程序计数器 1、程序计数器:可看做当前线程所执行的字节码行号指示器,存储当前线程执行到的指令地址。是线程独有的,线程中断,异常等都依赖它。 2
阅读全文
摘要:1、多线程在CPU切换过程中,由于需要保存线程之前状态和加载新线程状态,成为上下文切换,上下文切换会造成消耗系统内存。所以,可合理控制线程数量。 如何控制: (1)使用ps -ef|grep appname,查找appname的pid;如1111 (2)使用jstack 1111 > /home/i
阅读全文
摘要:HashMap在工作中大量使用,但是具体原理和实现是如何的呢?技术细节是什么?带着很多疑问,我们来看下JDK10源码吧。 1、数据结构 采用Node<K,V>[]数组,其中,Node<K,V>这个类实现Map.Entry<K,V>,是一个链表结构的对象,并且在一定条件下,会将链表结构变为红黑树。所以
阅读全文

浙公网安备 33010602011771号