摘要:
泛型(Generic)—泛形的作用JDK5以前,对象保存到集合中就会失去其特性,取出时通常要程序员手工进行类型的强制转换,这样不可避免就会引发程序的一些安全性问题。例如:ArrayList list = new ArrayList();list.add("abc");Integer num = (Integer) list.get(0); //运行时会出错,但编码时发现不了list.add(new Random());list.add(new ArrayList());for(int i=0;i<list.size();i++){ (?)list.get(i); // 阅读全文
摘要:
1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完毕后,低优先级的线程才能够执行;但是高优先级的线程sleep(500)后,低优先级就有机会执行了。总之,sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级、高优先级的线程有执行的机会。2 阅读全文
摘要:
10.1 集合类与数据容器 Java用集合类来容纳不同种类的数据,这种容纳是建立在未知的基础上,即Java要用有限种类的集合类,来容纳无限种类的数据对象。¯ 分类µ 以数组为代表的线性表型的数据结构 以Collection为基类--封装了线性表的插入、删除等基本操作µ 以Map为代表的“键-值”对类型的数据结构 以Map为基类--封装了“键-值”对的结构10.2 线性表型的集合 用线性表型的集合可以描述和容纳以线性表方式(顺序)存储的数据对象。包括数组、Vector、List、Stack和Set等。¯ 顺序访问的典范——数组类 数组就是最常见的线性表。定 阅读全文