本文主要对Java基础知识体系小结。
- Java 基础 - 基础小结图谱 & Q/A
- 参考文档
- 知识体系
- Q&A
- Java 中应该使用什么数据类型来代表价格?
- 怎么将 byte 转换为 String?
- Java 中怎样将 bytes 转换为 long 类型?
- 我们能将 int 强制转换为 byte 类型的变量吗? 如果该值大于 byte 类型的范围,将会出现什么现象?
- 存在两个类,B 继承 A,C 继承 B,我们能将 B 转换为 C 么? 如 C = (C) B;
- 哪个类包含 clone 方法? 是 Cloneable 还是 Object?
- Java 中 ++ 操作符是线程安全的吗?
- a = a + b 与 a += b 的区别
- 我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗?
- 3*0.1 == 0.3 将会返回什么? true 还是 false?
- int 和 Integer 哪个会占用更多的内存?
- 为什么 Java 中的 String 是不可变的(Immutable)?
- 我们能在 Switch 中使用 String 吗?
- Java 中的构造器链是什么?
- 枚举类
- 什么是不可变对象(immutable object)? Java 中怎么创建一个不可变对象?
- 我们能创建一个包含可变对象的不可变对象吗?
- 有没有可能两个不相等的对象有相同的 hashcode?
- 两个相同的对象会有不同的 hash code 吗?
- 我们可以在 hashcode() 中使用随机数字吗?
- Java 中,Comparator 与 Comparable 有什么不同?
- 为什么在重写 equals 方法的时候需要重写 hashCode 方法?
- “a==b”和”a.equals(b)”有什么区别?
- a.hashCode() 有什么用? 与 a.equals(b) 有什么关系?
- final、finalize 和 finally 的不同之处?
- Java 中的编译期常量是什么? 使用它又什么风险?
- 静态内部类与顶级类有什么区别?
- Java 中,Serializable 与 Externalizable 的区别?
- 说出 JDK 1.7 中的三个新特性?
- 说出 5 个 JDK 1.8 引入的新特性?
- 接口是什么? 为什么要使用接口而不是直接使用具体类?
- Java 中,抽象类与接口之间有什么不同?
- Object有哪些公用方法?
- equals与==的区别
- String、StringBuffer与StringBuilder的区别
- switch能否用String做参数
- 接口与抽象类
- 抽象类和最终类
- 异常
- 关于finally
- 受检查异常和运行时异常
- super出现在父类的子类中。有三种存在方式
- this() & super()在构造方法中的区别
- 构造内部类和静态内部类对象
- 序列化
- Java移位运算符
- 形参&实参
- 局部变量为什么要初始化
- Java语言的鲁棒性
大约 23 分钟