String 的不可变性
String s = "abcd";
s = s + "ef"
equals和hashCode的关系
hashCode的设计是用来改善性能,equals和hashCode的关系如下:
- 如果两个对象的equals相等,它们必须要有相等的hashCode。
- 如果两个对象的hashCode相等,它们的equals不一定相等。
java异常类层次关系图
下图中的红色表示的是检查型异常(在编译器做检查),在Java方法中必须被捕获或者用throws语句进行定义。
java中集合类层次关系图
注意,下图中的Collection和Collections的区别
java 的同步机制
java的同步机制可以通过类比医院的诊所,如下图所示。
java中的堆和栈
下图展示了java运行时的对象和方法的数据结构