随笔分类 - JDK
摘要: 一、从JVM架构说起 JVM分为三个子系统: (1)类加载器子系统 (2)运行时数据区 (3)执行引擎 二、虚拟机启动、类加载过程分析 ~~~ package com.darchrow; / @author mdl @date 2020/5/7 16:12 / public class Hell
        阅读全文
            
摘要:Java中对线程的阻塞和唤醒有两种机制 一、通过Object的wait和notify结合synchronized关键字实现 二、Condition集合Lock 本文介绍第二种 Condition特性 类似于Object的wait和notify机制,但不同在于,Condition是需要关联Lock对象
        阅读全文
            
摘要:概念 比较并交换,简单来说,预期值与内存的值比较,相等则更新,否则循环下去 理解 内存里存的一个值,你拿去,在更新的时候调用,如果这期间没人动过这个值,你可以更新, 否则,重复操作,直至成功。 对一个值自增的自旋操作,伪代码如下: public final int getAndIncrement()
        阅读全文
            
摘要:一、Java内存区域 从《深入理解Java虚拟机》一书中知道 1. 程序计数器 当前线程的行号指示器,JVM多线程的方式,导致了线程在被挂起到重新获取执行权时,需要知道上次挂起的地方在哪。在JVM中, 通过程序计数器来记录字节码的执行位置。程序计数器具有隔离性,为线程私有。此区域不会发生OOM。 2
        阅读全文
            
摘要:一、经典故事 村子里面,有一口井水。水质很好,村民们都想打井里的水。 村长这时就制定了规则: 井边安排一个看井人,维护打水的秩序。 打水时,以家庭为单位,哪个家庭任何人先到井边,就可以先打水,而且如果一个家庭占到了打水权,其家人这时候过来打水不用排队。 而那些没有抢占到打水权的人,一个一个挨着在井边
        阅读全文
            
摘要:这篇将基于jdk1.7对HashMap部分重要代码做下分析 一、存储结构 HashMap的数据结构是数组+链表(哈希表,也称散列表)的组合 二、原理 成员变量 元素结点 构造函数 构造时并不会初始化数组table,而是在第一次put时通过 inflateTable() 初始化(用Map来初始化例外)
        阅读全文
            
摘要:本文参考: https://blog.csdn.net/yyyljw/article/details/80903391 https://www.jianshu.com/p/a89e9487a06c https://blog.csdn.net/woshimaxiao1/article/details/
        阅读全文
            
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号