yan*_*kee 8 java optimization jit
众所周知,泛型类型在编译过程中无法存在.他们被类演员取代.
但是,类型信息存在于类文件中,可以使用反射查看:
public class Demo
{
private List<String> list;
public Demo() throws SecurityException, NoSuchFieldException
{
System.out.println(((Class<?>)((ParameterizedType) getClass().getDeclaredField("list").getGenericType()).getActualTypeArguments()[0]).getName());
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException
{
new Demo();
}
}
Run Code Online (Sandbox Code Playgroud)
执行时,将打印java.lang.String.
JIT可以将它用于某种优化吗?或者从JIT的角度来看这些信息是无用的?