Tag: java 6

Java 6,JFrame卡住了alwaysontop

这个问题似乎只发生在我从1.5升级到1.6之后 主JFrame,随机似乎陷入了Windows中其他所有应用程序的面前。 甚至另一个JDialog弹出设置为alwaysontop(true)将在这个主要的JFrame背后。 关于什么可能导致这个问题的任何想法? /任何解决方案的想法? 从来没有在Java 5上遇到过这个问题。

如何将元素的内部文本内容映射到Class属性?

假设我分别有以下XML和Java代码: My text content @XmlRootElement( name=”foo” ) public static class Foo { // This is where I want to see “My text content” stored private String text; // getters and setters } 当我尝试编组XML时,我的Foo实例没有使用给定XML中我的foo元素的内部文本中的值填充其text属性。 我该如何解决这个问题?

来自JDK1.6中ManagementFactory的托管Mbeans – NotCompliantMBeanException:

我使用ManagementFactory来获取JDK1.5和JBOSS 4.X中的ManagedMbeans。 现在想将我的相同代码移动到JDK 1.6。 Mbean部分打破抛出exception 引发者:javax.management.NotCompliantMBeanException:Class不公开管理接口:java.lang.Object引发者:java.lang.Exception:无法使用JBoss MBeanServer注册平台(JVM)MBean

Java将枚举编译成什么?

我和同事讨论了Java如何代表枚举。 我的印象是他们像C / C ++一样严格要求。 或者,如果添加行为(Type-Safe枚举),它将被包装在一个类中。 他认为,如果它足够小,Java会将其压缩到一个字节。 但是,我在Oracle网站上发现了这个: Java编程语言枚举远比其他语言中的对应程序更强大,这些语言只不过是美化整数。 新的枚举声明定义了一个完整的类(称为枚举类型)。 我认为它们是实际的物体。 如果是这样,有没有办法优化它们以节省空间? 谢谢 编辑:正如Jon对答案的评论中提到的,我是在Enum的序列化大小之后。

Java:包装Java 1.5和1.6代码的最简单方法

我想打包一段绝对必须在Java 1.5上运行的代码。 如果VM是1.6 VM,则代码的一部分可以“增强”程序。 基本上这是这个方法: private long[] findDeadlockedThreads() { // JDK 1.5 only supports the findMonitorDeadlockedThreads() // method, so you need to comment out the following three lines if (mbean.isSynchronizerUsageSupported()) return mbean.findDeadlockedThreads(); else return mbean.findMonitorDeadlockedThreads(); } 什么是最简单的方法在1.5上进行编译 ,然后在1.6时进行1.6方法调用 ? 在过去,我通过编译一个独特的1.6类来做类似的事情,我将使用我的应用程序打包并在1.6上使用ClassLoader实例化(因为1.6 JVM非常适合混合0x32和0x31类),但我认为这是一个有点矫枉过正(有点痛苦,因为在构建过程中你必须构建0x31和0x32 .class文件)。 如果我想在1.5上编译上述方法,我该怎么办? 也许使用reflection然后如何(我对reflection我根本不熟悉) 注意:如果你很好奇,上面的方法来自这篇文章: http : //www.javaspecialists.eu/archive/Issue130.html (但我不想像在文章中那样“评论三行”,我想要在1.5和1.6上编译和运行)

与Java 7兼容的旧项目

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

向前兼容的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博客 ,其中评论员建议支持最新的源版本

使用Eclipse编译java 7 for java 6

我需要为Java 6编译一个项目,以便与java 6或7一起使用(我无法升级我生活中的所有计算机)。 我一直在寻找并找到一些有用的 东西 ,但我对java很新 – 我不太了解如何使用提供的替代品(ant-build,Maven,javac)。 我的程序不使用Java 6中没有的任何API方法,但它确实使用了另一个外部.JAR的API(它是示例程序的基本插件) 是否有一种简单的方法可以使用Eclipse的Export函数执行此操作,还是需要使用其他一些程序/方法? 如果我需要使用除Eclipse之外的其他东西,那么我最好如何为依赖于另一个外部.jar API的多类多包文件执行此操作?

在java 1.6中String.split的行为?

我的代码是: String s = “1;;;; 23;;”; System.out.println(s.split(“;”).length); 并给出输出5 。 split的源代码是: public String[] split(String regex) { return split(regex, 0); } 并且文件说: 此方法的工作方式就像通过调用给定表达式和limit参数为零的双参数split(java.lang.String,int)方法一样。 因此,结尾的空字符串不包含在结果数组中。 例如,字符串“boo:and:foo”会产生以下结果: Regex Result : { “boo”, “and”, “foo” } o { “b”, “”, “:and:f” } 如果我打印我有的字符串: 1 23 我不应该从这1;;;; 23;; 1;;;; 23;; 像{“1”, “”, “”, “”, ” 23″, “”} ?

无参数function的标准接口

Java 6(或任何兼容的库)标准接口是否存在无参数函数和generics返回类型。 就像是: interface Foo { T call(); }