请选择 进入手机版 | 继续访问电脑版

JVM核心原理:JVM应该怎么学

[复制链接]
发表于 2018-3-23 11:18:09 |显示全部楼层
    学习Java的人,怎么能对jvm(Java虚拟机)一窍不通,不说我们对于jvm精通的地步,最基本的知识还是需要了解的。

   1.jvm是如何执行java的。

一个Java文件的运行里程是这样的。首先Javac将java编译成字节码,然后由JVM的类加载器将class文件

所以 我们首先学习javac的原理。通过javac的学习 我们将同时学会编译原理等知识。

JVM的组成


        JVM由4大部分组成:ClassLoader【类加载】,Runtime Data Area运行时数据区,Execution Engine【执行引擎】,Native Interface本地接口

         jvm.jpg


                       (图片来自网络)
Runtime Data Area:
  
      Stack(): Java栈的区域很小,只有1M,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,基本数据类型的数据,

和对象的引用(reference)

      Heap(堆): 对象数据存放.类的对象放在heap(堆)中,所有的类对象都是通过new方法创建,创建后,在stack(栈)会创建类对

象的引用(内存地址)
   
      Method Area(方法区):类数据存放,通常 类数据包括字段和方法名等等
  
      PC Register(PC寄存器(Program Counter Register))

      本地方法栈则为虚拟机使用到的Native方法服务





后记:
         
        在学习Java的初期 我们可以不用研究Jvm 但是如果后期你觉得需要的话 就可以研究。     
   
        Java.exe的作用就是将Class文件加载到JVM中

参考资料:https://www.cnblogs.com/eastday/p/8124580.html
              https://my.oschina.net/wangsifangyuan/blog/711329
jvm简单实现:源码下载。

  



您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|沙漏笔记

GMT+8, 2019-6-24 16:47 , Processed in 0.136145 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Copyright © 2015-2018 xuejava网 / 鲁ICP备17054568号-1
回顶部