Java有一个其他语言都没有特点,那就是跨平台。跨平台是什么意思呢?我们首先来看看平台是指什么。平台就是指我们计算机的操作系统,例如:Windows、Linux、Mac等操作系统。
跨平台的意思就是Java程序,在一次编译后,在这些平台上都可以运行。有其他编程语言基础的朋友应该知道,其他语言没有这个特性,例如c语言在Windows上编译的文件,放到Linux系统上运行,可能就有不兼容问题。
那么问题来了,Java语言的跨平台是怎么做到的呢?本文,千锋武汉Java培训小编给你解答一下。
一、Java跨平台原理
首先我们来说一下Java代码的运行过程:
1)首先将Java文件编译成字节码(.class)文件;
2)使用Java虚拟机(JVM--Java Virtual Machine)运行运行字节码文件。
上面的步骤中,第一步中,在所有的平台上生成的字节码文件都是相同的。
上面的步骤中,第二步中,在不同的平台上运行字节码文件的Java虚拟机是不同的。
Java的开发团队针对不同的平台开发出了对应版本的Java虚拟机,这使得同一个Java代码文件可以
所以,Java能实现跨平台运行是因为有各种平台对应版本的Java虚拟机的支持。
二、了解几个名词
* JDK
JDK是Java Development Kit的缩写,JDK是Java语言的软件开发工具包(SDK)。提供了Java开发、编译、运行需要的文件和环境。
在JDK的安装目录下有一个Jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是Jvm,lib中则是Jvm工作所需要的类库,而Jvm和 lib合起来就称为Jre。
* JRE
JRE是Java Runtime Environment的缩写,JRE的内部有一个Java虚拟机(Java Virtual Machine)以及一些标准的类别函数库(Class Library),JRE是运行Java字节码文件必备的工具。
* JVM
JVM是Java Virtual Machine的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
JVM有针对不同平台的版本,它们可以运行相同的Java代码编译的字节码文件,这使得Java代码实现的跨平台。
Java程序就相当于是老王,操作系统相当于美国人或日本人,翻译就相当于JVM,通过不同JVM实现Java程序的跨平台。
window系统有专门的JVM,Linux也有专门的JVM,所以Java编译后的程序,能在这些操作系统上运行,得益于这些JVM的“翻译”工作。
希望本文千锋武汉Java培训小编的分享能帮助大家更好理解Java跨平台的原理。想了解更多Java相关知识,可以关注“武汉千锋”公众号,后台索取试听资格和学习资料。
2021-10-22 千锋武汉发布了 《《我的世界》千锋1024程序员节品牌片重磅发布》的文章
2021-10-22 千锋武汉发布了 《千锋1024程序员节重磅激励,多重豪礼强力助学》的文章
2021-10-22 千锋武汉发布了 《千锋联动全国百所院校 开展1024程序员节狂“享”活动!》的文章
2021-10-20 千锋武汉发布了 《千锋为中国航发商发提供Python课程培训,助力商发公司高效决策》的文章
2021-10-15 千锋武汉发布了 《千锋教育1024程序员狂欢节即将火爆来袭 “厚礼”一触即发》的文章