JAVA老矣,尚能饭否?

J2SE:怀胎

Java的历史可以追溯到1991年4月,Sun公司的James Gosling领导的绿色计划(Green Project)开始着力发展一种分布式系统结构,使其能够在各种消费性电子产品上运行,他们使用了C/C++/Oak语言。由于多种原因,绿色计划逐渐陷于停滞状态。

但没有相应的开发库而只靠Java语言来进行开发肯定是困难重重,所以Sun公司在1996年的1月23日发布了JDK 1.0来帮助开发人员的开发。JDK包括两大部分:运行环境和开发工具。紧跟着,Sun公司在1997年2月18日发布了JDK 1.1。JDK1.1相对于旧版本最大的改进,是推出了JIT(Just-In-Time)编译器,另外一个改进是AWT 1.1。

在JDK 1.1时代,Java平台分为PersonalJava与EmbeddedJava,前者比较适用于运算资源和内存丰富的设备,而资源有限者适用于后者。这样的分类明显不符合时代发展的潮流,所以,Java平台处处蕴藏着新的翻天覆地的革命……

J2SE1.2:诞生

JDK 1.2在1998年12月4日的隆重发布,标志着Java2平台的诞生。Java 2的J2SE 1.2时代是一个大变革时代,它进行了如下的三大革命:

● 市场推广革命

  • Sun公司在Java 1.2版以后将JDK 1.2改名为J2SDK,将Java改名为Java 2。
  • 在1999年Sun公司还将Java 2平台分为三大块:J2SE,J2EE,J2ME。
  • 这次市场推广革命顺应了网络急速发展的潮流,对Java 2平台的发展起到了很好的催化剂的作用。

● API供应标准革命

  • 而随着供应商的不同,Java的API分为三大类:
  • Java Core API:由Sun公司制定的基本的API,所有的Java平台都应该提供。
  • Java Optional API:由Sun公司制定的扩充API,Java平台可以有选择地提供。
  • 特殊API:由特殊厂商或者组织提供的API。

● API制定过程的革命

如果你有需求不能通过遵循标准的API来实现,可以向JCP提出制定新的API的请求,经过审核,你的请求可能被通过或者驳回;如果是被通过,则开始进入制定该API的程序。

J2SE 1.2时代进行的这些革命形成的制度一直沿用到现在,对Java技术的发展形成了深远的影响。

J2SE1.3:拓广

Java 2平台推出后,得到了市场的强烈反响,所以,在2000年5月8日推出的J2SE 1.3对J2SE 1.2的改进,主要是对各种已有API的加强和对新API的拓展。

  1. 数字运算:加入了java.lang.StrictMath,方便我们的一般的数字运算。
  2. 新的Timer API:相信大家对其中的java.util.Timer和java.util.TimerTask一定不陌生。
  3. Collections包:加入了一些新的API,方便我们的使用。

在这个时期Java 2还有一个重要活动就是推出SCSL(Sun社区源代码许可)许可协议。Sun公司开放源代码项目的“女1号”Danese Cooper在1999年加入公司,负责Sun(包括Java)和开放源代码社区之间的协调工作。Sun一直尽可能在赢利和开放源代码之间寻求更好的衡。

Java的大行其道引起了Microsoft的警惕并直接导致了.Net的产生,这同时也宣布了Java作为独一无二的Internet平台地位的结束。这两个对手在较量中相互学习,现在在技术架构上的目标上已趋相同。

J2SE 1.4:快速

J2SE 1.4平台的推出发生在2002年2月13日,由于此前在Java平台和.NET平台间发生了规模浩大的孰优孰劣的论战,而论战中,Java平台最大的缺点就是性能问题,所以J2SE 1.4平台把性能的改善放在了最重要的位置。

HotSpot虚拟机:HotSpot虚拟机能够很大程度上提高性能,所以J2SE 1.4已经不支持传统的虚拟机。现在,启动应用程序应该通过-client或者-server选项来启动。

锁机制:由于旧版的HotSpot虚拟机的锁机制会导制严重的性能和功能问题,J2SE 1.4已经改写了该锁机制。

安全API:JCE、JSSE和JAAS这三大安全API从optional API移到了core API中。这样,J2SE 1.4的安全域(SecureRandom)实现可以利用操作系统提供的安全机制,以便缩短应用程序的启动时间。

RandomAccess标记接口:加入了RandomAccess标记接口,如果一个List实现了该接口,则表示它支持快速的随机访问,这样可以提高List访问的速度。

从上面的分析可以看出,Java 2平台在经过数年的发展后,已经比较成熟稳定,J2SE 1.4主要是对平台的性能进行较多的考虑和修改。在分布式程序方面,1.4版比1.3版的运行效率提高了一半以上;而在客户端程序方面,1.4版比1.3版的效率提高了1/3。

J2SE 1.4版是J2SE第一个参与了 Java共同体过程(JCP)的J2SE版本。 像Borland、Compaq、Fujitsu、 SAS、 Symbian、 IBM这样的公司,和Sun一起定义并发展了J2SE 1.4规范。在开放、良好的文档编撰与管理的过程中,形成了一个高质量的、代表了Java共同体的多样性的规范。

想要冲击秋招没有方向的,基础不扎实的 看过来看过来!!!!,同学可以看一下我的专栏。也可以看看我之前的总结,里边包括自己亲身实践拿到ssp的学习路程和重要的八股还有一些HR的问题。链接在下方。

✅ 25届秋招亲历者视角: 从双非/非科班角度,讲透如何高效突围。

✅ 真题驱动,直击考点: 精选 300+高频面试题

✅ 项目点睛术: 手把手教你 把“玩具项目”包装成面试加分项 (附完整可跑项目源码)。

✅ 持续更新: 紧跟春招/秋招动态,新增 阿里/腾讯/字节等大厂真题解析 和 技术热点

🔗 专栏传送门:https://www.nowcoder.com/creation/manager/columnDetail/MRwNvb

全部评论

相关推荐

昨天 18:03
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务