Java 的内存分为两类,一类是栈内存,一类是堆内存。
栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。
堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用 new 创建的对象都放在堆里,所以,它不会随方法的结束而消失。方法中的局部变量使用 final 修饰后,放在堆中,而不是栈中。
相关问题
-
Java 集合类框架的基本接口有哪些?
1年前 0 276
-
HashSet 的底层实现是什么?
1年前 0 230
-
Comparable 和 Comparator 接口是干什么的?列出它们的区别。
1年前 0 225
-
Hashmap 什么时候进行扩容呢?
1年前 0 154
-
List、Map、Set 三个接口,存取元素时,各有什么特点?
1年前 0 308
-
LinkedHashMap 的实现原理?
1年前 0 118
-
数组 (Array) 和列表 (ArrayList) 有什么区别?什么时候应该使用 Array 而不是 ArrayList?
1年前 0 288
-
说说 ArrayList,Vector, LinkedList 的存储性能和特性。
1年前 0 255
-
快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么?
1年前 0 96
-
Collection 和 Collections 的区别。
1年前 0 283
-
HashSet 和 TreeSet 有什么区别?
1年前 0 266
-
Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是 equals()? 它们有何区别?
1年前 0 143
-
Iterator 和 ListIterator 的区别是什么?
1年前 0 101
-
ArrayList 和 Vector 的区别?
1年前 0 108
-
Hashmap 的数据结构。
1年前 0 283
-
Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用 == 还是 equals()?它们有何区别?
1年前 0 108
-
什么是迭代器 (Iterator)?
1年前 0 107
-
两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
1年前 0 260
-
HashMap 的工作原理是什么?
1年前 0 144
-
为什么集合类没有实现 Cloneable 和 Serializable 接口?
1年前 0 135