Tag: java 7

Java中lambda() – > {}的含义

我正在看下面的Stack Overflow答案: 如何在运行时更改Spring的@Scheduled fixedDelay 在代码中有以下行: schedulerFuture = taskScheduler.schedule(() -> { }, this); 我想知道lambda () -> {}在该代码中的含义。 我需要在不使用lambdas的情况下编写它。

如何注册JDK CAP(兼容性和性能计划) – 早期发布通知

我们被Java发布的7u45新安全基线要求所困扰,这导致我们的applet无法工作,直到最终用户调整了java控制面板的安全设置(参见下面的问题讨论) Java applet清单 – 允许所有Caller-Allowable-Codebase 如果可能的话,我们希望建立一个可以主动测试新jdk版本的流程。 Oracle / Sun似乎提供了一种获得此通知的方法。 http://www.oracle.com/technetwork/java/index-jsp-137266.html CAP(兼容性和性能程序)是Java标准版(Java SE)的早期访问程序。 作为我们正在进行的工作的一部分,我们正在努力确保Java SE的新版本兼容,强大且快速,我们正在创建这个早期计划,旨在让关键开发人员尽早访问我们的最新版本。 该计划不向公众开放。 上述url表示这不向公众开放,也没有提供注册方式。 我一直在寻找一点,但到目前为止还没有成功。 感谢您的帮助(如果我发现更多信息,我会更新) 关心G.

Swing菜单Java 7 mac osx

我一直在测试运行在applet上的mac os x上的Swing应用程序。 当我在浏览器中运行此applet时,我注意到JMenus / JMenuItems上的鼠标hover无法正常工作。 这是一个重现问题的小程序: package com.macosx.tests; import java.applet.Applet; import java.awt.event.*; import java.awt.*; import javax.swing.*; public class Example extends JApplet { JMenuBar bar; JMenu file, edit; JMenuItem new1, save, close; private void doStart() { bar = new JMenuBar(); file = new JMenu(“File”); edit = new JMenu(“Edit”); new1 = new JMenuItem(“New”); save = new […]

Eclipse将编译器合规性更新为1.7

我在更新我的eclipse工作区的编译器合规性时遇到了一些麻烦(我实际上使用的是RTC,但它本质上是eclipse)。 目前,它使用1.6的jdk,因此我可以将JDK合规性更改为1.6的限制。 但是,我正在为我的项目使用jdk 1.7 – 我已将其添加为JRE – preferences –> Java –> Installed JRE –> added jre with the jdk 1.7 directory. 但是,即使我将其用作默认JRE,它也不允许我将编译器合规性级别更改为1.7。 我猜我有些东西不见了。 任何帮助将不胜感激

如何实现与hibernate相等而不会失去对称属性的风险?

在阅读之后(再次,应该已经做了很久以前)正确实现了equals和hashcode我得出了这些结论,这对我有用: 如果在JDK 7之前 :首选使用Apache commons equalsbuilder和hashcodebuilder。 (或番石榴)。 他们的javadoc包含如何以良好的方式使用它们的示例。 如果是JDK 7 ++ :使用新的Objects实用程序类 但是,如果为hibernate写一些特殊的请求出现(参见更远的源代码)其中推荐使用instanceof而不是getClass ,因为hibernate创建了延迟加载的子类的代理。 但据我所知,如果这样做,另一个潜在的问题就出现了:使用getClass的原因是为了确保equals合约的对称属性。 JavaDoc中: *It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.* 通过使用instanceof,它可能不是对称的。 示例:B扩展A. A的等于A的检查实例.B的等于B的实例检查。给A a和B b: a.equals(b) – > true b.equals(a) – > false 如何实现与hibernate相等而不会失去对称属性的风险? 使用getClass时我似乎不安全,使用instanceof时我不安全? 答案是永远不要将重要成员添加到子类,然后使用instanceof是安全的(对于hibernate)? 我读到的消息来源: […]

如何在Java 7中实现多捕获?

Java 7编译器如何处理多捕获块? 一个简单的实现是生成字节码,就好像存在多个catch块一样。 但是,我从多个来源收集到的情况并非如此 – 处理多个exception类型的catch块在编译期间不会产生重复的字节码。 那么它是怎样工作的 ? 是否有新的字节码指令告诉JVM多捕获块?

与Java 7兼容的旧项目

我的旧项目使用Java 6(1.6),我不知道何时更新(Java 7),它们可以正常运行?

Java 7 – 多行字符串

我已经读过,建议在Java 7中添加多行字符串文字。 虽然我找不到任何文件肯定说他们已经。 我想知道它们是否是,因为这是我考虑切换版本的东西。

try-with-resource中的close()exception

我正在阅读JDK7中的try-with-resource,当我考虑升级我的应用程序以使用JDK7运行时,我遇到了这个问题。 当使用BufferedReader时,例如写入抛出IOException和close抛出IOException ..在catch块中我关注写入引发的IOException ..但是我不会太在意关闭抛出的那个.. 数据库连接..和任何其他资源的相同问题.. 作为一个例子,我创建了一个自动关闭资源: public class AutoCloseableExample implements AutoCloseable { public AutoCloseableExample() throws IOException{ throw new IOException(); } @Override public void close() throws IOException { throw new IOException(“An Exception During Close”); } } 现在使用它时: public class AutoCloseTest { public static void main(String[] args) throws Exception { try (AutoCloseableExample example = new AutoCloseableExample()) { […]

向前兼容的Java 6注释处理器和SupportedSourceVersion

我正在为一个项目尝试Java 7并从这种注释处理器(Bindgen和Hibernate JPA modelgen)获得警告: warning: Supported source version ‘RELEASE_6’ from annotation processor ‘org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor’ less than -source ‘1.7’ 这是由注释处理器类上的@SupportedSourceVersion(SourceVersion.RELEASE_6)注释引起的。 由于它们是使用Java 6编译的,因此它们可用的SourceVersion最大值是RELEASE_6 。 SourceVersion的Java 7版本引入了RELEASE_7 。 我的问题:注释处理器如何处理前向兼容性? 是否必须有单独的jdk6和jdk7二进制版本? 我在这里不理解其他什么吗? 我只发现了有关此问题的以下信息: 使用的Querdydsl错误报告 @Override public SourceVersion getSupportedSourceVersion() { return SourceVersion.latest(); } Oracle博客 ,其中评论员建议支持最新的源版本