JVM内存有一些按不同标准划分的概念,这里来理清一下。

一、首先java虚拟机规范定义了java运行时数据区在概念上应该有的分区,这是抽象概念不对应也不限制物理上的具体实现,不同的虚拟机可以有不同的实现,但是在抽象上必须要有这些区。

二、说完了逻辑概念,再说虚拟机实现,在实现虚拟机的时候,考虑垃圾回收效率,将JVM内存划分为三块:元数据区,老年代,新生代;注意这里的分代概念和运行时数据区是两个不同层次和标准的概念,是两套概念。

使用jvisualvm.exe安装Visual GC插件后可以查看到如下各代使用情况,从左到右是:元数据区,老年代,新生代;新生代包含Eden(伊甸园)、S0(0号幸存区)、S1(1号幸存区);

1.新生代:Eden+S0+S1

2.老年代:OldGen

3.永久代(方法区的实现) : PermGen----->替换为Metaspace(本地内存中)

java运行时内存按抽象逻辑和内存回收实现上划分了两套概念,他们之间可以有一定的对应关系,但不是确定的,jdk8就将运行时常量池从永久代移除了。

JVM运行时内存概念-堆栈及新生代、老年代、持久代相关推荐

  1. [转]JVM运行时内存结构

    [转]http://www.cnblogs.com/dolphin0520/p/3783345.html 目录[-] 1.为什么会有年轻代 2.年轻代中的GC 3.一个对象的这一辈子 4.有关年轻代的 ...

  2. jvm中的年轻代 老年代 持久代 gc ----------转载

    jvm中的年轻代 老年代 持久代 gc 虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generation) ...

  3. java runtime类 heap_Java 进阶(一) JVM运行时内存模型

    1.JVM运行时数据区域的划分 a.程序计数器(Program Counter Register) 一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器.每个线程拥有独立的一个计数器,如果 ...

  4. 尝试用HSDB分析JVM运行时内存理解Java多态实现机制

    测试代码 // 接口 package ziya; public interface TestParent {void show(); }package ziya; public class Paren ...

  5. 在没有任何数据时进行无效的读取尝试。_技术转载——JVM运行时内存是怎么分布的?...

    写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:https://github.com/ ...

  6. 三年Java开发,你连基础的JVM运行时内存布局都忘了

    面:为什么要使用双亲委派机制去加载类? 答:避免多份同样字节码的加载,浪费内存. 类的加载方式 隐式加载:new 显示加载:loadClass.forName等 类的装载过程如下图: 面:loadCl ...

  7. JVM 运行时内存空间详解——元空间

    通过上一篇文章,我们大体了解了JVM的整体架构,其分为:元数据(JDK7是方法区).堆.虚拟机栈.本地方法栈.程序计数器几个部分. 本篇文章,咱们对元空间进行剖析,一探究竟. 1. 元空间介绍 在JD ...

  8. JVM运行时内存结构学习

    学习JVM运行模型比较重要,先看一幅图片: 运行时数据区(内存结构) :  1.方法区(Method Area) 类的所有字段和方法字节码,以及一些特殊方法如构造函数,接口代码也在这里定义.简单来说, ...

  9. JVM运行时内存分区

    什么是JVM?JVM概述--初识JVM(类加载器,垃圾回收器,执行引擎) 上一篇博客我们对jvm以及它的三个"部件"有了初步的认识,这一篇我们探讨一下源码经过编译.加载后这些数据被 ...

最新文章

  1. Android点赞音效播放
  2. 802.11协议基础
  3. php text留言本,PHP+TEXT留言本(五)
  4. mysql 临时索引_MYSQL临时表创建索引
  5. Spring的入门学习笔记 (注解)
  6. Python实践周 A卷 试题(不印刷)
  7. HMM条件下的 前向算法 和 维特比解码
  8. Spring Cloud 尚硅谷阳哥学习笔记,每一行代码均有解释,适合快速上手,并配合尚硅谷视频食用
  9. CAN总线波特率计算方法
  10. 让win10系统不进行自动更新的方法
  11. 读《好好学习:个人知识管理精进指南》
  12. 蒙特卡罗方法(Monte Carlo)
  13. 设置好DNS如何检测是是否正确正常通
  14. 计算机房的网络化管理,学校计算机房的设计与管理
  15. 《全程软件测试》读书心得
  16. 9.后台管理系统主页面布局以及左侧导航栏设计
  17. MATLAB下配置C和C++编译器(MinGW)
  18. php上传图片(腾讯云对象存储)
  19. y yun m_yun是y---un 组成 ,还是y----ün组成?
  20. HTTP Status 500 - Error instantiating servlet class com.oymn.web.LoginServlet

热门文章

  1. 【白皮书分享】2021消费者数智化运营白皮书.pdf(附下载链接)
  2. 【白皮书分享】站外种草白皮书.pdf(附下载链接)
  3. ubuntu修改用户的默认目录
  4. TSDF算法笔记(转)
  5. 知识图谱上的双塔召回:阿里的IntentGC模型
  6. python调用sdk接口_Python SDK使用说明
  7. 事务注解放到类上面 下面私有方法有效吗_【面试】足够应付面试的Spring事务源码阅读梳理(建议珍藏)...
  8. 要不要做独立站系统?做了有什么用?
  9. MAC终端命令学习(入门版)
  10. TensorFlow2.0:单层感知机梯度计算