我在我的代码中使用Java1.7,现在我想将JAVA1.7替换为JAVA1.8。是Java1.8与Java1.7兼容。?它会像以前一样工作吗。我的意思是,Java1.8的所有新特性都可以在现有代码段中使用? 最佳答案 现有代码段(事实上)不会使用Java8的任何新功能。如果您有一段代码可以在Java版本上运行1v,它也适用于所有其他版本v'>v。这是Java平台的长期promise。1我所说的“工作”是指“按规定工作,使用未弃用的官方JDKAPI”。 关于java1.8与java1.7兼
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。ImprovethisquestionAWS推出了AWSLambda,一个用于动态应用程序的事件驱动计算服务,我希望它能让我实现以下目标:它应该获取一个链接,然后执行HTTP请求并处理来自该请求的传入响应。对于这个过程,我需要多个程序,它们在队列中执行。所以Lambda函数必须从Lambda函数执行几个Java/C++程序和一些Python脚本。如果这不可能,我能否将此代码/可执行文件转换为Node.js模块并以这种方式在同一过程中使
我读过“JDKsareusuallyforward-compatible,andJREsareusuallybackward-compatible”。Java开发人员在他们的应用程序中执行哪些类型的版本检查?您是否在每次发布时都升级您的JDK?如何最大限度地减少版本之间的不兼容性? 最佳答案 Howdoyouminimizeincompatibilitiesbetweenreleases?阅读类似IncompatibilitiesinJ2SE5.0since1.4.2的文档使用thistable找出jdk版本之间的所有不兼容性:报告
我有一个使用jdk1.7编译的jar文件,我想在加载时检查我的jar运行的java运行时环境是1.7还是更新版本。有办法吗?我尝试使用System.getProperty("java.version")但这没有帮助,因为我的类版本是51并且jre1.6拒绝加载它。 最佳答案 我有同样的需求,我通过以下方式解决了:有一个“启动”类,它绝对不依赖于(=导入)任何新的JDK类或任何应用程序的类。你男人不按名称导入你的主类!类似于:在该入门类中,检查您需要的Java版本。如果检查成功,则使用反射加载您的主类并启动它的主要方法(或您使用的任何
我目前正在阅读JoshuaBloch的《EffectiveJava》,第17条是“为继承设计和记录,否则禁止继承”。作者建议默认禁止继承。在默认情况下将类声明为final是否安全,如果需要扩展类,在以后的版本中删除final关键字是否安全?它会破坏对使用先前版本编译的代码的向后兼容性吗?如果是这样,似乎更安全的做法是将所有类设为最终类,并且仅在有良好支持需求的情况下在未来的版本中将其删除。 最佳答案 它既不破坏二进制也不破坏源兼容性。这就是将类(class)设置为final是个好主意的原因之一;改变主意总是可以的。TheJavaLa
在Java中,我定义了一个抽象类,里面既有具体的方法,也有抽象的方法,而且必须由第三方开发者独立子类化。只是为了确定:我是否可以对抽象类进行任何更改,使其与它们的类源代码兼容但二进制不兼容?换句话说:在他们编译了他们的子类之后,我可以改变抽象类-除了例如向其中添加一个抽象方法或从中删除一个由子类调用的protected方法,这些子类当然是源代码不兼容的——以一种可能迫使他们重新编译其子类的方式? 最佳答案 如果现在更改您的系统还为时不晚,我建议您这样做。覆盖通常不是自定义功能的好方法,因为它非常脆弱。例如,如果您稍后使用您的客户使用
我正在使用Lobo-JavaWebBrowser库,它给了我一个异常,经过一些研究我确定可能是由于该库已针对旧版本的Java进行了编译。代码如下:importjava.io.IOException;importorg.lobobrowser.html.UserAgentContext;importorg.lobobrowser.html.parser.DocumentBuilderImpl;importorg.lobobrowser.html.parser.InputSourceImpl;importorg.lobobrowser.html.test.SimpleUserAgentCo
谁能解释一下:1.ga、GA和FinalHibernate版本之间的区别?2.我应该使用maven存储库还是jbossnexus存储库?3.为什么最新的兼容性矩阵(http://community.jboss.org/wiki/HibernateCompatibilityMatrix)没有列出任何高于3.2.6GA的版本?我使用的是以下版本,我正在努力弄清楚是否应该升级:org.hibernatehibernate3.2.6.gaorg.hibernatehibernate-annotations3.3.0.gaorg.hibernatehibernate-commons-annota
详细说明:如果我们使用公共(public)API,例如编写java程序,在JDK1.4中,如果应该在它上面的所有版本中都能正常运行。在1.4、1.5、1.6和1.7中的所有更新版本中?另外,不同更新版本之间的可组合性规则是什么,例如1.6.22和1.6.23什么不能改变,什么可以改变?当然,publicAPI的定义是不能改的,那其他的呢?javadoc?内部API定义、实现?如果有人能指出关于这个主题的具体官方文档,那就太好了。谢谢,在java文档错误中有一个例子,他们不打算在更新程序版本之间进行更改。见http://bugs.sun.com/bugdatabase/view_bug.
以下代码将jar文件添加到构建路径,它在Java8中运行良好。但是,它在Java9中抛出异常,该异常与对URLClassLoader的转换有关。任何想法如何解决这个问题?最佳解决方案将对其进行编辑以同时适用于Java8和9。privatestaticintAddtoBuildPath(Filef){try{URIu=f.toURI();URLClassLoaderurlClassLoader=(URLClassLoader)ClassLoader.getSystemClassLoader();ClassurlClass=URLClassLoader.class;Methodmethod