IDEA中怎么设置项目更改后的分析延迟时间,IDEA是java编程语言的集成开发环境,使用该软件编写代码时,可以设置项目更改后的分析延迟时间,这样就可确保项目范围分析的正确性,具体的操作步骤如下。......
2023-07-04 628 JAVA
衔接上篇,这篇继续介绍JVM的内存分布
虚拟机栈(线程私有)
堆(Heap线程共享)运行时数据区
方法区/永久代(线程共享)
java堆内存从GC的角度还可以细分为:新生代和老年代。下图为堆内存的划分
新生代: 用来存放新生的对象。一般占据堆的1/3的空间。由于频繁创建对象,所以新生代会频繁的触发minorGC进行垃圾回收。新生代又分为Eden 、Form
survivor、To survivor三个区
Eden区:java新对象的出生地(如果新创建的对象占用内存很大,会直接分配到老年代)。当Eden区内存不够的时候会触发Minor GC,对新生代进行一次垃圾回收。
Form survivor区 :上一次GC的幸存者,作为这一次GC的被扫描者。
To survivor区:保留了一次Minor GC过程中的幸存者。
老年代:主要存放应用程序中生命周期长的内存对象。
元数据区(元空间):在JAVA8中,永久代已经被移除,被元空间所替代。元空间的本质和永久代相似,元空间和永久代之间的区别在于元空间不在虚拟机中,而是使用本地内存。因此,默认情况下,元空间的大小仅受本地内存限制。
类的元数据放入native memory,字符串池和类的静态变量放入java堆中,这样加载多少类的元数据就不再由MaxPermSize控制,而由系统的实际可用空间来控制。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: JAVA
相关文章
IDEA中怎么设置项目更改后的分析延迟时间,IDEA是java编程语言的集成开发环境,使用该软件编写代码时,可以设置项目更改后的分析延迟时间,这样就可确保项目范围分析的正确性,具体的操作步骤如下。......
2023-07-04 628 JAVA
IDEA中怎么设置调试器最近表达式的最大数量,IDEA是java编程语言的集成开发环境,使用该软件编写代码时,可以设置调试器最近表达式的最大数量,从而有效避免调试器中表达式存储过多。......
2023-07-04 448 JAVA