image-zho-CN-00-18

“嗨,阿米戈。我叫汉斯•智慧星教授。我是银河系狂奔号上的科学委员会主席。”我还负责监督对你的 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大学课程体系中包括讲师在线讲座的部分视频。赶快报名吧