浅谈设计模式 - 组合模式(十二)
前言
组合模式是一种非常重要的设计模式,使用场景几乎随处可见,各类菜单和目录等地方都能看到组合模式的影子,组合模式通常情况下是和树形结构相辅相成的,而树是软件设计里面非常重要的数据结构,这篇文章将介绍什么是组合模式。
什么是组合模式
允许你将对象组合到树形结构表现“整体部分”的结构,组合能让客户以一致的方式处理个别对象和对象组合,组合其实更像是对于对于各种独立组建的“统一性”,可以将一类相似的事物看为一个整体但是拥有完全不同的工作机制。
问题诊断:
if/else
和缩进进行大量的逻辑判断反例:if
条件仅仅包含一条,但是else内容很多,导致过多的缩进,比如像狭隘难这种代码,一旦多层嵌套很容易让逻辑变得复杂
1 | if (ArrayUtil.isEmpty(values)) { |
这本书在股票投资这个圈子的评价十分高,读这本书当然不会告诉你怎么买股票,作者作为一个20世纪初期的人,发过国难财,也当过“英雄”,当然最后也和书名一样成为赫赫有名的“作手”。那么看这本书可以学到什么,这篇笔记从个人的视角做一个总结。
人不可能赚到自己认知之外的钱的,哪怕是杰西*利弗莫尔这种天赋异禀15岁就进入证券市场也是在不断的翻车犯错中实现个人的成长,这本书更像是一本真实的成长历程书,只要是经历过基金或者股票投资的人,基本都会经历作者经历的一切。
股神有很多,但是真正分享自己的人生阅历并且能出书的人却很少,杰西*利弗莫尔显然做到了这一点。看完整本书不得不说利弗莫尔是一个十分好运的人。
原文地址:https://zhuanlan.zhihu.com/p/63925825
《这样读书就够了》
本书中“标签读书法”,简单好用,帮助你吸收书本的知识,构建自己的知识体系,让知识真正用到实践当中。
《学习之道》
个人觉得,每个人应该懂点心理学,因为一个人最大的敌人不是别人,而是自己。
《自控力》
如果你有严重的拖延症,并且想改变这种状态,那么这本书你应该看看。
《富爸爸穷爸爸》
为什么大部分人终其一生都深陷巨大的债务危机当中?为什么我们这么努力,却还是摆脱不了贫穷?
这篇文章不写新内容,而是回顾之前的文章内容。
开设这个专栏的目的毫无疑问是给个人的成长做一个记录和归档,因为这段时间下来发现学东西一定要系统并且有目的循序渐进的学才有更快的成长,JVM的内容和细节是学不完的,所以要清楚学这个东西的作用是什么很关键,个人学这个东西无非就是为了面试以及了解底层原理,同时本着书到用时方恨少的原则编写专栏。
专栏地址:深入理解JVM虚拟机
第一篇:深入理解JVM虚拟机 - JVM的初步了解
系列的开篇,在第一篇专栏我们需要了解JVM到底是个什么东西,他对于JAVA开发者而言的重要意义,同时我们编写的代码是如何通过JVM运行并且实现我们想要的效果的,重点在于JAVA加载到JVM的工作流程。
这里也讲述了JVM的双亲委派模型和Tomcat的双亲委派模型是如何打破他的,类加载器也是JVM的一个核心内容。
第二篇:深入理解JVM虚拟机 - 虚拟机的发展历史
基本就是《深入理解JVM虚拟机》的笔记了,当然很多博客也介绍了。
第三篇:深入理解JVM - 分代的基本概念
讲述了JVM的传统分代模型的特点,以及新生代和老年代的划分,重点是新生代如何进入老年代,需要的条件以及相关的参数设置也是面试高频点。最后介绍了JVM的调优参数。
第四篇:深入理解JVM虚拟机 - jvm的对象分配策略
这篇文章个人认为值得关注的点是实际的JVM测试结果和书里面不一样!同时可以发现新版本当中的Parnew会在连续分配大对象的时候让对象直接进入老年代,真的很奇怪!还是建议学这些东西一定自己尝试,花点时间换来的收益是你意向不到的!
第五篇:深入理解JVM - 垃圾回收算法
和标题一样,介绍JVM的垃圾回收算法以及新生代老年代是如何运用算法进行回收的,需要注意的是这些垃圾算法没有好坏之分,一切看实际垃圾收集器开发者的设计理念。比如CMS还是典型的标记-清除,但是到了G1就是标记整理了。
第六篇:深入理解JVM - CMS收集器
讲述CMS收集器的手机细节,以及CMS的好搭档ParNew的一些处理细节,CMS+ParNew相信还是多数公司的首选垃圾收集器。毕竟不是谁都有那么庞大的用户量或者大项目这种。
第七篇:深入理解JVM - 实战老年代优化
无需多介绍,内容和标题类似。
第八篇:深入理解JVM - G1收集器
功能和使用看似都十分简单,然而内含的原理十分复杂,主要也是讲解G1收集器的一些功能和细节点。
同时是否需要研究原理这就看个人需求了,当然多懂点总是好事。
第九篇:深入理解JVM - G1调优简述
感觉完全是水了一篇,可以不看,因为个人目前没遇到需要用上G1去调优的场景(=-=)
上一节我们讲解分代和垃圾回收算法,这一节我们来讲解老年代重要的垃圾收集器:cms收集器。这一节的内容同样比较多。
这一节主要围绕着十分常用的CMS垃圾收集器进行讲解。
上一篇文章我们讲解分代的基础理论,同时讲解了新生代和老年代各自的算法复制算法和标记整理算法,之后我们总结了新生代进入老年代的条件,在最后我们介绍的引用类型,同时进行了练习的提问和相关的解答。