【JVM】Java虚拟机——JVM


1.前言

Java虚拟机,又称JVM。我们平常写java程序的时候几乎是感觉不到JVM的存在的,我们只需要根据Java规范去编写类,然后就可以运行程序了,只有程序出现bug了,我们才有可能在控制台上看到一些JVM报错的信息,比如内存溢出异常等问题,通过对Java虚拟机的学习,我相信我们都会明白产生这些问题的原因以及解决的办法。

2.JVM介绍

(1)JDK,JRE,JVM三者的联系

在这里插入图片描述

  • JVM——java虚拟机,程序运行的地方,保证java语言跨平台;JVM 有自己完善的硬件架构,如处理器、堆栈等,还具有相应的指令系统,其本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。
  • JRE——java运行环境,为 Java 的运行提供了所需环境,JRE=JVM+核心类库;
  • JDK——Java 开发工具包,提供了 Java 的开发环境和运行环境, JDK=JRE+java开发工具(编译器 Javac);
  • IDE——java集成开发环境,IDE=JDK+图形界面;

JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。

(2)JVM赋给Java的特性(Java语言的跨平台)
  • Java程序能一次编译,到处运行,在不同的平台运行不需要重新编译,是因为JVM 屏蔽了字节码和底层操作系统之间的差异,对外提供一个一致的运行环境。JVM将java字节码解释为具体平台的具体指令,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改的运行。

举个形象的例子,我们手机要充电吧,但是充电的方式有很多种,你可以直接数据线插到插座充电,也可以用数据线插到电脑USB口充电,一个是电脑一个是插座,为什么都能给手机充电呢?原因就是有数据线屏蔽了插座和电脑的差异。

  • JVM还提供了自动内存管理,垃圾回收功能。
  • 需要明确的是:每一个java程序运行就会创建一个JVM实例,比如我同时在eclipse中同时运行三个程序,那么就会创建三个JVM实例,三个程序运行于自己的JVM中,互不干扰,当程序运行完毕,那么JVM也会销毁。
(3)Java程序的运行过程

运行一个Java程序的步骤:
1、编辑源代码xxx.java;

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值