zoukankan      html  css  js  c++  java
  • JVM Run-Time Data Areas--reference

    http://www.programcreek.com/2013/04/jvm-run-time-data-areas/

    This is my note of reading JVM specification. I draw a diagram which helps me understand.

    JVM runtime data area

    1. Data Areas for Each Individual Thread (not shared)

    Data Areas for each individual thread include program counter register, JVM Stack, and Native Method Stack. They are all created when a new thread is created.

    Program Counter Register: it is used to control each execution of each thread.
     
    JVM Stack: It contains frames which is demonstrated in the diagram below.

    Native Method Stack: it is used to support native methods, i.e., non-Java language methods.  

    2. Data Areas Shared by All Threads

    All threads share Heap and Method Area.

    Heap: it is the area that we most frequently deal with. It stores arrays and objects, created when JVM starts up. Garbage Collection works in this area.

    Method Area: it stores run-time constant pool, field and method data, and methods and constructors code。 

    Runtime Constant Pool: It is a per-class or per-interface run-time representation of the constant_pool table in a class file. It contains several kinds of constants, ranging from numeric literals known at compile-time to method and field references that must be resolved at run-time.

    JVM Stack

    Stack contains Frames, and a frame is pushed to the stack when a method is invoked. A frame contains local variable array, Operand Stack, Reference to Constant Pool.

    For more information, please go to the offical JVM specification site.

    References:
    1. JVM Specification – Run-Time Data Areas
    2. Java Bytecode Fundamentals

  • 相关阅读:
    jQuery 重新温习 遗忘知识点
    正则表达式获取博客园随笔1
    用django创建一个简单的sns
    WCF小实例以及三种宿主
    iOS: imageIO完成渐进加载图片
    Excel 菜单系统
    分布式EventBus的Socket实现
    Jenkins安装plugin
    邮件系统存储设计问答
    在Windows上使用CodeLite+MinGW+Clang进行开发
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3528820.html
Copyright © 2011-2022 走看看