小编And*_*ips的帖子

为什么隐藏的静态方法在Sun JDK 6下编译但在OpenJDK 6和7下导致编译失败?

以下课程:

public class StaticMethodsDemo {

    public static class A {
        public static A make() { return new A(); };
    }
    public static class B extends A {
        public static B make() { return new B(); };
    }
    public static class BPrime<T> extends A {
        public static <T> BPrime<T> make() { return new BPrime<T>(); };
    }

    public static void main(String[] args) {
        B.make();
        // compiles under Sun JDK 1.6.0_20 but fails under Oracle JDK 1.7.0_01. Why?
        BPrime.<Object>make();
    }
}
Run Code Online (Sandbox Code Playgroud)

在Sun JDK …

java generics java-7

17
推荐指数
1
解决办法
1149
查看次数

在Oracle WebLogic Server中定位外部服务器的常见做法是什么?

我们正试图想出一些接近简单直接模型的东西,用于在WebLogic中定位JMS资源(我知道这很有可能).队列和主题可以轻松而直观地映射到WebLogic服务器上运行的JMS服务器,但外部服务器及其中的资源似乎更棘手.

在WLS 10.0和10.3中,首先,外部服务器不是在JMS服务器旁边定义,而是作为JMS模块的成员定义.其次,默认情况下,它们定位到它们所定义的JMS模块的目标,即WLS集群或WLS服务器,而不是通过子部署针对JMS服务器的"非外部"资源.

但是,通过高级定位,还可以在JMS服务器上定位外部服务器.这导致模型相对于外来/"非外来"JMS资源更加对称.

高级定位http://dexter.xebialabs.com/Media/foreign_server_advanced_targeting.png

所以,问题是:

  1. 除了历史意外之外还有任何理由为什么外部资源和"非外国"资源定位是如此不同(默认情况下,WLS群集或WLS服务器上的外部资源与JMS服务器上的非外部资源相比)?
  2. 针对外国和非外国资源有任何共同或最佳做法吗?
  3. 是否有人不希望通过子部署在JMS服务器上定位外部服务器?

提前致谢!

安德鲁菲利普斯

java weblogic middleware

15
推荐指数
1
解决办法
2268
查看次数

为什么列表的通用演员<?扩展Set ..>到List <Set ..>在Sun JDK 6上成功但在Oracle JDK 7上无法编译?

以下代码

class GenericCompilationFailureDemo {
    List<? extends GenericCompilationFailureDemo> newList() { 
        return new ArrayList<GenericCompilationFailureDemo>(); 
    };

    void useList() {
        List<GenericCompilationFailureDemo> list = 
            (List<GenericCompilationFailureDemo>) newList();
    }  

    List<? extends Set<GenericCompilationFailureDemo>> newListOfSpecificSets() { 
        return new ArrayList<Set<GenericCompilationFailureDemo>>(); 
    };

    void useListOfSpecificSets() {
        List<Set<GenericCompilationFailureDemo>> listOfSpecificSets = 
            (List<Set<GenericCompilationFailureDemo>>) newListOfSpecificSets();
    } 

    List<? extends Set<? extends GenericCompilationFailureDemo>> newListOfSets() { 
        return new ArrayList<Set<? extends GenericCompilationFailureDemo>>(); 
    };

    void useListOfSet() {
        List<Set<? extends GenericCompilationFailureDemo>> listOfSets = 
            (List<Set<? extends GenericCompilationFailureDemo>>) newListOfSets();
    }  
}
Run Code Online (Sandbox Code Playgroud)

在Sun JDK 1.6.0_20下编译(在Windows Vista上为64位,但我认为没有任何区别)但在Oracle JDK 1.7.0_01(同一平台)下导致以下编译失败:

[ERROR] src\main\java\GenericCompilationFailureDemo.java:[56,78] error: inconvertible types
Run Code Online (Sandbox Code Playgroud)

请注意,前两个 …

java generics java-7

13
推荐指数
1
解决办法
3575
查看次数

标签 统计

java ×3

generics ×2

java-7 ×2

middleware ×1

weblogic ×1