JVM学习之路
岁月无痕study
这个作者很懒,什么都没留下…
展开
-
垃圾回收和内存分配策略(二)
垃圾收集算法:A:标记-清除算法:分为标记和清除两个阶段。标记要回收的对象,然后进行清除。 有两个问题1:效率不高 2:会产生大量不连续的内存碎片。 碎片太多,假如程序运行时,需要分配较大对象时,无法找到连续内存,而不得不提前触发另一次垃圾回收 B:复制算法:运行高效。它将可用内存容量划分为大小相等的两块,每次只使用其中的一块。 当这一块用完之后,就将还存活的对象复制到另外一块上面,然后原创 2016-09-06 19:01:38 · 391 阅读 · 0 评论 -
垃圾回收和内存分配策略(一)
jvm垃圾回收算法需要考虑的问题是:哪些内存需要回收?什么时候回收?如何回收?由于程序计数器、虚拟机栈、本地方法栈随线程而生随线程而灭,同时栈中的栈帧随着方法的进入和退出而执行着出栈和入栈操作,每一个栈帧中分配多少内存基本上是在类结构确定是就已经知道了,这三个区域的内存分配和回收都确定;而java堆和方法区则不同,我们只有在程序运行期间才能知道需要创建那些对象,这些内存的分配和回收都是动态的,因此需原创 2016-09-06 17:51:32 · 273 阅读 · 0 评论 -
Java中类加载机制及反射
JVM 全称是Java Virtual Machine ,Java 虚拟机,也就是在计算机上再虚拟一个计算机,这和我们使用 VMWare 不一样,那个虚拟的东西你是可以看到的,这个JVM 你是看不到的,它存在内存中。我们知道计算机的基本构成是:运算器、控制器、存储器、输入和输出设备,那这个JVM 也是有这成套的元素,运算器是当然是交给硬件CPU 还处理了,只是为了适应“一次编译,随处运行”的情况,需转载 2017-04-25 14:13:12 · 441 阅读 · 0 评论 -
JVM内存模型
Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 截图来自《深入理解java虚拟机》1、程序计数器 程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码(class文件)的行号指示器,在虚拟机的概念模型中,字节码解释器就是工作时就是通过改变计数器的值来选取下一条执行的字节码指令,分支、循环、跳转、异常处理、原创 2016-08-25 13:57:07 · 258 阅读 · 0 评论