JVM
文章平均质量分 84
Fuzz_
这个作者很懒,什么都没留下…
展开
-
JVM的内存区域划分
由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程: 如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各...原创 2018-09-24 22:57:42 · 130 阅读 · 0 评论 -
JVM的垃圾回收机制
当JVM创建对象遇到内存不足的时候,JVM会自动触发垃圾回收garbage collecting(简称GC)操作,将不再使用但仍存在JVM内存中的对象当做垃圾一样直接清理掉,释放被占用的内存空间,供新创建的对象使用。那么问题来了,要让系统能够自动实现不被引用对象的回收,有几个问题需要解决:Who:哪些是不再使用要被当做“垃圾”回收处理的对象?也就是要确定垃圾对象。 Where:在哪里执行垃...原创 2018-09-24 23:01:29 · 201 阅读 · 0 评论 -
JVM的垃圾回收器和内存分配策略详解
一、判断对象存活的算法1、引用计数算法(1)概念:给对象中添加一个引用计数器每当有一个地方引用它时,计数器值加1;当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。(2)java虚拟机里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间相互循环引用的问题。2、可达性分析算法(1)概念:通过一系列的成为“GC Roots”的对象作为起始...原创 2018-09-26 23:02:02 · 124 阅读 · 0 评论 -
java虚拟机之类文件结构
字节码是构成Java平台无关性的基石。实现语言无关性的基础是虚拟机和字节码存储格式。Java语言中的各种变量、关键字和运算符的语义最终是由多条字节码命令组成,因此字节码命令所能提供的语义描述能力肯定会比Java语言本身更强大。Class类文件的结构 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件中,中间没有添加任何分...原创 2018-09-26 23:08:55 · 128 阅读 · 0 评论 -
JVM字节码指令简介
引言众所周知,Java程序是运行在Java虚拟机上的,而这里的“虚拟”是对什么东西进行虚拟呢?答案当然就是对“实体”机进行虚拟啦,虚拟机可以看做是对实体机进行了进一步的封装和抽象,隐藏了不同实体机之间的差别,从而达成“Write Once,Run AnyWhere”的目标。既然虚拟机是对实体机的虚拟,所以我认为虚拟机和实体机在结构和功能上必然存在某种程度上的对应与关联。因此我们在学习时应该注意...原创 2018-09-28 23:03:33 · 1041 阅读 · 0 评论