Java面向对象内存分析
内存分为3个区域
1)栈stack:方法执行的内存模型,每个方法调用都会创建一个栈帧(用于存储局部变量,操作数),JVM(虚拟机)为每个线程创建一个栈,用于存储该线程执行的方法信息,栈属于线程私有,不能实现线程共享,其特点为:先进后出,后进先出,栈是一个连续的存储空间,由系统自动分配,
(2)堆heap:1:用于存储创建好的(多个对象)对象和数组(数组也是对象)2:JVM只有一个堆,被所有的线程共享,3:对是一个不连续的内存空间,分配灵活,速度慢。
**(3)方法区method area(又叫静态区)**1:JVM只有一个方法区被所有的线程共享。2:方法区是实际上也是堆只是用来存储类,常量相关的信息,3:用来存放程序中永远不变的唯一内容(静态常量,字符串常量等)
Java面向对象内存分析
最新推荐文章于 2024-10-05 12:07:50 发布