JDK,JRE,JVM如何理解

JDK,JRE,JVM如何理解

操作方法

  • 01

    JDK:Java Development Tookit,java开发工具包,是整个java核心,包括了java运行环境(JRE,java runtime environment),一堆java工具(javac、java、jdb、javap等)和java基础类库(即java API包括rt.jar) Ps:jdk里很多exe需要jre支持

  • 02

    JVM:Java Virtual Mechinal。Java虚拟机,是JRE的一部分,是一个虚拟出来的计算机,是通过在实际计算机上仿真模拟各种计算机功能来实现的,JVM有自己完善的硬件架构,如处理器,堆栈,寄存器等,还具有相应的指令系统。 JVM的主要工作时解释自己指令集(即字节码),并映射到本地的cpu的指令集或os系统调用,JAVA语言是跨平台运行的,其实就是不同的操作系统使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM对上层java源文件不关心,它关注的只是由源文件生成的类文件(class file),类文件组成包括JVM指令集,符号表以及一些补助信息。

  • 03

    开发实际情况:我们利用JDK(调用java api)开发属于我们自己的java程序后,通过JDK中编译程序(javac),将我们的文本java文件编译成java字节码,JVM解析这些字节码,映射到cpu指令集或os的系统调用。 Jvm启动有入口,main可以,tomcat也有自己的启动方式,启动jvm之前已经编译好了。启动jvm后,如果用到哪个类,就会把那个类的字节码加载到内存。局部变量,也就是方法内部的变量,是运行时执行到那个方法,才去开辟那个变量的内存空间,由于线程运行的变量都放在栈内存,为了把线程的变量隔离,每个线程都有独立的栈祯。

  • 04

    运行时数据区域:java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则是依赖用户线程的启动和结束而建立和销毁。

(0)

相关推荐

  • eclipse启动提示找不到jdk\jre

    卸载jdk,重新安装在另外一个路径,重启eclipse的时候提示找不到jdk,并且提示的路径也不对,查了不少资料,跟大家分享下! 操作方法 01 卸载jdk,重新安装在另外一个路径,重启eclipse ...

  • jdk,jre与jvm的区别

    介绍jdk jre jvm的区别. 操作方法 01 JVM -- java virtual machine JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的jav ...

  • java入门基础课程(Java基础教程)

    java入门基础课程(Java基础教程)

  • eclipse启动时提示couldn't open jvm.cmg怎么办

    eclipse启动时提示error:could not open'···\jdk\lib\ jvm.cmg' 怎么办.我刚遇到这个问题,起因是我重新安装了jdk,改变了jdk路径,修改环境变量后,ec ...

  • jdk安装后javac出现问题

    win7下安装jdk,一般java运行都没问题,但对我们萌新来说javac一般都无法成功 操作方法 01 问题一:安装jdk时会弹出两个路径选项 这里第一个为jdk安装路径,第二个为jre安装路径,切 ...

  • Java入门必学

    Java是一个十分优美的语言,其语言具有面向对象,分布式和多线程等高级计算机语言的特点,同时可移植性,安全性等也受到大家的青睐.JAVA语言简单易学,如果你准备喝这杯耐味的咖啡的话,必须搞明白以下几个 ...

  • Java入门教程

    Java是一个十分优美的语言,其语言具有面向对象,分布式和多线程等高级计算机语言的特点,同时可移植性,安全性等也受到大家的青睐.JAVA语言简单易学,如果你准备喝这杯耐味的咖啡的话,必须搞明白以下几个 ...

  • java的开发环境有哪些(Javaweb开发环境搭建)

    Java之父:詹姆斯.高斯林,Java语言是Sun公司(斯坦福大学网络公司)1995年推出的一门高级编程语言. 2010-10-24被Oracle公司收购.人与人之间有其沟通的语言,对于计算机来说也是 ...

  • Linux上架设支持JSP+PHP的Web服务器

    近年来Linux在服务器市场占有比例日渐攀升,除了缘于Linux的免费和安全性之外,还因为Linux上的应用服务日益丰富。大部分常见的服务都在Linux上有了较好的解决方案。而对于Intenet上应用 ...