java虚拟机
blef
这个作者很懒,什么都没留下…
展开
-
垃圾收集器与内存分配策略(1)
概述 在Java内存运行时区域的部分中,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭。因此这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收的问题,因为方法或线程结束时,内存自然就跟着回收了。 Java堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存可能也不一样,只有在程序处于运行期间才能知道创建哪些对象,这部分内存的分配和回收都是动态的额,垃圾收集所关注的是这分内容。 对象已死 堆中几乎存放着Java中所有的对象实例,垃圾原创 2020-09-30 21:52:49 · 171 阅读 · 0 评论 -
java对象访问方式
对象访问 在Java中即使是最简单的对象访问,也会涉及到栈、堆、方法区这三个最重要的内存区域之间的关系,如: Object obj = new Object(); 假设这句代码出现在方法体中,那 “Object obj” 这部分的语义将会反映到Java栈的本地变量表中,作为reference类型数据出现。而 “new Object()” 这部分的语义将会反映到Java堆中,形成一块存储了Object类型所有实例数据值(Instance Data,对象中各个实例字段的数据)的结构化内存,根据具体类型以及原创 2020-08-31 19:16:21 · 376 阅读 · 0 评论 -
java运行时数据区
运行时数据区 程序计数器 在虚拟机规范模型里,字节码解释器通过改变计数器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等基础功能依赖计数器来完成。 在一个确定时刻,一个处理器只会执行一条线程中的指令。 线程私有,jvm中规范中没有规定任何OutOfMemoryError情况的区域。 虚拟机栈 线程私有,生命周期与线程相同。虚拟机栈描述的是java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表、操作栈、动态链接、方法出口等..原创 2020-07-31 22:53:40 · 221 阅读 · 0 评论 -
windows10 编译openjdk8
所需工具 Cygwin http://www.cygwin.com/setup-x86_64.exe freetype https://download.savannah.gnu.org/releases/freetype/ openjdk8 https://download.java.net/openjdk/jdk8/promoted/b132/openjdk-8-src-b132-03_mar_2014.zip visual studio 2010 安装软件 安装cygwin ...原创 2020-06-29 10:33:46 · 820 阅读 · 0 评论