1. 重载hashcode()与equal().
在Java中,重写equals()方法之后,是否需要重写hashCode()方法,那要看分情况来说明。有些情况下,是建议;有些情况下,是必须重写。
首先说建议的情况: 比如你的对象想放到Set集合或者是想作为Map的key时(非散列的Set和Map,例如TreeSet,TreeMap等),那么你必须重写equals()方法,这样才能保证唯一性。当然,在这种情况下,你不想重写hashCode()方法,也没有错。但是,对于良好的编程风格而言,你应该在重写equals()方法的同时,也重写hashCode()方法。
必须重写hashCode()的情况:
如果你的对象想放进散列存储的集合中(比如:HashSet,LinkedHashSet)或者想作为散列Map(例如:HashMap,LinkedHashMap等等)的Key时,在重写equals()方法的同时,必须重写hashCode()方法。
最后明白两点就行了:
1.hashCode()方法存在的主要目的就是提高效率。
2.在集合中判断两个对象相等的条件,其实无论是往集合中存数据,还是从集合中取数据,包括如果控制唯一性等,都是用这个条件判断的,条件如下:
首先判断两个对象的hashCode是否相等,如果不相等,就认为这两个对象不相等,就完成了。如果相等,才会判断两个对象的equals()是否相等,如果不相等,就认为这两个对象不相等,如果相等,那就认为这两个对象相等。
上面的条件对于任何集合都是如此,只要理解上面的条件,你就明白了,为什么在有些情况下建议重写hashCode().有些情况下,是必须要重写的,只有一个目的,就是提高效率,你想想,如果你重写了hashCode(),只要不满足第一个条件,那就直接可以判断两个对象是不等的,也就不用花费时间再去比较equals了。
最后总结一句话就是,hashCode()方法存在的主要目的就是提高效率,但是如果你想把对象放到散列存储结构的集合中时,是必须要重写的。
equals()反映的是对象或变量具体的值。
而hashCode()是对象或变量通过哈希算法计算出的哈希值。
之所以有hashCode方法,是因为在批量的对象比较中,hashCode要比equals来得快,很多集合都用到了hashCode,比如HashTable。
两个obj,如果equals()相等,hashCode()一定相等。
两个obj,如果hashCode()相等,equals()不一定相等(Hash散列值有冲突的情况,虽然概率很低)。
所以:
可以考虑在集合中,判断两个对象是否相等的规则是:
第一步,如果hashCode()相等,则查看第二步,否则不相等;
第二步,查看equals()是否相等,如果相等,则两obj相等,否则还是不相等。
http://zhidao.baidu.com/question/387459935.html
http://baike.baidu.com/view/6661423.htm
http://baike.baidu.com/view/2428359.htm
2. HTTP与HTTPS3. JSR211
CHAPI和它的执行模型使应用程序能够调用已注册的J2ME程序和手机本地的非Java程序,一般有三种调用形式:1.通来URL;2.通来内容类型; 3.通过内容处理程序的ID。程用序程在处理内容时能够使用内容处理者的某些功能,比如:应用程序使用一个内容处理者去获得一个特殊的显示内容的功能或者其它的打开、打印、播放内容等功能;比如:一个简单的MIDP MIDlet程序被注册来处理image/png媒体类型的内空,其它应用程序能请求其显示图片。一个内容处理程序能提供用于显示内容、更改内容、返回内容不多种功能。CHAPI的执行模型充分利用了应用程序管理系统提供了流畅的用户体验、控制程序的执行、保存资源、执行设备的安全政策和Java运行环境。
该规范包括以下功能:
1.调用内容处理程序和获得返回内容
2.注册内容处理者
3.查询注册信息
4.响应并处理调用请求
4. getview() 优化
http://hi.baidu.com/xiechengfa/blog/item/643c9ac61aa951bb8326ac43.html
http://www.cnblogs.com/xiaowenji/articles/1900579.html
5. Activities生命周期
http://blog.youkuaiyun.com/stoneson/archive/2010/12/29/6104444.aspx
http://apps.hi.baidu.com/share/detail/15569704
6. Activity launch mode
http://www.blogjava.net/caizh2009/archive/2010/12/10/340227.html
http://blog.youkuaiyun.com/pcwings/archive/2010/09/19/5895197.aspx
http://www.cnblogs.com/lovelili/archive/2011/11/21/2258198.html1. 设置了”singleTask”启动模式的Activity,它在启动的时候,会先在系统中查找属性值affinity等于它的属性值 taskAffinity的任务存在;如果存在这样的任务,它就会在这个任务中启动,否则就会在新任务中启动。因此,如果我们想要设置 了”singleTask”启动模式的Activity在新的任务中启动,就要为它设置一个独立的taskAffinity属性值。
2. 如果设置了”singleTask”启动模式的Activity不是在新的任务中启动时,它会在已有的任务中查看是否已经存在相应的Activity实 例,如果存在,就会把位于这个Activity实例上面的Activity全部结束掉,即最终这个Activity实例会位于任务的堆栈顶端中。
7. Activity onSaveInstanceState and onRestoreInstanceState
http://zhangkun716717-126-com.javaeye.com/blog/802131
http://www.360doc.com/content/10/0720/10/11192_40247283.shtml
8. Activities退出
http://hi.baidu.com/gaogaf/blog/item/e98e820a071dad2eb1351d80.html
http://topic.youkuaiyun.com/u/20101011/20/a0c6b684-78bf-4d5e-a682-c96e4fe21d2a.html
9. Broadcast
http://blog.sina.com.cn/s/blog_6fb8e5850100nj2g.html
http://www.blogjava.net/TiGERTiAN/archive/2010/01/31/311413.html
http://blog.youkuaiyun.com/luoshengyang/article/details/6744448 广播机制
10. Content provide
http://bbs.gfan.com/android-93447-1-1.html
http://www.onedoor.cn/note/archives_33168.html
http://kaozjlin.javaeye.com/blog/739406
11. Service
http://apps.hi.baidu.com/share/detail/16059334
http://4225953-163-com.javaeye.com/blog/792997
12. Handle
http://www.javaeye.com/topic/717220
13. AIDL
http://wayfarer.javaeye.com/blog/562836
http://wenku.baidu.com/view/3dc22e0f7cd184254b3535d3.html
14. Intentservice
http://blog.youkuaiyun.com/gaojie314/archive/2010/11/28/6040701.aspx
15. Android程序运行时权限与文件系统权限的区别
http://blog.youkuaiyun.com/Zengyangtech/archive/2010/07/20/5749999.aspx
16. Android xml
http://www.023java.com/360526840-1294735518
17. Android布局
http://www.cnblogs.com/YSO1983/archive/2010/09/15/1827010.html
http://apps.hi.baidu.com/share/detail/19823616
18. 如何避免ANR
http://blog.youkuaiyun.com/Zengyangtech/archive/2010/11/21/6025671.aspx
19. Java异常
http://wenku.baidu.com/view/78f3261ca300a6c30c229f9e.html
20. 内部类
http://java.chinaitlab.com/oop/787330.html
http://zhidao.baidu.com/question/179237516.html
http://zhidao.baidu.com/question/124117953.html
http://zhidao.baidu.com/question/149873207.html 静态内部类
21. 弱引用
http://www.360doc.com/content/10/1204/15/3080329_74951678.shtml
22. 垃圾回收机制23. 装饰模式
http://www.uml.org.cn/sjms/200812293.asp
24. activity被销毁前的做法
http://www.cnblogs.com/sardine/archive/2010/09/26/1835290.html
25. android线程进程任务
http://zhangkun716717-126-com.javaeye.com/blog/778700
http://www.javaeye.com/topic/829102
http://www.360doc.com/content/11/0306/02/729582_98520335.shtml<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
26. 抽象工厂模式
http://lavasoft.blog.51cto.com/62575/11674
27. intent与intentfilter
http://www.javaeye.com/topic/484304
http://bbs.gfan.com/thread-93448-1-1.html
28. SQlite数据类型
http://blog.youkuaiyun.com/nieweilin/archive/2010/10/02/5919013.aspx
29. ListView工作原理
30. java 虚拟机
http://www.cnblogs.com/xzpp/archive/2011/09/05/2168084.html
http://www.iteye.com/topic/83978 class 类加载
31 装饰模式:
http://www.cnblogs.com/hnrainll/archive/2012/03/23/2414180.html
http://www.iteye.com/topic/335521
32 观察者模式
http://www.blogjava.net/supercrsky/articles/202544.html
33 桥接模式
http://blog.youkuaiyun.com/nieou/article/details/5750520
http://www.itstudy.net/html/200901/14/20090114094647.htm
34 适配器模式
http://wenku.baidu.com/view/92c8af6b011ca300a6c390fb.html
http://wenku.baidu.com/view/806b73563c1ec5da50e27064.html
35 volatile:http://zhidao.baidu.com/question/331268847.html
36依赖关联
http://sundensky.blog.163.com/blog/static/7728873420109299167434/
37
http://blog.youkuaiyun.com/xieqibao/article/details/6570080