int million = 1_000_000; long creditCard = 1234_5678_9012_3456L; Binary Literals int mask = 0b1010_0101; // prefix 0b or 0B 2. New File I/O (NIO.2) – java.nio.file Replaced legacy File class.
// Before: Map<String, List<String>> map = new HashMap<String, List<String>>(); Map<String, List<String>> map = new HashMap<>(); // Diamond Strings in switch String day = "MONDAY"; switch (day) case "MONDAY": System.out.println(1); break; case "TUESDAY": System.out.println(2); break; default: System.out.println(0); java 7
For parallel processing (divide and conquer). WatchService watcher = FileSystems
WatchService watcher = FileSystems.getDefault().newWatchService(); Path dir = Paths.get("/tmp"); dir.register(watcher, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_DELETE); WatchKey key = watcher.take(); for (WatchEvent<?> event : key.pollEvents()) System.out.println("Event: " + event.kind() + " on " + event.context()); Path dir = Paths.get("/tmp")
(file system events)
class MyRecursiveTask extends RecursiveTask<Long> private long workload; MyRecursiveTask(long w) workload = w; protected Long compute() if (workload < 2) return workload; MyRecursiveTask subtask = new MyRecursiveTask(workload - 1); subtask.fork(); return workload + subtask.join();