博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java垃圾回收简介
阅读量:6870 次
发布时间:2019-06-26

本文共 1028 字,大约阅读时间需要 3 分钟。

Java关键术语

  • JavaAPI:一系列帮助开发者创建Java应用程序的封装好的库。
  • Java 开发工具包 (JDK):一系列工具帮助开发者创建Java应用程序。JDK包含工具编译、运行、打包、分发和监视Java应用程序。
  • Java 虚拟机(JVM):JVM是一个抽象的计算机结构。Java程序根据JVM的特性编写。JVM针对特定于操作系统并且可以将Java指令翻译成底层系统的指令并执行。JVM确保了Java的平台无关性。
  • Java 运行环境(JRE):JRE包含JVM实现和Java API。

Java HotSpot 虚拟机

 每种JVM实现可能采用不同的方法实现垃圾回收机制。在收购SUN之前,Oracle使用的是JRockit JVM,收购之后使用HotSpot JVM。目前Oracle拥有两种JVM实现并且一段时间后两个JVM实现会合二为一。

HotSpot JVM是目前Oracle SE平台标准核心组件的一部分。在这篇垃圾回收教程中,我们将会了解基于HotSpot虚拟机的垃圾回收原则。

JVM体系结构

下面图片总结了JVM的关键组件。在JVM体系结构中,与垃圾回收相关的两个主要组件是堆内存和垃圾回收器。堆内存是内存数据区,用来保存运行时的对象实例。垃圾回收器也会在这里操作。现在我们知道这些组件是如何在框架中工作的。

Java堆内存

我们有必要了解堆内存在JVM内存模型的角色。在运行时,Java的实例被存放在堆内存区域。当一个对象不再被引用时,满足条件就会从堆内存移除。在垃圾回收进程中,这些对象将会从堆内存移除并且内存空间被回收。堆内存以下三个主要区域:

                1、新生代(Young Generation)

                        Eden空间(Eden space,任何实例都通过Eden空间进入运行时内存区域)

                        S0 Survivor空间(S0 Survivor space,存在时间长的实例将会从Eden空间移动到S0 Survivor空间)

                        S1 Survivor空间 (存在时间更长的实例将会从S0 Survivor空间移动到S1 Survivor空间)

                2、老年代(Old Generation)实例将从S1提升到Tenured(终身代)

                3、永久代(Permanent Generation)包含类、方法等细节的元信息

永久代空间中已经被移除。

转载于:https://www.cnblogs.com/WPF0414/p/9807516.html

你可能感兴趣的文章
linux 中是否为integer 判断
查看>>
定时自动执行SQL存储过程(图文详解)
查看>>
R语言的包管理功能
查看>>
工厂模式
查看>>
JupyterHub on Kubernetes--定制用户环境
查看>>
sed
查看>>
不以成败论战略
查看>>
我的友情链接
查看>>
一个开源系统的架构分析
查看>>
系统基本功能
查看>>
der pem cer crt key pfx等概念及区别
查看>>
我的友情链接
查看>>
flume-ng 1.5.0安装部署
查看>>
http长连接与短连接
查看>>
数据库中快速备份一个表的数据,或者只备份表结构
查看>>
vue-cli
查看>>
文件处理
查看>>
代码调试包Infragistics Windows Forms Test Automation发布v16.1|附下载
查看>>
我的友情链接
查看>>
Android中自定义样式与View的构造函数中的第三个参数defStyle的意义
查看>>