Java如何管理内存?
我试图发现Java如何管理内存。
我正在学习内存的哪个部分保存静态方法和静态变量。 他们说PermGen内存保存静态变量和静态方法,这是非堆内存的一部分(下图)。
但是,从我所了解到的情况来看,Java有堆栈段来存放局部变量,参数,引用,非void函数返回值等等,堆段包含对象和数组。 我已经阅读了许多关于这个主题的许多问答,并且有两种方式来解释它:
谁能帮助我更清楚地理解这一点。 如果内存分为两部分:堆栈在哪里? 如果内存分为3部分:哪部分包含静态方法和静态变量?
我会很感激得到你的帮助:D谢谢。
底线有两部分:
static
变量的所有对象,包括Class
类的实例。 在堆栈中,对象类型变量包含对存储在堆中的对象的引用。
堆栈用于执行线程。 它们包含特定于方法的值,这些值是短暂的,并引用堆中从该方法引用的其他对象。
堆内存用于为对象和Java运行时环境类分配内存。
更多
链接地址: http://www.djcxy.com/p/82867.html