java
文章平均质量分 67
yaozq的android开发
这个作者很懒,什么都没留下…
展开
-
从设计的角度讨论Java中线程的两种创建方式
Java中的多线程让我们的程序可以同时运行多个任务,即使我们的CPU是单核的。当然我们都明白这种情况下的同时运行,并不是真正的同时运行,而是JVM中的线程调度器根据时间片轮转的方式快速的在不同线程间的切换。线程调度器让JVM一会运行这个线程,一会运行那个线程,切换的速度很快便我们产生了这些线程好像同时运行的假象。线程的创建方式有两种,这两种方式究竟有什么不同?性能有什么差异?为什么要设计两种方原创 2012-04-29 11:23:14 · 3200 阅读 · 0 评论 -
Java线程的5种状态及切换(透彻讲解)
Java中的线程的生命周期大体可分为5种状态。①NEW:这种情况指的是,通过New关键字创建了Thread类(或其子类)的对象②RUNNABLE:这种情况指的是Thread类的对象调用了start()方法,这时的线程就等待时间片轮转到自己这,以便获得CPU;第二种情况是线程在处于RUNNABLE状态时并没有运行完自己的run方法,时间片用完之后回到RUNNABLE状态;还有种情况就是处于B原创 2012-04-29 15:12:57 · 47486 阅读 · 3 评论 -
Java集合中的泛型与多态问题
Java集合中泛型指的是在创建集合的时候要同时指定集合中存放的对象类型,这样做主要是基于类型安全方面的考虑。比如假设我们要创建一个用于存放字符串的ArrayList,我们通常使用如下的方式:ArrayList list = new ArrayList();注意尖括号及其里面的内容,这样我们的这个list中就只能存放String类型的对象,当我们试图向这个list中添加非String原创 2012-05-06 16:40:38 · 8774 阅读 · 3 评论 -
Java集合中的排序问题
有时我们需要对集合框架(包括Set、 List、 Map)中的元素进行排序,比如在Android开发中经常要用到ListView来显示一个列表,而这个列表中的数据很多时候都是使用一个ArrayList来存储的,因为ArrayList中的元素一般都是以存储顺序排序的(向List中添加元素,一般都是调用add方法将新元素添加在末尾,当然也可以调用另一个重载的add方法将元素添加到指定位置),很明显仅按原创 2012-05-15 21:30:12 · 15844 阅读 · 0 评论 -
Java集合HashSet中的两个对象怎样算重复
集合HashSet中对象的特点是无序、不允许重复。无序好理解,那么两个什么样的对象算重复呢?两个对象重复意味着这两个对象的内容相同、hashcode值也相同。(1)两个对象A和B内容相同,表示A.equals(B)的值为true。(不重写的话,默认equals()方法是调用”=="进行判断的,”=="判断的是两个对象的引用是否相同)(2)如果你不重写hashCode()方法的话,两原创 2012-05-02 20:55:01 · 10000 阅读 · 2 评论 -
Java对象的序列化与反序列化
一、为什么要进行序列化再介绍之前,我们有必要先了解下对象的生命周期,我们知道Java中的对象都是存在于堆内存中的,而堆内存是可以被垃圾回收器不定期回收的。从对象被创建到被回收这一段时间就是Java对象的生命周期,也即Java对象只存活于这个时间段内。对象被垃圾回收器回收意味着对象和对象中的成员变量所占的内存也就被回收,这意味着我们就再也得不到该对象的任何内容了,因为已经被销毁了嘛,当然我们原创 2012-06-05 11:29:06 · 16139 阅读 · 3 评论