Java

doc & reference

 * http://howtodoinjava.com/ - how to do in java. A very good guy who share lots of his experience
 * http://www.mkyong.com/ - Another site which you can find java dev experience
 * http://www.careercup.com/ - career cup. A site you can find interview questions.

Singleton

 * http://www.infoq.com/cn/articles/double-checked-locking-with-delay-initialization - singleton double check locking and lazy initialize
 * http://en.wikipedia.org/wiki/Singleton_pattern#Lazy_initialization

static synchronized method
It's roughly equals
 * 1) difference between static synchronized method and non-static synchronized method
 * The lock objects are difference between static synchronized method and non-static synchronized method. Static synchronized method lock object is class object (lock object: FooClass.class), non-static synchronized lock object is instance object (lock object: this).

HashMap

 * http://howtodoinjava.com/2012/10/09/how-hashmap-works-in-java/ - how HashMap work in java
 * http://howtodoinjava.com/2012/10/09/working-with-hashcode-and-equals-methods-in-java/ - working with equals, hashCode in java

Generics

 * Add compile time type safe
 * Elimination drudgery class casting

old style:

new style:

Enhance for Loop

 * The new enhanced for loop provides a simple, consistent syntax for iterating over collections and arrays.

old style: 

new style:


 * some limitation of enhance loop, some time we need index and iterator

example need index:

example need iterator: 

Auto Boxing/ Auto un-boxing

 * auto conversion between primitives and wrappers

Type safe Enums
old style:
 * Enums are type safe.
 * Enums are Serializable and Comparable by default
 * Programmers doesn’t require to do extra work of implementing toString, equals and hashCode. Enums provide implementation of these by default.
 * Programmers can use Enums in switch-case statements.
 * Enums are permitted to implement to interfaces.

new style:

Varargs

 * Variable size argument lists for method

Annotation (metadata)

 * attach extra information about code
 * compiler check
 * code analysis

static import

 * avoiding qualifying static members

formated output

 * printf, String.format;

a Iterator with predicate
https://github.com/yren/java-basic/blob/master/src/main/java/com/lokvin/basic/FilterIterator.java
 * FilterIterator in commons cllection

java finalize method

 * http://howtodoinjava.com/2012/10/31/why-not-to-use-finalize-method-in-java/

java enum

 * http://javahowto.blogspot.com/2008/04/java-enum-examples.html - a doc about enum
 * http://www.mkyong.com/java/java-enum-example/ - an example of enum constructor

java annotation

 * http://en.wikipedia.org/wiki/Java_annotation
 * http://javapapers.com/core-java/java-annotations/

java reflection & introspection

 * http://www.blogjava.net/191499719/archive/2008/07/03/212325.html - a blog about reflection
 * http://docs.oracle.com/javase/tutorial/reflect/TOC.html - reflection
 * http://web.archive.org/web/20090226224821/http://java.sun.com/docs/books/tutorial/javabeans/introspection/index.html - introspection

Decorator design pattern

 * http://javapapers.com/design-patterns/decorator-pattern/

java anonymous inner class

 * http://www.beingjavaguys.com/2013/10/what-is-anonymous-class-in-java.html

apache commons beanutils

 * http://commons.apache.org/proper/commons-beanutils/apidocs/org/apache/commons/beanutils/package-summary.html#package_description - user manual for beanutils

apache commons lang

 * http://commons.apache.org/proper/commons-lang/userguide.html - commons lang user guide

java performance

 * http://java-performance.com/

java default char encoding

 * http://javarevisited.blogspot.com/2012/01/get-set-default-character-encoding.html

arrow operation, lambda

 * http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
 * http://vanillajava.blogspot.com/2014/09/lambdas-and-side-effects.html

java8 features

 * https://www.jianshu.com/p/5b800057f2d8