• 招生咨询热线:4008-569-579 
  • 手机版
    用手机扫描二维码直达商品手机版
招生咨询热线
4008-569-579
机构主页 > 培训资料 > Java培训:jvm内存组件,你了解多少
机构主页 > 培训资料>Java培训:jvm内存组件,你了解多少

Java培训:jvm内存组件,你了解多少

来源:广州达内教育        时间:2023-05-30        热度:109℃        返回列表

  JVM使用的内存不仅仅是堆。例如,Java方法、线程堆栈和本机句柄在内存中与堆以及JVM内部数据结构分开分配。若想要更加系统更加详细的学习

JVM 知识,建议参加java培训,有经验丰富的专业讲师面授指导教学,能够帮你更全面了解JVM。


  -Xmx参数的值控制Java堆的最大大小,Java堆不是JVM分配的唯一内存。除了永久性生成或metaspace(基于java,从JDK

8起,meta

Space就在那里),CodeCache,其他JVM内部使用的本机C++堆,线程堆栈的空间,直接字节缓冲区,GC开销,以及JVM内存消耗中包含的其他东西。


  以下是一些其他JVM内存组件:


  metaspace(元空间)


  JDK 8之前的HotSpot

JVM有第三种类型的生成,称为永久生成,它与Java堆相邻。它包含JVM用来描述应用程序中使用的类和方法的元数据。从JDK

8开始,Permanent被一个称为metaspace的新空间所取代,该空间与Java堆不相邻。metaspace是从本机内存中分配的。MaxmetaspaceSize参数限制JVM中metaspace的使用。默认情况下,metaspace没有限制,它以非常小的默认值开始,并根据需要以较小的增量增长。metaspace只包含类元数据,所有活动Java对象部分都被移动到堆内存中,因此metaspace的使用率远低于永久生成。通常,无需指定最大metaspace大小,除非面临较大的metaspace泄漏。在java培训中,也有关于JVM内存的学习,学好这部分的知识,可以避免在工作中出现的很多问题。




  CodeCache


  CodeCache是包含JVM生成的本机代码的内存区域。JVM生成本机代码的原因有很多。这些原因包括动态生成的解释器循环、JNI存根和由JIT编译器编译成本机代码的Java方法。JIT编译器贡献了大部分代码缓存区域。


  ThreadStackSize/Xss


  -XX:ThreadStackSize=size设置线程堆栈大小(以字节为单位)。附加字母k或K表示千字节,m或M表示兆字节,或g或G表示千兆字节。Xss的默认值取决于您运行的操作系统和体系结构。此选项相当于-Xss。


  JVM一向很好的帮我们管理内存,它是Java程序运行的环境,同时是一个操作系统的一个应用程序进程,因此它有自己的生命周期,也有自己的代码和数据空间。参加java培训学习,可以在短时间内获得很大提升,避免在学习上多走弯路,节省时间,提高学习效率。

电话咨询

电话咨询

咨询电话:
4008-569-579
回到顶部

回到顶部