08 2019 档案
摘要:J.U.C并发包(1) AbstractQueuedSynchronizer AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchronizer是抽象同步队列,简称AQS,是实现同步器的基础组件,并发包中锁的实现底层就是使用AQS实
阅读全文
摘要:Java内存模型 1、Java内存模型定义 描述多线程环境中线程与内存的关系 Java内存模型定义了程序中各个变量的访问规则,即虚拟机将变量存储到内存和从内存取出变量的底层细节。 这里的变量可以理解为堆和方法区的,不包括线程私有的栈。 解决了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进
阅读全文
摘要:JVM总结(3)Class文件,类加载机制、编译过程 Java编译器先把Java代码编译为存储字节码的Class文件,再通过Class文件进行类加载。 Class类文件的结构 Java编译器可以把Java代码编译为存储字节码的Class文件 Class文件格式采用一种类似C语言结构体的伪结构来存储数
阅读全文
摘要:JVM总结(2)java内存区域、字节码执行引擎 1、内存区域 程序计数器:知道线程执行位置,保证线程切换后能恢复到正确的执行位置。 虚拟机栈:存栈帧。栈帧里存局部变量表、操作栈、动态连接、方法返回地址。局部变量表又存了各种基本数据类型和对象引用(句柄)。 本地方法栈:为Native方法服务 堆:存
阅读全文
摘要:JVM总结(1) 1、JVM组成: JVM由类加载器子系统、运行时数据区、执行引擎以及本地方法接口组成。 2、JVM运行原理: Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。 3.Java垃圾回收区域 Java垃圾回收只针对堆和方法区的内存。
阅读全文

浙公网安备 33010602011771号