内存

标签: 内存

Java内存划分情况

(1)栈区:具有先进后出后进先出的机制。函数或代码块 都加载到栈区。它里面定义的变量都属于局部变量。 当代码块执行完成后,这些变量空间被释放。 (2)堆区:只进不能自动清除。一般动态分配的内存 在这个区中。new关键字产生的内存空间就属于动态内存 分配的空间。这部分空间,如同c中用malloc分配的动态 空间或c++中用new分配的动态空间,他们的释放必须程序员 用free或者是delete进行收工释放。java中用垃圾回收器 程序自动释放无用内存。 (3)常量区和全局变量区: public static或者是public final修饰的变量。这个区域的内存空间,在结束进程时释放。 (4)字符串常量池: String str1=”hello” String str2=”nihao”; String str3=”hello”; 字符串常量池中不允许有重复的字符串常量值。

阅读全文...