向下应该是兼容的,不过最好还是放在同版本的jdk下面运行。

解决方案 »

  1.   

    会存在一些小问题的,如:
    public class Test { 
    public static void main(String... args) {
    String str = args[0]; 
    System.out.println(str.intern() == str); 
    }
    }hotspot1.7和之前的版本运行结果就不一样又如 public static void main(String[] args) {  
            Integer a = 1000;  
            Integer b = 1000;  
            System.out.println(a == b);  
              
            Integer c = 1001;  
            Integer d = 1001;  
            System.out.println(c == d);  
              
            Integer e = 20000;  
            Integer f = 20000;  
            System.out.println(e == f);  
        }  
    hotspot1.6中上面的代码可以运行出全部为true的结果,或部分false部分true的结果----------------
    不过,这都是些无关紧要的问题,这样的代码也几乎不会出现在程序里,so,纯java的话基本可以平滑升级。但如果程序里有直接操作字节码的,印象中hotspot1.7开始改变了字节码验证规则,部分动态生成的类可能会抛错,具体版本忘记了。。
      

  2.   

    如果不是必要就不要升级了,除非需要使用1.6中的某些特性,或者要规避1.4中的bug。