## 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 还是很有“钱”“秃”的。