解惑

解己之惑,解人之惑

标签:class

Web Service的方法有很多限制

这个是这段时间发现的,Web Service的方法限制很多,简单的列举下这段时间遇到的:

  • 输入和输出参数不能用Collection等接口,如果用List最好直接用ArrayList,而且ArrayList也不能作为输入参数,只能作为返回值类型
  • 输入参数不能用Class类型
  • ArrayList和Class都可以wrapper以后用,也就是输入参数里面的类型里面包含ArrayList或Class是没有问题的

最后发点感慨,JAXB的默认实现要求比较多,可能是因为JDK的很多类那个时候是没有考虑到这些。

查看Class文件的版本

呵呵,同事的类编译出来以后在Tomcat里面运行一直报错,说类版本不对,他已经把JDK1.6卸载了,上网查了下,一个简单的类就可以读出class文件的版本:

import java.io.*;

public class ClassVersionChecker {
    public static void main(String[] args) throws IOException {
        for (int i = 0; i < args.length; i++)
            checkClassVersion(args[i]);
    }

    private static void checkClassVersion(String filename)
        throws IOException
    {
        DataInputStream in = new DataInputStream
         (new FileInputStream(filename));

        int magic = in.readInt();
        if(magic != 0xcafebabe) {
          System.out.println(filename + " is not a valid class!");;
        }
        int minor = in.readUnsignedShort();
        int major = in.readUnsignedShort();
        System.out.println(filename + ": " + major + " . " + minor);
        in.close();
    }
}

major  minor Java platform version
45       3           1.0
45       3           1.1
46       0           1.2
47       0           1.3
48       0           1.4
49       0           1.5
50       0           1.6

原文在这里

© 2024 解惑

本主题由Anders Noren提供向上 ↑