Jvm fundamentals

1,200 views

Published on

Basic slides about some of the news

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,200
On SlideShare
0
From Embeds
0
Number of Embeds
72
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×