上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 34 下一页

2018年5月30日

观察者模式

摘要: 观察者模式:定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 原则:封装变化;多用组合,少用继承;针对接口编程,不针对实现编程;为交互对象之间的松耦合设计而努力。 Subject是被观察者接口,WeatherData是真正的被观察者实现类,Observer是观 阅读全文

posted @ 2018-05-30 20:10 二十年后20 阅读(145) 评论(0) 推荐(0) 编辑

2018年5月24日

201805牛客模拟考

摘要: 第一题AC,注意点:输入是long类型,不能用BufferedReader,不然很麻烦: 1 public class Main { 2 3 public static void main(String[] args) throws IOException { 4 Scanner in = new 阅读全文

posted @ 2018-05-24 16:33 二十年后20 阅读(136) 评论(0) 推荐(0) 编辑

2018年5月23日

策略模式

摘要: 策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 原则:封装变化;多用组合,少用继承;针对接口编程,不针对实现编程。 上图是经典例子 小鸭子的uml图,由于要实现多种类型的鸭子,有的鸭子会飞,有的不会飞,有的鸭子会叫,有的不会叫,所以将Duck作 阅读全文

posted @ 2018-05-23 16:57 二十年后20 阅读(131) 评论(0) 推荐(0) 编辑

2018年5月17日

非线程安全演变成线程安全---原子性与加锁机制

摘要: 无状态对象一定是线程安全的。即无共享变量。 提高需求:统计已处理请求数量。这样就会产生共享状态,需要考虑线程安全。 方法一:普通++i。非线程安全。 方法二:利用线程安全类AtomicLong来管理类的状态。将复合操作++i转变为原子操作,保证线程安全性。 提高需求:将最近的计算结果缓存起来,当两个 阅读全文

posted @ 2018-05-17 10:44 二十年后20 阅读(201) 评论(0) 推荐(0) 编辑

2018年5月13日

Timer类

摘要: schedule方法: 在固定延迟执行中,根据前一次执行的实际执行时间来安排每次执行。如果由于任何原因(如垃圾回收或其他后台活动)而延迟了某次执行,则后续执行也将被延迟。从长期来看,执行的频率一般要稍慢于指定周期的倒数(假定 Object.wait(long) 所依靠的系统时钟是准确的)。 固定延迟 阅读全文

posted @ 2018-05-13 21:11 二十年后20 阅读(137) 评论(0) 推荐(0) 编辑

ThreadLocal类

摘要: ThreadLoacl类:解决变量在不同线程间的隔离性,即不同线程拥有自己的值,不同线程中的值是可以放入ThreadLocal类中进行保存的。为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。这个类使线程中的某个值与保存值的对象关联起 阅读全文

posted @ 2018-05-13 19:41 二十年后20 阅读(122) 评论(0) 推荐(0) 编辑

2018年5月11日

2018华为网络技术大赛---从初赛到复赛到决赛

摘要: 2018.4.21 进行了初赛 初赛的准备过程不长,前前后后也就三四天时间吧,云平台上的视频都没来得及看完,只看了“基础平台”一部分,“微服务”,“大数据”,然后其他的就都是看的文档了,包括云平台上的文档和往届提供的文档,其中还花了一天的时间刷了一下群里提供的hcna相关的题目(感觉并没有什么用), 阅读全文

posted @ 2018-05-11 20:52 二十年后20 阅读(918) 评论(1) 推荐(1) 编辑

206.Reverse Linked List

摘要: 题目链接 题目大意:翻转单链表。要求用递归和非递归两种方法。 法一:非递归。直接对原单链表进行循环操作,且不新开辟空间,用头插法即可。代码如下(耗时0ms): 1 public ListNode reverseList(ListNode head) { 2 if(head == null) { 3 阅读全文

posted @ 2018-05-11 11:12 二十年后20 阅读(130) 评论(0) 推荐(0) 编辑

94.Binary Tree Inorder Traversal---二叉树中序非递归遍历

摘要: 题目链接 题目大意:中序遍历二叉树。先序见144,后序见145。 法一:DFS,没啥说的,就是模板DFS。代码如下(耗时1ms): 1 public List<Integer> inorderTraversal(TreeNode root) { 2 List<Integer> res = new A 阅读全文

posted @ 2018-05-11 10:00 二十年后20 阅读(127) 评论(0) 推荐(0) 编辑

2018年5月10日

106.Construct Binary Tree from Inorder and Postorder Traversal

摘要: 题目链接 题目大意:根据中序和后序构建二叉树。 法一:与105类似,只是这里是根据后序来确定根节点。代码如下(耗时15ms): 1 public TreeNode buildTree(int[] inorder, int[] postorder) { 2 if(postorder.length == 阅读全文

posted @ 2018-05-10 16:21 二十年后20 阅读(107) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 34 下一页

导航