
Thinking
文章平均质量分 89
J_小浩子
我把在学习过程中的bug发表在优快云上,才疏学浅,班门弄斧。
展开
-
Thinking in Java 中闪耀的星星(二)
26.如果要实现某些方法,比如倒序顺序,建议用匿名内部类 看代码:第一个方法是倒序,第二个是打乱顺序public class MultiIterableClass extends IterableClass{ public Iterable<String> reversed(){ return new Iterable<String>(){ publ原创 2016-09-11 09:49:59 · 1104 阅读 · 0 评论 -
Thinking in Java 中闪耀的星星(三)
41.容器集合的选择 List容器无非分为两大种,基于数组和基于链表:数组有索引,所以查找快,链表插入删除不需要移动全部元素,插入删除快。 ArrayList/Vector查找快,LinkedList插入删除元素快。而Queue什么都快,但是队列先入先出,没有其他集合灵活。 Set也是大体分为两种,基于红黑树的Tree和基于hash算法的Hash(Set的元素是不能重复的,List可以重复)。原创 2016-09-11 10:02:01 · 909 阅读 · 0 评论 -
Thinking in Java 中闪耀的星星(四)
51.对象序列化的具体应用 这也是书里的一个例子,挺有意思的。结合模板方法模式模拟CAD将用户作业的信息保存在文件中:import java.io.*; import java.util.*; abstract class Shape implements Serializable{ public static final int RED=1,BLUE=2,GREEN=3; pri原创 2016-09-11 10:08:46 · 1029 阅读 · 0 评论 -
Thinking in Java 中闪耀的星星(五)
61.死锁及死锁解决方法 死锁是并发编程中可能不小心遇到的陷阱,简而言之就是“千军万马过独木桥,挤在一起,谁也别想过”。给定一个场景,5个哲学家围成一个圆吃饭,只有5根筷子,每一根都放在两个哲学家中间,这样每个哲学家的左右均各有一根筷子,每个哲学家吃饭的时候都是先拿左边的筷子,再拿右边的筷子,吃饭的时候,哲学家可能会思考,思考时不会拿筷子吃饭。所以情况可能是这样的:开饭!有一些哲学家在思考,不吃饭原创 2016-09-11 10:14:20 · 995 阅读 · 0 评论 -
Thinking in Java 中闪耀的星星(一)
《Thinking in java》做为进阶是一个不错的选择,下面是我对书的一些理解: 1.什么是面向对象编程? 1.)我们所处的世界是由对象构成的,java的设计的本质也是基于世界的!在理解什么是面向对象要先清楚“自顶而下”的设计思想,就是把大的方面细分为小的方面,直到原子性,比如,早上洗漱,细分为洗脸,刷牙,刷牙细分为挤牙膏,牙刷刷动牙齿… 2.)为什么是面向对象?举个例子:人类的上层是灵原创 2016-09-11 09:44:56 · 1514 阅读 · 0 评论