Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Jvm fundamentals

1 308 vues

Publié le

Basic slides about some of the news

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Jvm fundamentals

  1. 1. Java Fundamentals
  2. 2. Java 7: Project CoinImproved exception handlingStrings as switch selectorsDiamond syntaxTWR (Try With Resource)Some more . . .
  3. 3. Java 7: NIO.2Easy handling of files ,file systemsand permissionsNew file visitor interface to traversefilesystemsWatch servicesThe most important one: asynchronousI/O: Futures style and callback style
  4. 4. Dependency Injection
  5. 5. Quick introInversion of Control and DependencyInjectionJSR-330Some examples
  6. 6. Modern Concurrency
  7. 7. Basic Concepts (to becompleted)SafetyLivenessPerformanceReusability
  8. 8. Building blocks (I)Atomic classLocksCountdownLatchConcurrent HashMapCopyOnWriteArrayList
  9. 9. Building blocks (II)QueuesBlocking queuesTransferQueues (added in Java 7)Thread executorsFutures
  10. 10. ForkJoin frameworkMaximize processing capabilitiesSubtasks communicating each otherMap-Reduce (divide and conquer) Split Collect
  11. 11. Classfiles and bytecode
  12. 12. Classloading Loading Reading the classfile Linking Verification Preparation Resolutiou
  13. 13. Classloaders Bootstrap classloader Usually native code Extension classloader Standard extensions Application classloader Application classes
  14. 14. Method handles New API for invoking methods What is a MethodHandle? Comparative example Why choose them? Full access to all methods (context) Typesafe at runtime. No extra permgen
  15. 15. Understanding classfiles Binary blobs Hard to work with it directly A quick intro to javap Examining classfiles
  16. 16. A quick look to bytecode Intermediate representation Output from javac (not highly optimized) JIT compiler will optimize it!
  17. 17. A quick look to bytecode Runtime environment Stack based Overview of the opcodes: structure Name Args Stack Layout Description
  18. 18. A quick look to bytecode Load/Store opcodes Arithmetic opcodes Control execution opcodes Invocation opcodes Platform operations
  19. 19. A quick look to bytecode To be completed with . . . New invokedynamic bytecode
  20. 20. Coming soon . . .
  21. 21. Coming soon . . . Understanding performance Polyglot programming Alternative JVM languages Unit testing, TDD, CI More on modern concurrency Actors, STM