## Java 是什么

“二哥，到底什么是 Java？给我说说呗。”

“三妹啊，这就直奔主题了啊，先去给哥买包烟吧，哥先考验考验你的诚心。”

（五分钟过后）

“三妹啊，你怎么还不去？”

“二哥，掏钱啊。”

（真实亲妹子啊，买包烟还得我掏钱，关键是还得给跑腿费。十分钟后，三妹从楼下小卖部买了一包熊猫回来了，我用 Zippo 火机点了一支——这火机是 21 岁生日的时候初恋女友送我的，质量确实不错，现在还在用。）

“三妹啊，听我慢慢来给你解释。”

Java 是一门计算机编程语言，高级、健壮、面向对象，并且非常安全。它由 Sun 公司在 1995 年开发，主力开发叫 James Gosling，被称为 Java 之父，就是下图这位，头秃的厉害。

![](https://cdn.jsdelivr.net/gh/itwanger/jmx-java/images/overview/one-01.png)

“三妹啊，你要不要再考虑考虑？做程序员不容易啊”

“二哥，你咋没有秃呢？是因为你不够厉害吗？”

（这孩子，嘴咋这么损呢？）


Java 在叫“Java”之前，其实叫 Oak（橡树的意思，我感觉好像比 Java 好听一些）。怎么想到呢？James Gosling 坐在办公室，望向窗外，视野里出现了一颗橡树。不过，遗憾的是，Oak 已经被 另外一家公司注册了，因此 1995 年 5 月 23 日，Oak 语言改名为 Java。

Java 起初并不是 James Gosling 的首选，也不是命名团队的首选。团队其他人员更青睐 Silk（丝绸），但 Gosling 不喜欢，他本人喜欢的是 Lyric（抒情诗），但没通过律师这一关。最后，排在第四位的“Java”脱颖而出。是不是像极了婴儿没生下来之前，家人就着急着起名的那种感觉。

James Gosling 回忆说，“Java”是一个叫 Mark Opperman 的人提议的，他是在一家咖啡店得到灵感的，“Java”是印度尼西亚爪哇岛的英文名，因生产咖啡而闻名。

使用十六进制编辑器打开由 Java 源代码编译出的二进制文件（.class 文件），就可以看得到，最前面的 8 个字符是 CA FE BA BE（定义文件类型的魔数），即词组“CAFE BABE”（咖啡屋宝贝）。

![](https://cdn.jsdelivr.net/gh/itwanger/jmx-java/images/overview/one-02.png)

“二哥，能给我展示一段 Java 代码吗？我想感受一下。”

“三妹啊，马上就来。”

（我噼里啪啦一阵在键盘上一阵狂按）

```java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
```

“二哥，这都什么跟什么啊，看得一头雾水。”

“三妹啊，先不要着急，Hello World 这段代码以后再慢慢消化，现在就是让它来给你打个招呼。”

“好吧。”

“二哥，学 Java 到底有没有前途啊？我毕业以后能不能找到工作啊？”

“三妹啊，就目前来说，Java 不仅仅是一门编程语言，它还是一个由一系列计算机软件和规范组成的技术体系，这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境，并广泛应用于以下这些场合。”

1）桌面应用程序；
2）Web 应用程序；
3）企业应用程序，体现了 Java 的安全性、负载均衡和集群的优势；
4）移动端应用程序，主要就是安卓；
5）嵌入式系统；
6）机器人技术；
7）游戏。

时至今日，Java 技术体系已经吸引了 600 多万软件开发者，是全球最大的软件开发团队。Java 能够获得如此广泛的认可，除了它是一门结构严谨、面向对象的编程语言之外，还有很多其他不可忽视的优点：

- 摆脱了硬件平台的束缚，实现了“一次编写，处处运行”的理念；
- 内存管理相对安全，避免了绝大部分内存泄露和指针越界的问题；
- 实现了热点代码检测和运行时编译，使得 Java 应用能随着运行时间的增长而获得更高的性能；
- 有一套完善的应用程序接口，还有无数来自商业机构和开源社区的第三方类库。

这一切的一切，都让软件开发的效率大大的提高。所以，学习 Java 还是很有“钱”“秃”的。