via: http://www.programcreek.com/2013/09/top-8-diagrams-for-understanding-java/
1. String Immutability
The following diagram shows what happens for the following code:
String s = "abcd";
s = s.concat("ef");
2. The equals() and hashCode() Contract
HashCode is designed to improve performance. The contract between equals() and hasCode() is that:
1. If two objects are equal, then they must have the same hash code.
2. If two objects have the same hashcode, they may or may not be equal.
3. Java Exception Class HierarchyRed colored are checked exceptions which must either be caught or declared in the method’s throws clause.
4. Collections Class Hierarchy
Note the difference between Collections and Collection.
5. Java synchronization
Java synchronization mechanism can be illustrated by an analogy to a building.
6. AliasingAliasing means there are multiple aliases to a location that can be updated, and these aliases have different types.
7. Stack and HeapThis diagram shows where methods and objects are in run-time memory.
8. JVM Run-Time Data AreasThis diagram shows overall JVM run-time data areas.