码迷,mamicode.com
首页 > 其他好文 > 详细

浅谈JVM

时间:2019-05-03 14:41:19      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:不能   运行时   功能   jvm   cti   代码   转换   实现   span   

1:JVM 整体组成

  --》@1.类加载器(ClassLoader)

        @2.运行时数据区(Runtime Data Area)

        @3.执行引擎(Exection Engine)

        @4.本地库接口(Native Interface)

 

2:各个组成部分的用途

  --》程序在执行之前先要把java代码转换成字节码(class文件),JVM首先需要把字节码通过一定的方式 类加载器(ClassLoader) 把文件加载到内存中  运行时数据区 (Runtime Data Area),而字节码文件时JVM的一套指令集规范,并不能直接交给底层操作系统去执行,因此需要特定的命令解析器 执行引擎 (Execution Engine)将字节码翻译成底层系统指令再交由CPU去执行,而这个过程需要调用其它的语言接口 本地库接口(Native Interface)来实现整个程序的功能,

 

 

3:运行数据区组成

  --》我们通常所说的JVM组成指的是运行数据区

     运行数据区又有5部分组成

         1:程序计数器   2:java虚拟机栈 3:本地方法栈 4:Java堆 5:方法区

 

程序计数器和Java虚拟机栈是内存私有

Java堆是虚拟机中内存最大的一块 被所有线程共享 (内存共享)

方法区不等于永生代(内存共享)

4:扩展 运行时常量池 直接内存

浅谈JVM

标签:不能   运行时   功能   jvm   cti   代码   转换   实现   span   

原文地址:https://www.cnblogs.com/xlhlx/p/10804903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!