
java虚拟机
文章平均质量分 82
哈喽我的天啊
java web软件工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA内存区域
运行时数据区域 程序计数器 程序计数器是一块很小的内存空间,它可以看做是当前线程执行的字节码的行号指示器。 JAVA虚拟机栈 与程序计数器一样,java虚拟机栈也是线程私有的,他的生命周期与线程相同。虚拟机栈藐视的是java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用知道执行完成的过程,就对应着一个 栈帧在原创 2016-12-26 21:42:52 · 387 阅读 · 0 评论 -
垃圾收集器(一)
引用计数法 很多地方判断一个对象是否存活的算法是给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就+1;档引用失效时,计数器-1;任何时刻计数器为0的对象就是不可能在被使用。但是主流Java虚拟机没用选用引用计数器算法来管理内存,其中最主要的原因是它很难解决对象之间相互循环引用的问题。(示例代码参考周志明 《深入理解java虚拟机 62p》) 可达性分析法 在主流的商用程序语言的主原创 2016-12-26 22:03:59 · 248 阅读 · 0 评论 -
垃圾收集器(二)
1、Serial收集器曾经是虚拟机新生代收集的唯一选择,是一个单线程的收集器,在进行收集垃圾时,必须stop the world,它是虚拟机运行在Client模式下的默认新生代收集器。 2、Serial Old是Serial收集器的老年代版本,同样是单线程收集器,使用标记整理算法。 3、ParNew收集器是Serial收集器的多线程版本,许多运行在Server模式下的虚拟机中首选的新生转载 2016-12-26 23:05:40 · 297 阅读 · 0 评论 -
深入理解Java内存模型之系列篇
深入理解Java内存模型(一)——基础 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来转载 2016-12-27 20:26:51 · 399 阅读 · 0 评论 -
JVM运行机制
本文主要讨论以下内容: 1. JVM启动流程 2. JVM基本结构 3. 内存模型 JVM启动流程 1. 我们在启动一个JAVA程序的时候一般是通过java命令启动。 2. 运行java命令后JVM会首先加载jvm.cfg文件 3. 通过cfg找到JVM.DLL 4. jvm.dll初始化jvm并获得JNIEnv接口用来findClass 5. 最后运行class里的ma原创 2017-01-18 22:53:05 · 411 阅读 · 0 评论