java中的堆栈
栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
堆:存放所有new出来的对象。
常量池:存放字符串常量和基本类型常量(public static final)
栈和常量池中的对象可以共享,堆中的对象不可以共享。
栈中的数据大小和生命周期是可以确定的,当没有引用指向数据时,这个数据就会消失。堆中的对象由垃圾回收器负责回收,因此大小和生命周期不需要确定,具有很大的灵活性。
简单的例子:
- String s1 = "china";
- String s2 = "china";
- String s3 = "china";
- String ss1 = new String("china");
- String ss2 = new String("china");
- String ss3 = new String("china");
Java有序链表
链表的概念:https://www.cnblogs.com/782687539-nanfu/p/10333031.html