“嗨,阿米戈。我叫汉斯•智慧星教授。我是银河系狂奔号上的科学委员会主席。”我还负责监督对你的 Java 编程教学工作。”
“你好,智慧星教授。”
“我想向你讲述一下为什么Java 语言是一种非常酷的编程语言。”
“你会不止一次地听到,Java 语言无与伦比的优势就是它的平台独立性。你可能会问,这是什么,有什么用?让我采取一种迂回的方式来解释。”
“计算机只能执行最简单的数字命令。在训练狗的时候,我们会用‘跟上’、‘摇’等命令让狗做我们想让它做的事情。”
“对计算机来说,数字就起着这些命令的作用。每个命令都由某一特定的数或代码(有时称为机器代码)表示。”
“但只使用数字来编写程序真的很难,所以人们发明了编程语言和编译器。编程语言可以同时被人和编译器所理解。编译器是一个特殊的程序,它可将用编程语言编写的程序转换成一系列的机器代码。”
“程序员通常用编程语言来编写程序,然后运行编译器,将程序员编写的程序代码文件转换为含机器代码的单个文件——最终(已编译的)程序。”
- 用 C++语言编写的程序
-
编译器
- 机器 代码
“生成的程序可由计算机立即执行。坏消息是,最终程序的代码严重依赖于处理器和操作系统。这意味着为 Windows 系统编译的程序将无法在安卓系统智能手机上运行。”
“那么,如果我为安卓系统编写一个程序并进行编译后,它是否无法在 Windows 系统上运行?”
“的确如此。”
“我明白了。”
“不过,Java 语言使用了一种更加创新的方法。”
- 用 Java 语言编写的程序
-
Java 编译器
- 与平台无关的特殊代码(字节码)
-
JVM
- 机器 代码
“Java 编译器不会将所有类都编译成一个机器代码程序。相反,它会独立编译每个类,而且不是编译成机器代码,而是编译成特殊的中间代码(字节码)。当程序启动时,该字节码被编译成机器代码。”
“那么,当程序执行时,是谁将其编译成机器码的呢?”
“有一个特殊的程序叫做 Java 虚拟机 (JVM)。当你需要运行一个字节码程序时,该虚拟机必须先启动。在程序执行之前,JVM 会将字节码编译成机器代码。”
“真有趣。但这有必要吗?”
“这是一种非常强大的方法,也是 Java 语言占据统治地位的原因之一。”
“这种方法可让用 Java 语言编写的程序几乎能在任何设备上运行:计算机、智能手机、自动取款机、烤面包机,甚至信用卡!”
“太酷了!”
“这种方法有很多优点。这就是为什么所有安卓系统程序都是用 Java 语言编写。由于手机行业的快速发展,Java 语言在以下编程领域已占据了主导地位:
1) 企业:大量基于服务器应用程序的银行、公司、投资基金等。
2) 移动端:借助安卓系统的移动开发(智能手机,平板电脑)。
3) Web 端:PHP 语言处于领先地位,但 Java 语言已稳固地占据了市场的一定份额。
4) 大数据:由数千台服务器组成的集群中的分布式计算。
5) 智能设备:用于智能家居、电子设备、物联网冰箱等的程序。”
“Java 不仅仅是一种语言,更是一个生态系统:你可以在自己的程序中使用数以百万计的现成模块;成千上万的在线社区和留言板,你可以在此获得帮助或建议。”
“你用 Java 语言编写的程序越多,就越清楚‘为什么要选择 Java?’这个问题的答案。今天就讲到这里。”
“谢谢您,教授。这真的很有趣,令人兴奋。”
CodeGym大学课程体系中包括讲师在线讲座的部分视频。赶快报名吧
GO TO FULL VERSION