我读过“ JDKs are usually forward-compatible,and JREs are usually backward-compatible”.

Java开发人员在他们的应用程序中做了什么样的版本检查?

你是否每次发布升级JDK?

如何最大限度地减少版本之间的不兼容性?

解决方法

对我们有效的策略是预先确定我们将支持哪些版本的JRE.我们通过考虑用户使用的平台,我们想要使用的特定JRE的版本特定功能以及JRE版本的发布日期来实现这一点.所有这些都是在与我们的客户支持部门密切协商下完成的. (当然,在其他条件相同的情况下,我们更喜欢新版本,因为它们往往具有错误修复,优化,安全更新等)

然后,这成为我们QA流程的输入.我们的测试工作必须涵盖我们支持的所有JRE版本.

最后,我们使用在部署应用程序时在JNLP文件中指定特定JRE版本的功能,以确保尝试使用不受支持的版本运行我们的应用程序的客户获得“快速失败”的体验(有关如何使用的有用信息)获得正确的JRE版本),而不是在路上的神秘失败.

我们做的最大限度地减少不兼容性的一件事是避免使用未记录的API(sun.misc等).

从代码中明确检查JRE的当前版本应该仅被视为解决特定JRE版本中的已知错误的最后手段.如果在此过程中尽早发现此类错误,我们更倾向于从支持的版本列表中删除该JRE版本.

管理Java版本兼容性的更多相关文章

  1. 如何在iTunes上获取我的应用统计数据?

    我最近发布了一个iPhone应用程序,但我没有看到任何方法来检查应用程序统计数据,就像在GooglePlay中一样.你能告诉我怎么做吗?

  2. ios6 – iOS:在Xcode 4.5中绝对没有办法构建armv6?

    从Xcode4.5开始,不再提供构建armv6设备的可能性.这意味着我们的iPhone2G和3G应用程序没有新版本,这是非常不幸的.有人知道是否会有解决方法?

  3. iOS 6 API和向后兼容性

    可以在支持早期iOS版本的应用中使用iOS6中引入的API和框架吗?这只能通过解决方法和代码来实现,例如:或者我可以在支持早期版本的iOS而不指定版本的应用程序中使用更新的框架,API等?而且,我能否使用Xcode4.5,还是要坚持现在的公开发行版?

  4. ios – Swift 4向后兼容性

    一起使用.有没有办法在两个版本的Xcode中使这个工作?Swift4是否应该向后兼容?

  5. 使用swiftenv管理swift版本

    swiftenv可以让你轻松安装和快速切换在多个版本之间切换的工具安装swiftenv1、下载swifenv你可以将~更改为你喜欢的目录;2、设置环境变量如果你自定义了[1]中的目录,请将将$HOME更改为您自动的目录3、重启shell安装swift1、使用swiftenv安装swift指定版本还可以列出所有swift版本以及所有快照2、局部安装在你需要安装的目录下执行会在当前目录下生成.swift-version文件,该文件能够覆盖全局,达到局部自定义版本;3、全局安装

  6. 译:Swift ABI (一)

    作为Swift社区的一份资源,这份文档也为SwiftABI的发展指明了方向。这些内容记录了和SwiftABI相关的工程和设计任务。在运行时,通过Swift编写的二进制程序通过ABI和其他的程序库或组件进行交互。但Swift是一门和C截然不同的语言,它需要为每一种平台定义自己的ABI。而这份文档中中的绝大部分内容都是和平台无关的,和具体平台相关的考量会影响到SwiftABI的设计和实现细节。

  7. 苹果公司揭秘首批列入 Swift 源代码兼容性开源项目清单

    源代码兼容性是Swift未来的目标。为了实现这一目标,建立了一个源兼容性测试套件,用于根据Swift源代码语料库对编译器进行回归测试更改。添加向项目模板等更多内容请查看Swift官方网站

  8. Swift 3 iOS兼容性

    所以现在我使用Swift3,默认情况下部署目标设置为iOS10.0这意味着我将无法使其运行在例如iOS8-9?“CosinSwift3我使用新的功能,在后来的操作系统中不可用您可以在iOS8&9将DeploymentTarget设置为其中一个版本。Swift3.x与iOS8兼容较新。与Swift2.2的唯一区别是您必须使用Xcode8。当您将部署目标设置为比iOS10更早版本的应用程序时,您应该意识到不能使用iOS10中新增的API,但使用Swift3应该没有问题。编辑:您现在可以使用Xcode8.0GM

  9. Android P预览上的Espresso测试:检测到API兼容性错误的问题

    我正在使用Espresso进行仪器测试并在AndroidPreviewPEmulator上运行它们.我的测试类中有5个测试用例,其中一个测试在运行测试套件时失败并得到以下错误.DetectedproblemswithAPIcompatibility失败的测试用例在单独运行而不是在套件中运行时通过.由于对话框显示在显示检测到的API兼容性问题的视图上,因此在层次结构异常中找不到匹配的视图以及上述错误

  10. android – 如果最低SDK = 14,则为Lollipop提供Appcompat,兼容性和支持库

    我们有一个现有的Android应用程序支持最高级别为18的API级别.我们使用了兼容性库19.1.0.现在我们正在改变/升级到:>最低SDK=14>目标=android-22现在假设有不同版本的v4,v7,v13支持,兼容性和appcompat库,我不确定要包含哪些,哪些不包含.我们使用maven进行依赖管理并使用MavenSDKdeployer解决方法如果您使用的是14的minSDK,那么从技术

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部