what-is-java.md 4.2 KB
Newer Older
沉默王二's avatar
优化  
沉默王二 已提交
1
## Java 是什么
沉默王二's avatar
doc  
沉默王二 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

“二哥,到底什么是 Java?给我说说呗。”

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

(五分钟过后)

“三妹啊,你怎么还不去?”

“二哥,掏钱啊。”

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

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

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

沉默王二's avatar
沉默王二 已提交
19
![](https://cdn.jsdelivr.net/gh/itwanger/jmx-java/images/overview/one-01.png)
沉默王二's avatar
doc  
沉默王二 已提交
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

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

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

(这孩子,嘴咋这么损呢?)


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”(咖啡屋宝贝)。

沉默王二's avatar
沉默王二 已提交
36
![](https://cdn.jsdelivr.net/gh/itwanger/jmx-java/images/overview/one-02.png)
沉默王二's avatar
doc  
沉默王二 已提交
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77

“二哥,能给我展示一段 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 还是很有“钱”“秃”的。