1. 【堆】和【栈】的数据结构:
[ 数据结构 ] 中的堆、栈是一种逻辑结构,因此是一种抽象的概念;而 [ 程序和进程 ] 中的堆、栈是一种存储结构,因而是一种“具体”或“物理”的概念;
堆是一种经过排序的【树形】数据结构,而栈是【线性】数据结构;
栈可以通过两种方式来实现:使用数组来实现栈,这种栈也称为静态栈;使用链表来实现栈,这种栈也称为动态栈。

2. 【堆】和【栈】的用途:
堆内存:存放new创建的【对象】和【数组】。(GC垃圾回收)
栈内存:存放【基本类型的变量】、【对象的引用(引用变量)】。(如何回收?)栈内存的速度要快于堆内存
注:Java的基本数据类型有8种:byte、short、int、long、float、double、char、boolean
注:Java 语言使用 final 关键字来定义一个常量;
基本类型常量(public static final)存放在常量池中 ;

3. “==” 和 equals() 的区别
“==”比较的是内存地址,equal比较的是内容本身
4. 应用示例

本文深入解析了计算机科学中的堆和栈两种数据结构。首先区分了它们作为逻辑结构和存储结构的不同含义,接着详细介绍了堆作为一种排序的树形结构,栈作为一种线性结构,并探讨了它们在程序中的实际应用,如对象的存储位置以及基本类型变量的存放等。
1556

被折叠的 条评论
为什么被折叠?



