您的位置:首页 > 编程语言 > Java开发

Java GC机制和JVM

2014-12-10 20:46 141 查看
概括

首先,我们来解释一些基本的术语,比如JDK、JVM、JRE和HotSpotVM。

Java 开发工具包 (JDK):一系列工具帮助开发者创建Java应用程序。JDK包含工具编译、运行、打包、分发和监视Java应用程序。

Java 虚拟机(JVM):JVM是一个抽象的计算机结构。Java程序根据JVM的特性编写。JVM针对特定于操作系统并且可以将Java指令翻译成底层系统的指令并执行。JVM确保了Java的平台无关性。

HotSpotVM:每种JVM实现可能采用不同的方法实现垃圾回收机制。在收购SUN之前,Oracle使用的是JRockit JVM,收购之后使用HotSpot JVM。目前Oracle拥有两种JVM实现并且一段时间后两个JVM实现会合二为一。HotSpot JVM是目前Oracle SE平台标准核心组件的一部分。我们将会基于HotSpot虚拟机的垃圾回收原则进行讨论。

Java开发工作者,一般不需要专门写内存回收和垃圾清理代码,来应对内存泄漏和溢出的问题。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。Java GC(Garbage Collection,垃圾收集,垃圾回收)机制对 JVM(Java Virtual Machine)中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略,自动的回收内存,永不停息的保证JVM中的内存空间,防止出现内存泄露和溢出问题。

Java GC机制主要做三件事:确定哪些内存需要回收,确定什么时候需要执行GC,如何执行GC。通过对GC机制的学习,可以帮助我们在开发中排查内存溢出或者泄漏问题,提高并发量,解决性能瓶颈。
在JVM体系结构中(如图),与垃圾回收相关的两个主要组件是堆内存和垃圾回收器。堆内存是内存数据区,用来保存运行时的对象实例。垃圾回收器也会在这里操作。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: