【JVM】Java虚拟机——JVM
文章目录
深入理解Java虚拟机——关于虚拟机的简单介绍
1.前言
Java虚拟机,又称JVM。我们平常写java程序的时候几乎是感觉不到JVM的存在的,我们只需要根据Java规范去编写类,然后就可以运行程序了,只有程序出现bug了,我们才有可能在控制台上看到一些JVM报错的信息,比如内存溢出异常等问题,通过对Java虚拟机的学习,我相信我们都会明白产生这些问题的原因以及解决的办法。
2.JVM介绍
(1)JDK,JRE,JVM三者的联系
- JVM——java虚拟机,程序运行的地方,保证java语言跨平台;
- JRE——java运行环境,JRE=JVM+核心类库;
- JDK——java开发环境,JDK=JRE+java开发工具;
- IDE——java集成开发环境,IDE=JDK+JRE+图形界面;
使用JDK编写的java程序,交给JRE去编译运行,由JVM保证跨平台。
(2)JVM赋给Java的特性(Java语言的跨平台)
- 只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。 由JVM来负责Java程序在该系统中的运行。java之所以能够跨平台,就是因为JVM屏蔽了各个操作系统之间的差异,举个形象的例子,我们手机要充电吧,但是充电的方式有很多种,你可以直接数据线插到插座充电,也可以用数据线插到电脑USB口充电,一个是电脑一个是插座,为什么都能给手机充电呢?原因就是有数据线屏蔽了插座和电脑的差异。
- 需要明确的是:每一个java程序运行就会创建一个JVM实例,比如我同时在eclipse中同时运行三个程序,那么就会创建三个JVM实例,三个程序运行于自己的JVM中,互不干扰,当程序运行完毕,那么JVM也会销毁。
(3)Java程序的运行过程
运行一个Java程序的步骤:
1、编辑源代码xxx.java;
2、编译xxx.java文件生成字节码文件xxx.class;
3、JVM中的类加载器加载字节码文件;
4、JVM中的执行引擎找到入口方法main(),执行其中的方法。