JVM
尤教授
这个作者很懒,什么都没留下…
展开
-
Java对象的创建、内存布局、访问定位
转自:Java对象的创建、内存布局、访问定位 对象的创建 一个简单的创建对象语句Clazz instance = new Clazz();包含的主要过程包括了类加载检查、对象分配内存、并发处理、内存空间初始化、对象设置、执行ini方法等。 主要流程如下: 1. 类加载检查 JVM遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引...原创 2018-04-02 10:42:29 · 152 阅读 · 0 评论 -
JVM内存模型
参考:JVM内存模型(深入理解Java虚拟机学习笔记) JVM实现了Java语言的平台无关性,.java文件经过编译器编译后生成了.class的Java字节码文件,由JVM执行,虚拟机在执行字节码时,将字节码解释成具体平台的机器指令,屏蔽了平台相关的信息,实现了平台无关性。 JVM内存模型 JVM = 类加载器classloader + 执行引擎executionengine + 运...原创 2018-03-24 21:38:28 · 477 阅读 · 0 评论 -
JVM内存:年轻代、老年代、永久代
参考文章:JVM内存:年轻代,老年代,永久代 Java中堆是JVM所管理的最大的一块内存空间,主要用于存放各种类的实例对象和数组,如下图所示: 在Java中,堆被划分成两个不同的区域:年轻代、老年代。年轻代(Young)又被划分为三个区域:Eden、S0、S1。这样划分的目的是为了使JVM能够更好的管理堆内存中的对象,包括内存的分派以及回收。 堆是GC收集垃圾的主要区域。GC分为两种:M...原创 2018-03-25 21:10:35 · 5948 阅读 · 1 评论 -
JVM之GC总结
什么是垃圾回收 垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。 Java 语言出来之前,大家都在拼命的写 C 或者 C++ 的程序,而此时存在一个很大的矛盾,C++ 等语言创建对象要不断的去开辟空间,不用的时候又需要不断的去释放控件,既要写构造函数,又要写析...原创 2019-09-12 14:52:40 · 140 阅读 · 0 评论