java的存储分配
2016-03-23 16:01
295 查看
java程序在内存中的存储分配情况:
堆区:
1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)
2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身
栈区:
1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。
3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。
方法区:
1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
堆区:
1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)
2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身
栈区:
1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。
3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。
方法区:
1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。
2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。
相关文章推荐
- Eclipse Java常用快捷键(Eclipse Shortcut Keys for Java Top10)
- Struts-default.xml中拦截器个数
- Java之ByteArrayInputStream和ByteArrayOutputStream-操作字节数组的类
- spring aop,java动态代理
- java中深拷贝和浅拷贝区别
- java中的静态代码块、构造代码块、构造方法详解
- JAVA语法基础
- 如何查看安装的java是32位的,还是64位的
- spring事务的隔离级别和传播属性
- java操作sqlserver存储过程
- myeclipse java类报错而项目不报错
- java中的自增问题介绍
- java Map转换为实体类
- HDU2029JAVA
- java中String类型变量的赋值问题介绍
- JAVA字符串格式化String.format()的使用
- java9.0到来
- struts2.2.1.1配置教程
- java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/Co
- Spring