Java基础总结
前文:
Java中,有大量的概念很容易混淆,通过图表让思路更加清晰,面试常考。
一、基础概念
1. 面向对象和面向过程的区别
2. Java 语言有哪些特点
3. Java和C++的区别
4. JDK 和 JRE
5.Oracle JDK 和 OpenJDK 的对比
6. 应用程序和小程序的主类
二、面向对象
1. Java 面向对象编程三大特性
2. 重载和重写的区别
注:构造器不能重写原因:父类的私有属性和构造方法并不能被继承
3.构造方法特性
4.没有参数的构造器
5. 接口和抽象类的区别
6. 成员变量与局部变量的区别
7.静态变量和实例变量的区别
三、语法判断
1. == 与 equals
2.hashCode
3. 重写equals方法
四、克隆与序列化
1. clone
2.实现克隆
3.序列化
4.字节流和字符流的区别
五、final与String
1、final
注:finalize不定期调用,最好使用final关闭资源。
2.String StringBuffer 和 StringBuilder 的区别
注:字符串的”+“操作其本质是创建了 StringBuilder 对象进行 append 操作,然后将拼接后的 StringBuilder 对象用 toString 方法处理成 String 对象。
3.switch
六、异常
1.异常类型
2. 异常处理
3.throw 和 throws 的区别
七、其他相关概念
1.反射:动态地获取类的信息以及调用对象属性、方法。
2.CAS:CompareAndSwap(比较并替换),常用于并发包
(1)核心为3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。
(2)原子性操作:当CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。