jdk11 非堆内存 增大
时间: 2023-08-09 15:12:05 浏览: 128
根据引用[2]和引用[3]的内容,Java虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。而非堆内存(Non-heap memory)是指在JVM中堆之外的内存。在JDK11中,非堆内存的增大可能是由于以下几个原因之一:
1. 运行时常量池的增大:JVM8中把运行时常量池移到堆区进行存储,因此在JDK11中,如果运行时常量池的大小增大了,非堆内存也会相应增大。
2. 静态变量的增多:静态变量也是存储在堆区的,如果在JDK11中使用了更多的静态变量,非堆内存的大小也会相应增大。
3. 垃圾回收器的调整:JDK11可能对垃圾回收器进行了调整,导致非堆内存的大小增大。
需要注意的是,非堆内存的增大并不一定意味着内存泄漏或者性能问题,它可能是根据应用程序的需求进行的优化。如果您遇到了非堆内存增大的情况,可以通过调整JVM参数或者检查应用程序的代码来进行优化和排查问题。
相关问题
设置jdk最大堆内存
要设置JDK的最大堆内存,可以使用JVM参数“-Xmx”,后面跟随要分配的内存大小。例如,如果要将最大堆内存设置为2GB,则可以使用以下命令:
```
java -Xmx2g myprogram
```
其中,“myprogram”是要运行的Java程序的名称。需要注意的是,分配给JDK的最大堆内存应该根据系统的实际情况进行调整,以确保程序能够在可接受的内存限制下运行。
JDK1.8堆内存结构?
JDK1.8堆内存结构包括新生代、老年代和元空间。其中新生代又分为一个Eden区和两个Survivor区。在JDK1.8之前,永久代代替的是元空间,用于存储类的相关信息。而在JDK1.8中,永久代被移除,元数据信息转移到了元空间中。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)