图显示了下面的代码发生了什么事情。
Java代码
String s = "abcd";
s = s.concat("ef");
http://dl2.iteye.com/upload/attachment/0089/5446/018f1aa5-bcee-3a92-b292-cb9ece59c4ea.jpeg
2. equals()和
hashCode()的关系
equals()和hashCode() 都是用来判断两个对象是否相等。两者之间的关系是:
如果两个对象是相等(equal)的,那么它们一定具有相同的哈希码(hashcode)
如果两个对象具有相同的哈希码,它们可能相等,也可能不相等(equal)。
http://dl2.iteye.com/upload/attachment/0089/5448/aef82418-cb1f-3abf-9ff6-3bdb6fa47d4f.jpeg
3. Java
异常类的层次结构
下图中红色部分的异常必须在方法的throws子句中被捕获或声明。
http://dl2.iteye.com/upload/attachment/0089/5464/0b5e2aae-0853-3ef2-984c-14f2787572a0.jpeg
4.
集合类的层次结构
注意Collections和Collection之间的不同。
http://dl2.iteye.com/upload/attachment/0089/5470/5435d17b-37ec-3539-8d26-81eea531304a.jpeg
5. Java
同步
Java同步机制可以通过一个建筑物比喻来说明。
http://dl2.iteye.com/upload/attachment/0089/5454/ca7031a7-444b-3b86-945e-65bb48a6e1f6.jpg
6. 别名(Aliasing)
别名(Aliasing)意味着可以为一个位置应用不同的别名,这些别名可以有不同的类型。
http://dl2.iteye.com/upload/attachment/0089/5456/948d973a-6f2a-3980-8741-f0101dcdaf05.jpeg
7. 栈和堆
下图显示了方法和对象在运行时
内存中的情况。
http://dl2.iteye.com/upload/attachment/0089/5476/67ff1cfb-9eeb-3ad1-916d-088307d1e94e.png
8.
JVM运行时数据区
下图显示了整个JVM运行时数据区。
http://dl2.iteye.com/upload/attachment/0089/5474/18e58bcc-bb9c-311b-b04c-42145858fb84.jpg