JDK Design