Git Product home page Git Product logo

java-series's Introduction

Java 开发基础与工程实践

任何一种编程语言如果要获得用户和开发者的认可,一定是要解决一些应用开发和运维的痛点的。Java 当初诞生的时候,正是上世纪 90 年代末互联网兴起的时代,在企业应用开发中存在几个问题,一是以 IBM,SUN 和 HP 的 UNIX 服务器和大型机为主的异构环境,C/C++ 和其它语言编写的应用跨平台支持和移植比较困难,二是基于 CGI 和其它技术的网络应用从开发效率和功能性角度来看都不够理想,三是 C/C++在当时是主流编程语言,门槛高、易出错、对经验要求很高,而 Java 简单易学、安全可靠,并且一次编写到处运行,再加上 Applet、Servlet 和 JSP 技术,解决了这些痛点,满足了当时互联网程序设计和运维的要求,伴随着互联网的发展一下子就脱颖而出并长期占据主流地位。

Java 能够长盛不衰得益于在标准的统一和开放基础上不断的与时俱进。Java 除了是一种编程语言,也同时是一个运行时,为了能够在最广泛的平台和环境中运行,在诞生伊始就联合各个厂商和组织形成语言和虚拟机统一标准,并通过 TCK 对标准的具体实现进行认证,保障了来自于任何一个厂商的 JDK 的兼容性,使得 Java 没有出现如 UNIX 系统那样的问题。开放性是 Java 生命常青的另一个基石,Java 的演进一直由各个厂商和用户组成的社区来协调和驱动,遵从 JCP 的流程来讨论决定重大特性和问题,这一点保障了 Java 生态的发展壮大和活跃。社区和生态的活跃反过来又促进了 Java 的发展,Java 的一些特性和类库就是直接继承自社区的项目,比如 JDK 5 引入的 JSR 166 until.concurrent,JDK 8 引入的新 Java date 和 time API 等等。正在开发中的很多重要项目,比如 Amber、Valhalla、Loom 等等,也都是社区呼声很高的,并且在迭代中积极吸纳社区的意见和反馈。

Java Platform Standard Edition

版本

2018 年 3 月 21 日,Oracle 官方宣布 Java 10 正式发布。这是 Java 大版本周期变化后的第一个正式发布版本。需要注意的是 Java 9 和 Java 10 都不是 LTS 版本。和过去的 Java 大版本升级不同,这两个只有半年左右的开发和维护期。而未来的 Java 11,也就是 18.9 LTS,才是 Java 8 之后第一个 LTS 版本。

/jdk-10/bin$ ./java -version

openjdk version "10" 2018-03-20

OpenJDK Runtime Environment 18.3 (build 10+46)

OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)

这种发布模式已经得到了广泛应用,一个成功的例子就是 Ubuntu Linux 操作系统,在偶数年 4 月的发行版本为 LTS,会有很长时间的支持。如 2014 年 4 月份发布的 14.04 LTS,Canonical 公司和社区支持到 2019 年。类似的,Node.js,Linux kernel,Firefox 也采用类似的发布方式。

从 JDK 10 开始,Java 改为每 6 个月发布一个 feature release,这是 Java 适应云时代技术快速发展的另一个重要举措。过去一个主版本的发布需要 3 年甚至更久,使得很多社区期待但又不用很长时间就可以实现的特性,也不得不等待更久。6 个月一个版本,使得短平快的特性能够及时发布来满足开发者需求,同时对于大的复杂的特性又能够分解成小的可以发布的单元,及时获得社区的使用和反馈。在 6 个月一个版本的基础上,针对需要更加稳定的运行环境的企业客户,我们又提供 LTS 版本。这个新的 release 模式,使得 Java 能够同时满足两种不同类别用户的需求,更加有利于 Java 向前推进。

About

版权

License: CC BY-NC-SA 4.0

笔者所有文章遵循 知识共享 署名-非商业性使用-禁止演绎 4.0 国际许可协议,欢迎转载,尊重版权。如果觉得本系列对你有所帮助,欢迎给我家布丁买点狗粮(支付宝扫码)~

default

Home & More | 延伸阅读

技术视野

您可以通过以下导航来在 Gitbook 中阅读笔者的系列文章,涵盖了技术资料归纳、编程语言与理论、Web 与大前端、服务端开发与基础架构、云计算与大数据、数据科学与人工智能、产品设计等多个领域:

此外,你还可前往 xCompass 交互式地检索、查找需要的文章/链接/书籍/课程;或者在 MATRIX 文章与代码索引矩阵中查看文章与项目源代码等更详细的目录导航信息。最后,你也可以关注微信公众号:『某熊的技术之路』以获取最新资讯。

java-series's People

Contributors

wx-chevalier avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.