美文网首页
JVM内容介绍

JVM内容介绍

作者: 出顾茅芦 | 来源:发表于2020-03-25 23:20 被阅读0次

简单的总结一下JVM的主要的框架结构

永久代是Hotspot虚拟机特有的概念,是方法区的一种实现,别的JVM都没有这个东西。在Java 8中,永久代被彻底移除,取而代之的是另一块与堆不相连的本地内存——元空间。 

永久代或者“Perm Gen”包含了JVM需要的应用元数据,这些元数据描述了在应用里使用的类和方法。注意,永久代不是Java堆内存的一部分。永久代存放JVM运行时使用的类。永久代同样包含了Java SE库的类和方法。永久代的对象在full GC时进行垃圾收集。

Eden Space:堆内存池,大多数对象在这里分配内存空间。

Survivor Space:堆内存池,存储在Ede Space的gc中存活下来的对象。

Tenured Generation:堆内存池,存储SurvivorSpace中存活几次gc对象。

Code Cache:非真堆空间,JVM用来存储编译和存储native code.

虚拟机栈是线程隔离的,即每个线程都有自己独立的虚拟机栈。

JVM会为每个线程的虚拟机栈分配一定的内存大小(-Xss参数),若单个线程请求的栈深度大于虚拟机允许的深度,则会抛出StackOverflowError(栈溢出错误)

本地方法栈的功能和特点类似于虚拟机栈,均具有线程隔离的特点以及都能抛StackOverflowError和OutOfMemoryError异常,不同的是,本地方法栈服务的对象是JVM执行的native方法,而虚拟机栈服务的是JVM执行的java方法。

JDK8正式去除"永久代",换成Metaspace(元空间)作为JVM虚拟机规范中方法区的实现。

元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。因此,默认情况下,元空间的大小仅受本地内存限制,但仍可以通过参数控制:-XX:MetaspaceSize与-XX:MaxMetaspaceSize来控制大小。

相关文章

  • JVM内容介绍

    简单的总结一下JVM的主要的框架结构 永久代是Hotspot虚拟机特有的概念,是方法区的一种实现,别的JVM都没有...

  • JVM 介绍

    本文介绍了JVM相关知识。内容仅供参考使用,有不足之处请及时指出,也欢迎大家交流探讨。 JVM JVM是Java ...

  • Java开发

    JVM 内存溢出实例 - 实战 JVM(二) 介绍 JVM 内存溢出产生情况分析Java - 注解详解 详细介绍 ...

  • Java开发必须要掌握的21个核心技术

    这次介绍的主要内容是和J2SE相关的部分 1. JVM相关(重点) 对于刚刚接触Java的人来说,JVM相关的知识...

  • Java开发必须要掌握的21个核心技术

    这次介绍的主要内容是和J2SE相关的部分 1. JVM相关(重点) 对于刚刚接触Java的人来说,JVM相关的知识...

  • JVM性能调优

    JVM性能调优 JVM性能监控工具介绍

  • JVM介绍

    1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计...

  • jvm介绍

    day1 jconsole:java监视和管理控制台image.png jvisualvm:javaVisualV...

  • JVM介绍

    百度百科 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范...

  • (一)JVM运行机制——启动流程

    最近重新学习了JVM,从源码角度来深入理解JVM,后续将分多个章节对JVM进行介绍。 这边主要介绍JVM的启动流程...

网友评论

      本文标题:JVM内容介绍

      本文链接:https://www.haomeiwen.com/subject/eibfuhtx.html