java 迁移数据

你好,再一次到另一个热点。 我的名字是Java Champions的平台工程师和DevOps专家Peter Pilgrim。

如您所知,Java 9引入了模块系统。 您可能正在将服务迁移到JDK 10或更高版本,或者至少在考虑中。 我对企业的一般建议是,您越早迁移,技术债务就越好。 在2018年9月发布Java 11时,更容易适应变化。

在撰写本文时,我建议在传统的单片系统上迁移作为严格的微服务编写的软件体系结构要容易得多。 为什么会这样呢? 可以一对一或定义的工作组来适应和更改微服务。 为此,您的微服务必须彼此独立,这意味着它们依赖于REST API或XML over SOAP over HTTP通信或其他远程调用协议。

迁移的最大障碍是工具,堆栈依赖项以及专有技术。 让我们对其中的每一个进行一些包装。

工具-所有主要的IDE现在都支持Java10。它们是NetBeans,Eclipse和IntelliJ2018。因此,编译基本Java程序应该没有问题。 我们大多数专业人士倾向于使用Gradle和Apache Maven等构建工具。 如果您依赖Maven,则需要更改编译器插件版本3.7.0或更高版本。 Gradle交付团队可从中获得便捷的指南,该指南说明了如何为示例项目添加手动支持。 请注意,在撰写本文时,当前的Gradle发行版4.6不具有一流的支持。 不幸的是,Gradle需要花很多力气才能获得Java 9支持。 Building Java 9 Modules包含所有详细信息,如果您现在想在团队的构建中获得Java 9模块的支持,请阅读。

堆栈依赖关系–最大的障碍是库的依赖关系。 如果它们是开源的,那么可能即将收到Java 9支持,并且很快就会推出。 许多专业的服务器端团队依赖Hibernate,Spring Framework,Spring Boot和Java EE的其他方面。 最糟糕的是,由于每个工程都依赖于其中的一个,因此实际的servlet容器可与Java 10一起使用。因此,强烈建议您亲自验证Tomcat,Payara和WildFly在Java 10运行时环境中执行。 它应在未部署任何WAR文件的情况下以vanila状态执行。 Pivotal在其最新版本的Spring Boot 2.0中已经为OpenJDK 9编写了轶事支持,您可能很幸运。

最后,从长远来看,对Java模块系统的了解会有所帮助。 因为最终所有最重要的框架和库都将被模块化,所以开发运维人员/平台工程师为什么会延迟对模块系统的学习。

工程师将不得不根据这些概念

  • 拆分包 – Java 9中的每个模块都必须包含唯一的包。 工作遗留和当前代码库中的许多JAR可能都有拆分的程序包,同一程序包显示一个或多个JAR。 这可能包括开源和商业第三方库。 然后,您的主要工作是重构和重新架构您拥有的模块,第三方供应商和图书馆团队将对他们的软件负责,他们将自己做。
  • 自动模块 – Java 9的这一概念自动将类路径中的JAR导出为模块
  • 未命名的模块 –这种将类加载到模块系统之外但从类路径加载的概念。 不属于“命名模块”成员的类被认为是称为未命名模块的特殊模块的成员
  • 服务发现 – JDK 9中的服务API进行了改进,可以跨模块加载类。
  • 开放式模块 –此概念允许在运行时检查模块
  • 供应模块 –此概念定义模块之间的传递依赖
  • 模块化资源 –这个概念定义了加载资源,现在仅限于模块。 您需要另一个模块中的资源,然后必须在module-info.java文件中明确配置
  • 模块和类路径 -不幸的是,库编写者必须跨模块路径和类路径针对Java 8(非模块)和Java 10(模块)测试其代码库。 这是迁移的最大缺点。

我的第一个建议是找到这些拆分包。 我写了一段shell脚本和Python来帮助我估算总体报告。

就这样。 享受车程

这里是对本文内信息的引用:

  • 在Gradle中构建Java 9模块
  • Gradle的状态和未来
  • Spring Boot和Java 9
  • 本周insSpring(2017年9月26日)
  • Hibernate对Java 9的支持
  • Tomcat JDK 9要求和下载
  • WildFly 11和OpenJDK 9可以一起使用

翻译自: https://www.javacodegeeks.com/2018/05/migration-advice-for-java-10.html

java 迁移数据

java 迁移数据_Java 10迁移建议相关推荐

  1. java 迁移数据_Java 10迁移:轻而易举还是龙卷风?

    java 迁移数据 "对于基础架构提供商而言,升级到最新的JDK根本不容易" Java 10是在几周前发布的,但我们仍在剖析其最重要的功能(*咳嗽*局部变量类型推断*咳嗽*)以及那 ...

  2. 迁移学习_Java 10迁移建议

    迁移学习 你好,再一次到另一个热点. 我的名字是Java Champions平台工程师兼DevOps专家Peter Pilgrim. 如您所知,Java 9引入了模块系统. 您可能正在将服务迁移到JD ...

  3. java 迁移数据_Java 9迁移指南:七个最常见的挑战

    java 迁移数据 我敢肯定,您已经听说过更新到Java 9并不是一件容易的事,甚至可能是不兼容的更新,而且对于大型代码库而言,迁移毫无意义. 这样做之后,我迁移了一个相当大的旧代码库,我可以告诉你, ...

  4. java 迁移数据_从迁移到Java 7的小技巧

    java 迁移数据 经过几年的努力,我们终于开始在软件级别方面将应用程序从黑暗时代中拉出来,其中一个步骤是将我们的Java版本升级到Java7.在大多数情况下,这很轻松,但是有一些惊喜: 当我们切换到 ...

  5. java 静态数据_Java 静态数据初始化的示例代码

    无论创建多少个对象,静态数据都只占用一份存储区域.static关键字不能应用于局部变量,因此它只能作用于域.如果一个域是静态的基本类型域,且也没有对它进行初始化,那么它就会获得基本类型的标准初始值:如 ...

  6. java闭合数据_java多线程中线程封闭详解

    线程封闭的概念 访问共享变量时,通常要使用同步,所以避免使用同步的方法就是减少共享数据的使用,这种技术就是线程封闭. 实现线程封闭的方法 1:ad-hoc线程封闭 这是完全靠实现者控制的线程封闭,他的 ...

  7. java 分割数据_java 分割csv数据的实例详解

    java 分割csv数据的实例详解 实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分 ...

  8. java存储数据_Java 数据存储

    寄存器register 最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制 最快的存储区(由编译器根据需求分配,无法从程序中控制) 位于处理器内部 数量有限 常量存储constant st ...

  9. java 网页数据_JAVA获取网页数据

    很多时候用到抓取网页数据的功能,以前工作中曾经用到过,今天总结了一下: 1.抓取网页数据通过指定的URL,获得页面信息,进而对页面用DOM进行 NODE分析,处理得到原始HTML数据,这样做的优势在于 ...

最新文章

  1. hadoop 配置项的调优
  2. 超详细Mysql的安装与卸载
  3. python调用摄像头转向_教你如何利用python调用摄像头
  4. 巨人的魔法——腾讯打造会思考的数据中心
  5. 真正优秀的人,都过着朴素的生活
  6. MS08067 Web安全进阶实战班-第一期 强势来袭~
  7. Ubuntu 18.04 无法上网
  8. windows上EndNote的安装和使用,使用报错“服务器运行失败”
  9. oracle 购买预估 硬件,2.2.2 硬件配置的预估
  10. 使用scrapy爬取北京公交
  11. 绝技不是一天练成 新手入库停车技巧图解
  12. 移动Web笔记——视口/二倍图/多倍图/背景缩放
  13. 有道词典java下载手机版下载手机版_有道词典app下载_有道词典在线翻译下载安装手机版v9.08...
  14. 小游戏,利用Python爬虫之制作诗歌接龙
  15. 设计模式——行为型模式_观察者模式/发布-订阅模式
  16. android高级工程师应该会的知识
  17. linux用户模式驱动,linux设备驱动之控制台驱动
  18. 『互联网架构』软件架构-电商系统架构发展历程-1
  19. 黄文仔:积极发展城市更新项目,助推中国城市更新进入“高质量”时代
  20. 《网上苏州》电子地图建设方案

热门文章

  1. YBTOJ:字符串匹配(KMP)
  2. 警卫站岗(树上dp)
  3. P6835-[Cnoi2020]线形生物【期望dp】
  4. U86650-群鸡乱舞【矩阵乘法】
  5. 欢乐纪中某A组赛【2019.7.6】
  6. The 2020 ICPC Asia Macau Regional Contest J. Jewel Grab(数颜色+链表)
  7. 【模板】吉老师线段树
  8. 【DP】Mod Mod Mod(CF889E)
  9. 【dfs】【拓扑排序】组合树
  10. UVA10601 Cubes - 波利亚定理