摘要: Java 中的Set和正好和数学上直观的集(set)的概念是相同的。Set最大的特性就是不允许在其中存放的元素是重复的。根据这个特点,我们就可以使用Set 这个接口来实现前面提到的关于商品种类的存储需求。Set 可以被用来过滤在其他集合中存放的元素,从而得到一个没有包含重复新的集合。 HashSet的元素存放顺序和添加进去时候的顺序没有任何关系;而LinkedHashSet 则保持元素的添加顺序;TreeSet则是对我们的Set中的元素进行排序存放。 一般来说,当要从集合中以有序的方式抽取元素时,TreeSet 实现就会有用处。为了能顺利进行,添加到 TreeSet 的元素必须是可排序的。.. 阅读全文
posted @ 2013-04-09 13:55 clunyes 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 每天忙忙碌碌敲代码,baidu,google,应该静下心来看看别人设计的代码,实实在在把面向对象理解,把集合,集成,接口好好利用起来。 每天抽出一点时间看书,java也好,c也好,学习别人的思路,或许是一种好的办法。 Code some and be better,严谨的对待自己的代码,保持学习的节奏。跑的多快不重要,重要的是跑的多远,在保证身体健康的条件下,尽力而为,可谓无憾。 阅读全文
posted @ 2013-04-08 21:14 clunyes 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 平时用AsyncTask比较多,今天看到了一篇比较细致的讲解,也很有启发。 当我们调用execute(Params... params)方法后,execute方法会调用onPreExecute()方法,然后由ThreadPoolExecutor实例sExecutor 执行一个FutureTask任务,这个过程中doInBackground(Params... params)将被调用,如果被开发者覆写的doInBackground(Params... params)方法中调用了publishProgress(Progress... values)方法,则通过InternalHandler实例s. 阅读全文
posted @ 2013-04-08 16:45 clunyes 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 在三种并发类型中(Concurrent,CopyOnWrite,queue),今天我去看了下ConcurrentHashMap. 众所周知,我们可以在单线程时使用HashMap提高效率,而多线程时用Hashtable来保证安全。 但是hashtable对于同步的设置不是很人性化。通过分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,安全的背后是巨大的浪费,解决方案----ConcurrentHashMap。 ConcurrentHashMap和Hashtable主要区别就是围绕着锁的粒度以及如何锁。左边便是Hashtable的实现方式-- 阅读全文
posted @ 2013-04-07 11:50 clunyes 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 下面举一个发生ConcurrentModificationException异常的例子: 示例1: List list = new ArrayList(); for(Iterator iter = list.iterator(); iter.hasNext();) { Object obj = iter.next(); ... if(***) { list.remove(obj); } } 在执行了remove方法之后,再去执行循环,iter.next()的时候,报java.util.ConcurrentModificationException(当然,如果remove的是最后一条,就不会再去 阅读全文
posted @ 2013-04-07 09:44 clunyes 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-04-06 09:19 clunyes 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 求知若愚,求知若渴!每天进步一点点! 阅读全文
posted @ 2013-04-02 10:27 clunyes 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。 那时候老师天天说,可是我没听。 阅读全文
posted @ 2013-02-18 16:54 clunyes 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 不要对失败的几率抱有任何幻想,一步一个脚印,为每一阶段的推广销售制定详细计划。如果应用后期推广很失败,先从自身找原因,看是否对味市场需求。应用程序从一开始就建立在基于SMS的推荐机制上,从代码到E-mail和社交网络,要能保证SMS工作状态良好,也就是说测试很重要。交叉营销。应用免费,流量转换成钱。因人而异。面向儿童,尽量不要内置广告及内付费;面向成人,广告+内付费却很合用。应用如何吸引眼球?Web+App模式。不要一棵树上吊死,多在几棵树上试试——永远不要拘泥于某一平台。网站流量。从网站到移动设备,移植游戏。不要将鸡蛋放在一个篮子里——不要同时发布多个App,一荣不一定俱荣,但一损势必俱损。 阅读全文
posted @ 2013-01-22 09:57 clunyes 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 代码应该局部连贯而且功能单一:一个函数解决一个问题。而且应该很清晰。局部代码应该能够解释,至少暗示整体的系统设计。代码应该“自文档”,尽可能地避免注释。因为无论是在读还是写代码时,注释都是一项冗余工作。如果你需要添加注释才能帮别人理解,那么那段代码可能需要重写。 阅读全文
posted @ 2013-01-21 19:15 clunyes 阅读(140) 评论(0) 推荐(0) 编辑