Tag: java 7

Project Coin的集合增强function将在JDK8中进行吗?

最初Project Coin 增强了对集合的支持,例如list[3]而不是list.get(3)和map[“hello”] = 27而不是map.put(“hello”, 27)但它们不在jdk7中 。 他们会在jdk8吗? 对于是或否,我找不到确定的答案。

为什么isAnnotationPresent在Java 7和Java 8之间的工作方式不同?

我刚刚发现这个,因为我的一个unit testing由于从Java 7升级到Java 8而失败。unit testing调用一个方法,该方法试图在子类上注释但具有不同返回类型的方法上查找注释。 在Java 7中, isAnnotationPresent似乎只能在代码中真正声明它们时才能找到注释。 在Java 8中, isAnnotationPresent似乎包含在子类中声明的注释。 为了说明这一点,我创建了一个简单的(??)测试类IAPTest(用于IsAnnotationPresentTest)。 import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Method; public class IAPTest { @Retention(RetentionPolicy.RUNTIME) public static @interface Anno { } public static interface I { } public static interface IE extends I { } public static class A { protected I method() { return null; } […]

覆盖rt.jar中的单个类

我正在寻找一种巧妙的方法来覆盖引导类路径rt.jar类。 原因是OpenJDK7错误http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7104625 修复此错误是一个微不足道的(请参阅链接邮件列表post)更改为sun.awt.X11.XComponentPeer 。 所以我想知道是否有一种简单的方法可以在我的类路径上覆盖这个受影响的类,而不必重新打包/重建rt.jar(因此修复不会在下一次自动更新OpenJDK时丢失)。 理想情况下,它也会影响Eclipse …… 我假设java -Djava.system.class.loader=myClassLoader可以工作吗? 有没有其他方法可以使用这样的“修补程序”覆盖单个类? (注意:在我自己的代码中没有使用,但在Java AWT代码中很深)

如何通过javax.xml.ws.Service进行调用

在Eclipse中创建了一个新的标准java 7项目,并成功设法获取javax.xml.ws.Service的实例,如下所示: String wsdlURL = “http://example.com:3000/v1_0/foo/bar/SomeService?wsdl”; String namespace = “http://foo.bar.com/webservice”; String serviceName = “SomeService”; QName serviceQN = new QName(namespace, serviceName); Service service = Service.create(new URL(wsdlURL), serviceQN); 这在主方法中运行良好,所以据我所知,该部分有效。 但我无法弄清楚如何实际使用它。 在SoapUI中,我使用如下所示的请求调用此相同的服务: 012345678901234 Fix 如何在Java中执行相同的请求? 我的目标是我有一个很长的这些id列表,我需要为每个id运行这样的请求。 在SoapUI中手动执行它有点烦人,因此我想使用简单的Java控制台应用程序自动执行它。

JRE 1.7漏洞

今天,我们的企业架构师提到最近在JRE 1.7中发现了一个漏洞。 我发现了一篇JRE 1.7漏洞,建议禁用Java 。 我正在运行JDK 1.5和1.6(像许多组织一样,我们没有使用最新的技术),所以没有问题。 在家里,我正在使用Java SE 7u6进行开发。 我正在玩Grails,Spring Security,试图继续学习。 我已经在家庭开发机器上的所有浏览器中删除并禁用了Java Plug-in。 但是,有没有人知道我的家用开发机器是否因安装了JDK 7而仍然易受攻击? 我确实在US-CERT上发现了这篇文章,声明了漏洞通知: Oracle Java JRE 1.7 Expression.execute()无法限制对特权代码的访问 。 听起来只要浏览器无法运行Applet,我应该没问题(它应该禁用Java Plug-in)。 但是,Java Web Start / JNLP呢? 可以调用吗? 除了小应用程序之外,这是我能想到的唯一可能引起关注的问题。 只是想知道我是否需要完成卸载Java SE 7并退回到JDK6的工作。 在使用JRE 1.7了解此安全问题后,其他人做了什么?

Java 7u4 webstart安全性exception:类与信任级别不匹配

我们开始注意到,使用Java 7(特别是更新4),我们的所有用户都开始使用我们的Webstart应用程序看到这一点: [14:42:58,422] AWT-EventQueue-0(DEBUG) java.lang.SecurityException: class “CLASSNAME” does not match trust level of other classes in the same package [14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source) [14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source) [14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source) [14:42:58,422] AWT-EventQueue-0(DEBUG) at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source) [14:42:58,422] AWT-EventQueue-0(DEBUG) at java.net.URLClassLoader$1.run(Unknown Source) [14:42:58,422] AWT-EventQueue-0(DEBUG) at java.net.URLClassLoader$1.run(Unknown Source) [14:42:58,422] AWT-EventQueue-0(DEBUG) at java.security.AccessController.doPrivileged(Native Method) [14:42:58,422] […]

Java 7使用Web Start打破OS X上的SWT应用程序

我们有一个通过使用SWT库的webstart启动的应用程序。 众所周知,osx需要swt库在主线程中运行,所以我们在jnlp中有这个: 由于我们已经升级到Java 7(1.7.0_10),似乎webstart没有将“-XstartOnFirstThread”传递给它启动的java进程。 我可以从’ps’看到java进程没有得到“-XstartOnFirstThread”选项。 有谁知道如何让webstart回到之前的行为? 问候,戈德。 这是webstart日志显示的内容: Java Web Start 10.10.2.18 Using JRE version 1.7.0_10-b18 Java HotSpot(TM) 64-Bit Server VM User home directory = /Users/shier —————————————————- c: clear console window f: finalize objects on finalization queue g: garbage collect h: display this help message m: print memory usage o: trigger logging p: reload proxy […]

即将推出的Java并发库是什么:jsr166y? jsr166z?

我想要使​​用即将包含的即将推出的并发库 根据这个网站的 Java 7。 它似乎被命名为JSR166 。 在大多数地方,它的参考实现被称为jsr166y ,而很少有资源称它为jsr166z 。 我为每个参考实现发现了两个完全不同的 javadoc。 jsr166y的文档 jsr166z的文档 现在,哪个实现将包含在Java 7中? 编辑 虽然回答的人建议jsr166y是Java 7的东西,但我从JavaOne发现了这个文档(TS-5515) 。 本文档引用Java 7,但提到的LinkedAsyncAction仅存在于jsr166z javadocs中。 (混乱…)

如何在JDK7中使用目录通配符

我一直在尝试使用JDK7中的新globbingfunction,从文档和示例开始 我可以使用诸如”glob:*.dat”这样的”glob:*.dat”来处理 Files.walkFileTree(startingDir, finder); 例子,但我无法使”**”语法工作。 我希望能够创建类似的东西: matcher = FileSystems.getDefault().getPathMatcher(“glob:” + “foo/**/bar/*.dat”); 并希望得到一个简单的例子。 我使用的是Windows 7。 更新:@Oleg和@JBNizet清楚地表明“/”语法与操作系统无关。 请注意, Javadocs建议也可以使用依赖于操作系统的语法(需要) 仍有问题:已采取@Nizet并编辑如下: @Test public void testStackoverflowGlobber() throws IOException { final PathMatcher matcher = FileSystems.getDefault().getPathMatcher(“glob:*.cml”); Files.walkFileTree(Paths.get(“d:/petermr-workspace/jumbo-converters/jumbo-converters-cli/src/test/resources”), new SimpleFileVisitor() { @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { System.out.println(“try>> “+file); if (matcher.matches(file)) { System.out.println(“MATCHES>>”+file); } return FileVisitResult.CONTINUE; } @Override […]

Java7规范中的语法是否真的相同?

JLS v7 第18章中的语法似乎与文档中其他地方的结构不同,但对我来说似乎存在差异。 特别是在第15章中,规则是: RelationalExpression: ShiftExpression RelationalExpression ShiftExpression RelationalExpression = ShiftExpression RelationalExpression instanceof ReferenceType 这使得foo instanceof Bar成为一个RelationalExpression(因此是一个EqualityExpresson),它又可以在EqualityExpression规则中用作LHS,这使得foo instanceof Bar == false为EqualityExpression。 但是在第18章中查看语法时,他们对它进行了简化: Expression2: Expression3 [Expression2Rest] Expression2Rest: { InfixOp Expression3 } instanceof Type 这看起来很奇怪,这意味着我们可以将Expression3与二元运算符链接在一起,或者我们可以检查一个Expression3的类型。 具体来说,现在foo instanceof Bar是一个Expression2 ,但我没有看到使用Expression2作为相等比较的LHS是有效的。 我是否错过了第18章语法中的一些内容,使得foo instanceof Bar == false是一个有效的表达式? 请注意,根据第15章中的规则并根据我的编译器,它是一个有效的表达式。