关于Java的故事

初识Java

Java帝国的诞生

  1. C语言

    说起Java帝国我们不得不想起C语言帝国,1972年, 随着C语言的诞生和Unix的问世, 帝国迅速建立统治, 从北美到欧洲, 从欧洲到亚洲, 无数程序员臣服在它的脚下。

    • 帝国给我们提供了极好的福利贴近硬件, 运行极快, 效率极高。使用这些福利, 程序员们用C 开发了很多系统级软件,操作系统, 编译器, 数据库,网络系统…..
    • 但是帝国也给我们安上了两个沉重的枷锁指针和内存管理
      1. 虽然指针无比强大, 能直接操作内存, 但是帝国却没有给我们工具去做越界的检查, 导致很多新手程序员轻易犯错。
      2. 对于内存管理, 帝国更完全是放任的态度: 你自己分配的空间, 自己去释放!
      3. 指针和内存管理带来的烦恼:更要命的是这些问题在编译期发现不了, 在运行时才会突然暴露, 常常让我们手忙脚乱, 昏天黑地去调试。我们的大量时间和宝贵的精力都被浪费在小心翼翼的处理指针和内存分配上。每个程序员都被这两个东西搞的焦头烂额!
  2. C++

    1982年,帝国又推出了一门新的语言C++, 添加了面向对象的功能,兼容C, 有静态类型检查, 性能也很好。但是这门新的语言实在是太复杂了,它的很多特性复杂的让人吃惊。C++在图形领域和游戏上取得了一些成功。

  3. 革命

    C和C++所带来的痛苦,导致一些人起来闹革命,他们要替天行道,为了吸引更多的程序员加入他们,他们企图建立一种新的语言,这些语言具有这样一些特性

    • 语法有点像C

    • 没有指针

    • 没有内存管理

    • 真正的可移植性,编译一次,到处运行

    • 面向对象

    • 类型安全

    • 高质量的类库,随语言发行

    • ......

      他们把这个语言命名为C++- , 即C++减减, 因为他们想在C++的基础上改进,把它简化。后来发现不行, 设计理念差别太大。后来他们看见了门口的一棵橡树, 于是把这个语言叫做Oak。但是后来发布的时候, 发现Oak已经被别人用了, 在讨论很久后, 最终决定把这门新的语言叫做 Java。为了实现跨平台, 我们在操作系统和应用程序之间增加了一个抽象层: Java 虚拟机(统称JVM)

      优点:用Java写的程序都在虚拟机上, 除非个别情况, 都不用关心操作系统。

  4. Java初期

    为了吸引更多的人加入他们的新领地, 他们决定搞一个演示, 向大家展示Java 的能力。他们将矛头指向刚刚兴起的互联网, 1995年的网页简单而粗糙, 缺乏互动性。 于是他们在浏览器上弄了个小插件, 把java 运行环境放了上去。然后在上面开发了一个图形界面的程序(Applet), 让它看起来美轮美奂, 震撼人心。它所展现的效果让程序员们惊叹不已。

  5. Java的发展

    1. 从1995年到1997年,我们依靠 Java 不断的攻城略地, 开拓疆土,Java王国的子民不断增加, 达到了几十万之众, 已经是一个不可忽视的力量了。但是大家发现, Java除了Applet, 以及一些小程序之外, 似乎干不了别的事情。

    2. 到了1998年, 经过密谋,Java 王国决定派出三只军队向外扩展:

      Java 2 标准版(J2SE): 去占领桌面

      Java2 移动版(J2ME): 去占领手机

      Java 2 企业版(J2EE): 去占领服务器

      其中的两只大军很快败下阵来。

      • J2SE:开发桌面应用的程序员根本接受不了Java, 虽然Java的Swing 可以开发界面, 但是开发出的界面非常难看, 和原生的桌面差距很大。 尤其是为了运行程序还得安装一个虚拟机, 大家都受不了。

      • J2ME:一直不受待见, 当然更重要的原因是乔布斯还没有重新发明手机, 移动互联网还没有启动。


      而J2EE这支军队可以说是赶上了好时候——互联网盛行,此时,很多人都觉得Java就是为服务端程序所发明。

      1. 在J2EE规范的指导下, 特别适合团队开发复杂的大型项目。他们授权BEA公司第一个使用J2EE许可证, 推出了Weblogic(基于JAVAEE架构的中间件), 凭借其集群功能, 第一次展示了复杂应用的可扩展性和高可用性。

      2. 这个后来被称为中间件的东西把程序员从事务管理,安全管理,权限管理等方面解放出来, 让他们专注于业务开发。 这立刻捕获了大量程序员的心。很快Java 王国的子民就达到数百万之众。

      J2EE影响:很快其他商业巨头也纷纷入场, 尤其是IBM,在Java 上疯狂投入,不仅开发了自己的应用服务器 Websphere, 还推出了Eclipse这个极具魅力的开源开发平台。当然IBM利用java 获得了非常可观的效益, 软件+硬件+服务 三驾马车滚滚向前, 把IBM推向了一个新的高峰。

  6. Java帝国的诞生

    1. 大家也没有想到,除了商业巨头以外, 程序员们也会对Java王国 这么热爱, 他们基于Java 开发了巨多的平台,系统,工具,例如:

      构建工具: Ant,Maven, Jekins

      应用服务器: Tomcat,Jetty, Jboss, Websphere, weblogic

      Web开发: Struts,Spring,Hibernate, myBatis

      开发工具: Eclipse, Netbean,intellij idea, Jbuilder

      并且绝大部分都是开源的 !

    2. 2005年底, 一个新的王国突然崛起, 他们号称开发效率比java 快5-10倍, 由此吸引了大批程序员前往加盟。这个新的王国叫做Ruby on Rails, 它结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整), 特别适合快速的开发简单的Web网站。虽然发展很快, 但没有对Java 王国产生实质性的威胁, 使用Ruby on Rails搭建大型商业系统的还很少。除了Ruby on Rails ,还有PHP, Python , 都适合快速开发不太复杂的Web系统。 但是关键的,复杂的商业系统开发还是Java 王国的统治之下

    3. 2006年, 一只叫Hadoop的军队让Java王国入侵了大数据领域, 由于使用Java 语言, 绝大多数程序员在理解了Map/Reduce , 分布式文件系统在Hadoop中的实现以后, 很快就能编写处理海量数据的程序, Java 王国的领地得到了极大的扩展。

    4. 2008年, 一个名叫Android 的系统横空出世, 并且随着移动互联网的爆发迅速普及, 运行在Android之上的正是Java !

    5. Java 王国在Google的支持下, 以一种意想不到的方式占领了手机端, 完成了当年J2ME 壮志未酬的事业 !迄今为止, 全世界估计有1000万程序员加入了Java王国,它领土之广泛, 实力之强大, 是其他语言无法比拟的。Java 占据了大部分的服务器端开发,尤其是关键的复杂的系统, 绝大多数的手机端, 以及大部分的大数据领域。

      一个伟大的帝国诞生了

posted @ 2020-11-15 17:34  司倾白  阅读(299)  评论(0编辑  收藏  举报