zoukankan      html  css  js  c++  java
  • JVM内存



    • 1 Class Loader类加载器
      负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定
    • 2 Native Interface
      本地接口的作用是融合不同的编程语言为 Java 所用,它的初衷是融合 C/C++程序,Java 诞生的时候是 C/C++横行的时候,要想立足,必须能调用 C/C++程序,于是就在内存中专门开辟了一块区域处理标记为 native的代码,它的具体做法是 Native Method Stack中登记 native方法,在Execution Engine 执行时加载native libraries。
      目前该方法使用的越来越少了,除非是与硬件有关的应用,比如通过 Java程序驱动打印机,或者 Java系统管理生产设备,在企业级应用中已经比较少见。
      因为现在的异构领域间的通信很发达,比如可以使用 Socket 通信,也可以使用 Web Service等等,不多做介绍。 (WebService:与平台无关,与语言无关的异构系统之间的通信与互访的调用。)
    • 3 Method Area 方法区
      方法区是被所有线程共享,所有字段和方法字节码,以及一些特殊方法如构造器,接口代码也在此定义。简单说,所有定义的方法的信息都保存在该区域,此区属于共享区间。
      静态变量+常量+类信息+运行时常量池存在方法区中,实例变量存在堆内存中
    • 4 PC Register 程序计数器
      每个线程都有一个程序计数器,就是一个指针,指向方法区中的方法字节码(下一个将要执行的指令代码),由执行引擎读取下一条指令,是一个非常小的内存空间,几乎可以忽略不记。
    • 5 Native Method Stack 本地方法栈
      它的具体做法是 Native Method Stack中登记native方法,在Execution Engine 执行时加载native libraries。













  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/ttzzyy/p/9800885.html
Copyright © 2011-2022 走看看