Java 8# Java™ Platform Standard Ed. 8 JDK, JRE, JVM, JSE, JEE, JME References Java 8 Tutorial Overview Lambda Expressions Method References Functional Interfaces Default Methods Streams Optional Class Nashorn JavaScript New Date/Time API Base64 References Lambda Runnable Example Collections Comparator Example Listener Example References CompletableFuture Callbacks and Chaining allOf Exception Handling Tests References javap Synopsis Description Options Example References Java Instrumentation Introduction Key Components What Is a Java Agent Loading a Java Agent Creating a Java Agent References ASM Introduction ASM API Basics Working With the Event-based ASM API Using the Modified Class References Javassist Tutorial 1. Reading and writing bytecode 2. ClassPool 3. Class loader 4. Introspection and customization 5. Bytecode level API 6. Generics 7. Varargs 8. J2ME 9. Boxing/Unboxing 10. Debug Results References Javassist/ASM Audit Log Audit Log Example Where do we actually modify the bytecode? How do we modify the bytes using Javassist? How do we modify the bytes using ASM? Differences References