Java NIO2 learnings and sample applications