您的位置:首页 > 编程语言 > Java开发

Java你好

2015-05-12 14:53 155 查看
我打算把我自己一些目前还不了解的Java信息记录在这里。不一定适合每个人, 但难免有那么一点正是你所需要的。 虽然这跟设计程序没有半毛钱关系,而仅仅是纯粹的Java自造的知识。

2015-05-12

可以使用如下方式来获得Java的版本号,
System.getProperty("java.specification.version");


java.specification.version  1.6
java.version    1.6.0_23
java.vm.version 19.0-b09
java.runtime.version    1.6.0_23-b05


在Java中完全没有办法通过实例化对象获取到类型参数的真实值。例如

List<String> list = new ArrayList<String>();
list.getGenericSuperclass();//其中获取到的是AbstractList<E>的类型, 你是无法得到ArrayList<String>的


要获得这个类型参数可以定义个匿名类,在去获取就可以完成。具体可以参考fastjson中的TypeReference对象, 使用
new TypeReference<String>(){}


2015-05-13

在我看来, Java中真正重要的只有3个部分 —— 泛型、反射和多线程, 难点也在于这三个。其它部分是相当简单的。昨天在看Commons-lang部分TypeUtils和ClassUtils部分代码时,详细看了一下反射的几个类,
Type
Class
TypeVariable
ParameterizedType
WildcardType
GenericArrayType
这几个类就可以反射出任何一个类及其实例化对象的类型参数。另外详细粗略过了一遍 《Java编程思想》 一书中的泛型, 通配符 (?) 使用的场合是声明对象,而其类型是
WildcardType
,在定义泛型类和泛型方法时<T> 的类型是
TypeVariable


基本上学习Java需要的只有三本书, Java编程思想 、 Effective Java 、 Java并发编程实践。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: