JVM Performance

  • jvm
    • JIT
      • class loader (.class file is byte code)
        • load
          • bootstrap class loader (rt.jar, internal, the most basic)
          • extension class loader (jre/lib/ext)
          • application class loader (classpath, ~cp?)
        • link
          • verify
          • prepare (allocate memory for class, not instance, and set to default value only)
          • resolve (reference to the real reference instead of symbol)
        • initialize
          • assign real value to variable
      • execution engine
    • runtime data
      • method area (-XX:MaxPermSize)
        • class data
        • permanent generation heap
        • default 64MB
        • =》 metaspace in java 8, there is no limit by default
        • per JVM
      • heap (-Xms  (min), -Xmx (max))
        • for object data
        • per JVM
      • java stacks (-Xss)
        • per thread
      • PC register
        • program counter
        • per thread
      • native method stacks
        • per thread
    • Execution engine
      • interpreter
      • hotspot profiler
      • JIT compiler
      • gc
  • what to be tuned for jvm?
Advertisements
This entry was posted in Performance. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s