简言
你好! 码农,让我看到你在改变
第一章
-
Java 中的堆和栈 详解
Java把内存划分成两种:一种是栈内存,一种是堆内存。-
栈:一般存放基本类型的变量和对象的引用变量,存取速度块,栈数据可以共享;存在栈中的数据大小与生存期必须是确定的,超过变量的作用域后,Java 会自动释放掉为改变量分配的内存空间。
-
堆:的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
-
-
== 和 equals 区别
基础类型的比较:使用==比较值是否相等。
引用类型的比较:
- 没有重写 equals 方法
- ==和equals比较的都是引用是否指向了同一块内存
- 重写了 equals 方法 如 String
- 使用equals比较的是String的引用的对象内用是否相等。
- 使用==比较的是String的引用是否指向了同一块内存