2016年12月23号阅读笔记

2016年12月23号 持之以恒最重要
CSDN主页:破光之流风

面试中遇到的算法问题

原文地址:面试中遇到的算法问题
算法

文章中作者提到了2个算法题:

  • 斐波那契数列问题-兔子产子经典问题
  • java统计出字符串中的英文字母,空格,数字和其他字符的个数

这两个算是比较基础的算法题目,斐波那契采用递归的方式解决,字符统计通过判断char的编码范围来做统计。

读后感:

个人感觉这是一个不错的个人博客,页面风格简洁,美观,但愿不要哪天不再支持访问了。已加入到订阅列表。以前我也喜欢自己搞个人网站,现在感觉没那么多时间去维护了~

理解 Thread.Sleep 函数

原文地址:理解 Thread.Sleep 函数

Java基础

首先我们知道Thread.sleep(timeout); 函数用于将线程挂起一段时间。

作者提出了2个问题:

  • 假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?
  • 某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么?

作者首先回顾了一些操作系统原理:Unix系统使用时间片算法,Windows使用抢占式。
作者用分蛋糕的场景来做比喻,蛋糕(时间)、刀叉CPU、吃蛋糕的人(进程)。

Thread.sleep的作用就是告诉操作系统未来多少毫秒内不参与CPU竞争。

  • 第一题:不一定。只是告诉操作系统自己开始参与CPU竞争,但是不保证立刻获取执行权。
  • 第二题:有区别,Thread.Sleep(0)的作用,就是“触发操作系统立刻重新进行一次CPU竞争”。

提到一个概念:其实在Windows原理层面,CPU竞争都是线程级的

读后感:

涉及到操作系统中CPU资源分配的原理,以及Thread.sleep();在此过程中起到的作用。希望可以通过阅读《Java编程思想》、《操作系统实现与原理》2本书做更深入的了解。前一本已经读过几遍,后一本正在读。


观察者模式和Spring的结合:

原文地址:观察者模式和Spring的结合

设计模式 模式实例

本文作者提到的一个需求:每次热部署后,对查询回来的数据进行各种各样的过滤,将过滤的数据保存到不同的容器中。一开始的思路是,使用定时器,定义一个过滤类,将数据进行过滤分发。

初始思路的弊端:

  • 不利于扩展,如果后续新增其他过滤方式的话,需要改处理类中的代码。

解决思路:
将每个过滤条件作为一个观察者对象。通过spring的方式将多个过滤条件注册到主题上。当主题内容发生变化时,notify所有的观察者对象。

原文作者感悟:

很多的知识不是会了就会了,在自己的脑子里存着是一回事,能在特定的业务场景下能用上是另一回事。有些知识没用时觉得难,但是用过了之后就觉得真的不是很难。多实践。

读后感:

个人感觉,文章中的实例代码的类名会有些误导,总会把Filter和web的Filter想到一块去,其实里面Filter是上面提到的过滤的意思。以前的理解,观察者模式中,要有主题、观察者。本文中的主题就是热部署对象HotDeployManager,它继承自抽象主题AbstractPriceFilter。
抽象主题中有个存放观察者的容器,这个容器的初始化是通过spring的MethodInvokingFactoryBean方式来注入的。这样做的好处是当有新的观察时,不需要修改代码,只有在spring的配置文件中新增一个ref的观察者对象即可。做到了符合开闭原则。不过文中作者提到的解耦,我感觉并不是因为使用了观察者模式才解决的,而是因为使用了spring容器。作者使用观察者模式只是解决了业务的基本需求。
PS: 我目前对观察者模式还没有深入研究,以后再看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 2015终于要过去了,看着今天的工作计划,感慨这一年总算有了个完美的收尾,可以安心过个年了,同时也希望能够获得与今...
    凉歌阅读 202评论 0 0
  • 清明节,中国人多会回故里祭奠离开的亲人,或是认祖归宗,这也是国人的一种思乡情节。 修家谱族谱,拜祭祖宗成了清明的一...
    洛泓阅读 315评论 0 1
  • ------从你的全世界路过,路过你的喜怒哀乐。从头到尾,开头到结局,都是观众,而非主角。你一直在变,而我也是。 ...
    慕容二铁柱阅读 438评论 10 4