首页 技术 正文
技术 2022年11月6日
0 收藏 646 点赞 475 浏览 1658 个字

Java匹马行天下之Java帝国的崛起大结局

前言:

【博客*缘】

网络真情伴,

博客友谊连。

笑中藏泪暖中寒。

回想那些悲喜,

苦涩也缠绵。

往事难回首,

新篇染旧言。

世间多少梦能全。

感谢相牵,

感谢遇时缘。

感谢墨中同守,

再聚是何年。

人生只如初见。

一首《博客*缘》送给一直鼓励我支持我陪伴我的博友们。

已经有博友催更了,那我今天直奔主题,欢迎博友们观看小型宫斗剧《Java帝国的崛起》,此剧共三篇

C国程序员的秃头原因

Java国出了个Java

接下来请看《Java帝国的崛起》大结局

前文回顾

上文书《Java国出了个Java》中说到,被Java国收留的程序员们决定重新定义一门新的编程语言,这门语言语法有点像C语言,这样大家容易接受。

没有C语言那样的指针。

再也不用考虑内存管理。

真正的可移植性,编写一次,到处运行。

面向对象。

类型安全。

还有,我们要提供一套高质量的类库,随语言发行。

最重要的是他们把这门语言起名为Java,整个Java国举国欢庆。现在我要改口了,把从C国逃出来加入Java国的程序员就叫Java程序员了。

不鸣则已,一鸣惊人

凡事都是说起来简单做起来难,单说这个可移植性吧,要想编写一次,到处运行可不是什么简单的事。为了实现跨平台,Java程序员们在操作系统和应用程序之间增加了一个抽象层:Java虚拟机。用Java写的程序都运行在虚拟机上,除非个别情况,都不用看到操作系统。

跨平台

刚才提到了一个专业术语叫跨平台,我来解释一下:

跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。在一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。

Java的跨平台

Java的跨平台是相对于其他编程语言而言的,通过Java语言编写的应用程序在不同的系统平台上都可以运行。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。比如在前文中提到的C语言,在Windows系统上编译的C语言程序,在Linux系统上是不能运行的,而Java语言在不同平台上运行时不需要重新编译。

Java跨平台的原理:java的跨平台是通过Java虚拟机(JVM)来实现的。

Java虚拟机(JVM)

Java源程序想象成我们的C源程序,Java源程序(.java)编译后生成的字节码(.class)就相当于C源程序编译后的二进制可执行文件。JVM虚拟机相当于计算机系统(操作系统+硬件环境),Java解释器相当于CPU。

.exe文件直接在Windows操作系统下运行,在CPU上运行的是机器码(.exe文件)

.class字节码文件是运行在JVM虚拟机下的,在Java解释器上运行的是Java字节码文件。

Java解释器相当于运行Java字节码的CPU,但该CPU不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当然,并不是在所有的平台下都有相应的Java解释器程序,这也是Java并不能在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。

Java匹马行天下之Java帝国的崛起(大结局)

分享的越多,你的价值增值越大,支持我就让更多的人关注我吧Java匹马行天下之Java帝国的崛起(大结局)

*****************************************************************************************************

我的博客园地址:https://www.cnblogs.com/zyx110/

【原创声明】此篇为作者原创,未经本人同意不得转载,经本人同意转载请说明出处。

我不能保证我所说的都是对的,但我能保证每一篇都是用心去写的,我始终认同“分享的越多,你的价值增值越大”,欢迎大家关注我的技术分享“Java匹马行天下”和学习心得分享“匹马行天下”,在分享中进步,越努力越幸运,人生赢在转折处,改变从现在开始!

支持我的朋友们记得点波推荐哦,您的肯定就是我前进的动力。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,090
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,567
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,415
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,187
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,823
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,906