Java 内存分配

静态储存区:全局变量,static 内存在编译的时候就已经分配好了,并且这块内存在程序运行期间都存在。

栈储存区:1,局部变量。2,,保存类的实例,即堆区对象的引用。也可以用来保存加载方法时的帧。函数执行结束后,这些在栈储存区的存储单元都会被释放。《栈储存区的内存分配是通过处理器的集中指令,效率高,但是容量有限》

堆储存区:动态内存分配。对象是创建在堆存储区上的。常量池:JVM为每个已加载的类型维护一个常量池,常量池就是这个类型用到的常量的一个有序集合。包括直接常量(基本类型,String)和对其他类型、方法、字段的符号引用。池中的数据和数组一样通过索引访问。由于常量池包含了一个类型所有的对其他类型、方法、字段的符号引用,所以常量池在Java的动态链接中起了核心作用。常量池存在于堆中

 

posted @ 2018-08-20 10:52  Chris,Cai  阅读(132)  评论(0编辑  收藏  举报