jdk8之后使用元空间代替永久代来作为方法区的实现,那么为什么要这样呢?
1、硬件的发展,电脑从32位发展到了64位,在32位电脑中内存的最大容量为2^32bit,也就是4G,此时若是将方法区放在物理内存上势必造成空间紧缺,而64位中除去16位的保留位,剩下的可支持内存仍是非常大的,此时就考虑将方法区的实现放在物理内存了
2、Java的发展,比如Spring的启动就需要加载大量的类,若是还将方法区放在堆中,就会对堆的内存管理造成负担
对于jdk8之后使用元空间取代永久代的理解
最新推荐文章于 2023-11-26 17:54:34 发布
随着硬件从32位向64位的过渡,JDK8开始使用元空间替代永久代作为方法区的实现。这一改变解决了32位系统中内存限制的问题,并减轻了大量类加载对堆内存的压力,尤其对于依赖大量类库如Spring的现代应用来说,这一优化显著改善了性能和内存管理效率。
摘要由CSDN通过智能技术生成