zoukankan      html  css  js  c++  java
  • Jdk和Spring Boot版本选择

    ==========================
    版本选择的原则:
    ==========================
    1. 优先选择官方指定的long-term support(LTS)版本, 非LTS版本往往会引入较多实验性的特性, 稳定性要比LTS要差一些, LTS版本生命周期甚至会比晚发行的非LTS版更长久.
    2. 优先选择纯粹的bugfix版, 而不是那种有引入新特性的版本.
    3. 如果不想跟最新的技术, 选择上一个大版本的最后一个小版本, 这个小版本往往是一个比较稳定的版本, 比如Spring framework 当前版本是5.1, 我们可以选择 4.3.22. 这里推荐使用 mvnrepository.com 网站找到这个小版本.
    比如, spring framework 版本清单: https://mvnrepository.com/artifact/org.springframework/spring-core
    再如, spring boot 版本清单: https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter


    ==========================
    jdk 版本选择:
    ==========================
    jdk 8是 LTS 版, 下一个LTS版是 jdk 11, 从当前技术普及来看, 主流的仍是jdk8.
    按照Oracle 官方的说法, Jdk 8u191/Jdk 8u192 Oracle官方同时推出的两个最后免费jdk 8发行版, 这之后的java 8发行版理论上都需要付费. 对于 8u191 和 8u192, 更推荐使用 8u191 版. 原因是: 奇数编号的发行版仅包含经验证的bug fix, 偶数编号的发行版不含经验证和非经验证的改进, 所以生产环境推荐使用奇数编号的发行版.

    ps, jdk 10是一个很特别的版本, 它是第一个真正移除deprecated code的版本, 之前的jdk实际上并没有真正移除那些过期api.

    版本选择: Oracle jdk 版本应该选择jdk 8u191.

    openjdk 是一个厂商中立的 jdk, 目前看是一个很好的选择,  下载地址  https://adoptopenjdk.net


    ==========================
    Spring Boot 版本
    ==========================
    目前 Spring Boot 有三个重要分支: 1.5.x 和 2.0.x 和 2.1.x, 注意它们是三个分支, 比如 v2.1.1 并不能算作是 v2.0.8 的升级版, 实际上v2.1.1是早于 v2.0.8 版发布的, 这一点可以从发布历史中得到验证, 见 https://github.com/spring-projects/spring-boot/tags

    Spring Boot 官方只是在一些官方的blog中零星提及某些版本的EOL, 没有各版本maintenance roadmap.

    下面是目前主要分支的EOL:
    (1) 1.5.x 分支(主要依赖Spring framework 4.3), 将于2019年8月EOL, Spring framework 4.3.22 预计在2020年中EOL.
    (2) 2.0.x 分支(主要依赖Spring framework 5.0.x), 将跟随Spring 5.0.x 在2019年3月EOL.
    (3) 2.1.x 分支(主要依赖Spring framework 5.1.x), 目前没有设定EOL日期, 但Spring framework 5.1应该不是一个longer-lived 版本, 所以 2.1.x 分支的支持期应该也不会很长. 预计下一个基于 Spring framework 5.2 的Spring boot分支才是真正的longer-lived 版.

    版本选择: 官方建议使用v2.1.x版本, 但基于上面的简单分析, Spring Boot 版本选择就比较尴尬, 目前没有一个版本特别合适最新的生产项目的开发, 好在2.1.x的最新版2.1.3是一个 bugfix 版, 所以推荐暂时采用2.1.3版.


    Spring framework 各版支持时间:
    https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions

    Spring boot 各版的release note:
    https://github.com/spring-projects/spring-boot/wiki

  • 相关阅读:
    Linux下sed,awk,grep,cut,find学习笔记
    Python文件处理(1)
    KMP详解
    Java引用详解
    解决安卓中页脚被输入法顶起的问题
    解决swfupload上传控件文件名中文乱码问题 三种方法 flash及最新版本11.8.800.168
    null id in entry (don't flush the Session after an exception occurs)
    HQL中的Like查询需要注意的地方
    spring mvc controller间跳转 重定向 传参
    node to traverse cannot be null!
  • 原文地址:https://www.cnblogs.com/harrychinese/p/jdk_and_springboot_version.html
Copyright © 2011-2022 走看看