
Java
文章平均质量分 82
袁慎建@ThoughtWorks
ThoughtWorks咨询师,健身爱好者
展开
-
Java泛型解析(04):约束和局限性
前两节,认识和学习了泛型的限定以及通配符,初学者可能需要一些时间去体会到泛型程序设计的好处和力量,特别是想成为库程序员的同学就需要下去体会通配符的运用了,应用程序员则需要掌握怎么使用泛型,这里针对泛型的使用中的约束和局限性做一个介绍性的讲解。原创 2014-10-15 09:42:40 · 3918 阅读 · 3 评论 -
Java泛型解析(03):虚拟机执行泛型代码
Java虚拟机是不存在泛型类型对象的,所有的对象都属于普通类,甚至在泛型实现的早起版本中,可以将使用泛型的程序编译为在1.0虚拟机上能够运行的class文件,这个向后兼容性后期被抛弃了,所以后来如果用Sun公司的编译器编译的泛型代码,是不能运行在Java5.0之前的虚拟机的,这样就导致了一些实际生产的问题,如一些遗留代码如何跟新的系统进行衔接,要弄明白这个问题,需要先了解一下虚拟机是怎么执行泛型代码的。 总结: 1.记住一点,虚拟机中没有泛型,只有普通的类。 2.所有泛型的类型参数都用它原创 2014-10-14 09:46:25 · 2719 阅读 · 1 评论 -
Java泛型解析(02):通配符限定
1.泛型参数的限定,使用extends关键字,限定多个类型时用"&"隔开。如:<T extends Runnable& Serializable> 2.泛型参数限定中,如果限定的类型是class而不是interface,则class必须放在限定类表中的第一个,且最多只能存在一个class。如:<T extends ArrayList & Runnable& Serializable> 3.通配符只能用在泛型类的泛型参数中,不能单独使用。如Couple<?>、Couple<? exte原创 2014-10-13 09:42:07 · 3758 阅读 · 7 评论 -
Java泛型解析(01):认识泛型
Java从1.0版本到现在的8,中间Java5中发生了一个很重要的变化,那就是泛型机制的引入。Java5引入了泛型,主要还是为了满足在1999年指定的最早Java规范之一。经过了5年左右的时间,专家组定义了一套泛型规范,实现后通过测试投入到使用。所以说泛型是Java5以后才有的,欲知详情,继续往下看。 这一节里,对泛型有了一个整体的认识,知道它是什么?为什么要用它?谁会用它?以及如何使用它?通过了泛型类和泛型方法的实践,感受了如何实现自己的泛型,后面一节,将对泛型中通配符进行讲解,以及虚拟机对泛型类原创 2014-10-12 16:32:39 · 2710 阅读 · 0 评论 -
阿里巴巴面试题--Java对象初始化
这是一道阿里巴巴的关于Java对象初始化的面试题,堪称经典,代码很简单(编写格式做了些修改),但是需要面试者对Java中对象初始化有一个透彻的认识,那么通过这道面试题,对我有点启发,所以希望在这里分享给大家,希望能给迷惘的初学者一起指引,下面我们直入主题,先看看代码: public class InitializeDemo { private static int k = 1; private static InitializeDemo t1 = new InitializeDemo("t1"); p原创 2014-02-21 10:12:22 · 6264 阅读 · 41 评论 -
ClassLoader in Java
ClassLoader in Java 简单写写Java反射和ClassLoader,之前玩过反射,觉得很有趣,这里就很简单的总结点,为学习Spring3.x做准备。 1.Java反射 在Jdbc中我们通常首先会根据一个字符串加载特定数据库驱动类的字节码,如下: Class.forName("com.mysql.jdbc.Driver"); Class.forName("o原创 2013-05-22 17:35:40 · 1667 阅读 · 0 评论