java基本理解,以及常用小技巧

基本理解

jdk与jre的关系

因为每次在官网上下载的jdk的安装包的时候,安装时就会发现,我们不仅安装我们所需要的jdk,而且我们还安装了一个jre,于是不禁有点好奇。经过网上查阅,总结了一下:

jre(java runtime environment) java运行环境
jdk(Java Development Kit) java开发者工具
jvm(Java Virtual Machine) java虚拟机
层次结构

理清关系

我们现在一般下载的jkd中都已经包含了jre,所以一般在安装jdk的时候会自动提醒安装jre。
jre与jdk是相互独立的两个东西。
JRE(java运行时环境)包含JVM的java程序的运行环境。
因为java需要首先将java程序编译成为javac的中间件,但是机器并不认识这种编译,只有通过jvm处理,同时也保证了跨平台编译,而现在jvm一般也都集成在了jre之中。

JDK(Java Development Kit)

JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。
JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

Java Runtime Environment(JRE)

是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

JVM(java virtual machine)

就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

常用技巧

查看自己的java是32位的,还是64位

方法一:

在cmd使用指令:        java -version

可以看到自己的java版本,如果是64位的话,会直接在最下方显示64Bit,32位的话就不会显示,我的就是32位的。
2.png

方法二:使用定向指令

在cmd使用指令:        java d32-version
在cmd使用指令:        java d64-version

这样就可以看到自己的装的32位java与64位java分别各是多少版本。
3.png

如果文章对您有用请随意打赏,谢谢支持!