Java环境
1. Java虚拟机(JVM)
-
JVM(Java Virtual Machine)
Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java最具吸引力的特性之一。我么所写的java代码,都运行在JVM之上。
-
跨平台
任何软件的运行,都必须运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为JAVA语言的跨平台性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上
注意,JVM不存在跨平台,不同操作系统会有不同的JVM
JVM就相当于java代码和计算机之间的一个桥梁。
在java代码编译后,计算机并不能直接运行,必须经过JVM进行解释后,才能运行。
注:JVM本质上是一个规范,每个公司都可以按照这个规范实现自己的JVM。
现在默认的JVM,是oracle公司提供的一个实现,这个JVM叫做HotSpot
当我们去运行java程序的时候,就会先启动JVM,这个JVM在JDK中对应了一个ddl或so文件:
- Windows系统,该文件在:
%JAVA_HOME%\jre\bin\server\jvm.dll- Linux系统,该文件在:
$JAVA_HOME/jre/lib/amd64/server/libjvm.so
2. JRE & JDK
- JRE(Java Runtime Enviroment)java运行时环境
Java运行时环境,包含JVM和运行Java程序所需要的类库
- JDK(Jva Development Kit)Java开发库
Java开发库,包含了JRE和开发人员所需要的库
如果想要运行一个Java程序就必须安装JRE
如果想要开发一个Java程序就必须安装JDK
三者之间的关系:
JDK目录介绍
目录/文件 | 作用 |
---|---|
bin目录 | 存放JDK中提供的java相关的命令,例如java、javac、javap等 |
db目录 | JDK自带的一个小型数据库,纯Java实现 |
include目录 | JVM启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的(java底层是c语言写的) |
jre目录 | JDK自带的一个Java运行环境 |
lib目录 | “library”的缩写,目录中提供了一些Java类库和库文件,也就是jar包 |
src.zip文件 | 压缩文件,目录存放JDK核心类的源代码,也就是javaSE-API的源代码 |