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: 我目前对观察者模式还没有深入研究,以后再看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

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