深入理解Java虚拟机
兰因絮果.
持之以恒
展开
-
JVM之运行时数据区
JVM负责内存动态分配、垃圾回收,对内存进行分区管理,这些区域包括:程序计数器、虚拟机栈、本地方法栈、堆、方法区。 程序计数器 当前线程的字节码的行号指示器(Java方法)或为空(Native方法) 线程独占 唯一一个没有规定OutOfMemoryError(扩展时无法申请到足够内存)的区域 Jav...原创 2019-03-24 22:24:30 · 95 阅读 · 0 评论 -
HotSpot虚拟机中的对象
对象的创建 对虚拟机而言,只需要前四步即为完成创建工作,对于进程而言需要执行init方法 类加载检查:在常量池定位类的符号引用,确定该类是否被加载、解析、初始化 分配内存:从Java堆中划分内存,所需内存在类加载时就已经确定,根据内存是否规整(取决于垃圾收集器是否有压缩整理功能),内存分配方式分为两种:“指针碰撞”和“空闲列表” ps:分配内存可能引发并发问题,解决方式有两种: ①CAS+失败...原创 2019-03-28 22:21:30 · 153 阅读 · 0 评论