jvm
陈伟chenwei
这个作者很懒,什么都没留下…
展开
-
HotSpot的算法实现
HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 前面从理论上介绍了对象存活判定算法和垃圾收集算法,而在HotSpot虚拟机上实现这些算法的时候必须对算法的执行效率有严格的考量才能保证虚拟机高效运行。 接下来说三点:1、 枚举根节点2、 安全点原创 2017-07-13 13:44:25 · 560 阅读 · 0 评论 -
JVM运行时数据区域及GC
JVM在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间。本文以Sun公司HotSpot虚拟机为例进行说明,JRockit和IBM J9会有所不同。HotSpot运行时数据区分为堆和栈两种类型,堆空间为线程共享,栈空间为线程私有。堆空间又分为方法区和堆,栈细分为虚拟机栈、本地方法栈和程序计数器,但HotSpot栈的实现将本地方法栈中原创 2017-07-20 22:16:19 · 343 阅读 · 0 评论 -
java内存区域与内存溢出异常
java虚拟机的基本结构类加载子系统 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器原创 2017-08-30 01:45:00 · 267 阅读 · 0 评论 -
JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同原创 2017-11-13 17:51:13 · 201 阅读 · 0 评论 -
Java内存区域和GC机制
Java 内存区域和GC机制目录Java垃圾回收概况Java内存区域Java对象的访问方式Java内存分配机制Java GC机制垃圾收集器Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出转载 2017-11-13 18:04:39 · 158 阅读 · 0 评论 -
Java中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器转载 2017-11-16 00:47:43 · 165 阅读 · 0 评论