- String类的对象能被修改吗?如果不能需要用什么修改?StringBuilder和StringBuffer的区别?
- equals和==区别
- 谈谈对面向对象的理解
- 重载和重写的区别
- 说一下ArrayList,LinkedList底层实现以及区别
- 什么是哈希冲突?
- hashMap和conCurrentHashMap的区别
- hashcode() 与 equals() 的区别与联系
- 快排的思想
- 什么是死锁?怎么解决?
- MySQL事务的四大特性
- varchar和char的区别?里面的参数代表什么?
- 讲一下数据库的索引(什么是索引?索引的基本原理 索引类型 索引的优缺点)
- 三次握手
- 建立连接可以两次握手吗,为什么不可以?
- TCP、UDP的区别
- 垃圾回收的算法有哪些?
- wait()和sleep()的区别
- volatile关键字
4
重载(Overloading)指的是在同一个类中,可以定义多个方法具有相同的名字,但是参数列表不同(参数类型、个数或顺序)。在调用这些方法时,编译器会根据传入的参数来选择最匹配的方法进行调用。通过方法重载,可以实现一组功能类似但参数不同的方法。
重写(Overriding)指的是子类重新定义(覆盖)其父类中具有相同签名的方法。在继承关系中,当子类需要改变父类的方法实现时,可以使用方法重写。子类的访问权限修饰符不能比父类更严格。重写的方法具有相同的方法名、返回类型和参数列表,子类可以通过重写方法来提供特定于子类的实现。
17
http://t.csdnimg.cn/ZJOz5http://t.csdnimg.cn/ZJOz5
引用计数:通过跟踪每个对象被引用的次数来确定何时释放内存。当对象的引用计数减为0时,表示没有指针指向该对象,可以安全地释放内存。
标记-清除(Mark and Sweep):该算法分为两个阶段。首先,通过根对象(如全局变量、栈中的变量等)标记所有可达对象。然后,清除未被标记的对象,并将它们的内存释放。
复制(Copying):将内存空间划分为两个区域,通常称为"From"和"To"。在使用过程中,对象存储在"From"区域,当触发垃圾回收时,将存活的对象复制到"To"区域中,随后清除"From"区域中的所有对象。
标记-压缩(Mark and Compact):结合了标记和清除以及对象移动,首先标记所有可达对象,然后将存活对象向一端移动,并清理掉不再使用的内存,从而压缩可用内存空间。
分代(Generational):基于观察,大多数对象很快就会变得不可达。该算法将对象根据其生命周期分为不同代,新创建的对象放入新生代,经过多次回收后仍然存活的对象会被晋升到老年代。
12.
char用于存储固定长度的字符串,如果实际存储的字符串长度小于指定的长度会在后面使用空格进行填充。例如,如果你定义一个CHAR(