时序图

How Tomcat works — 一、怎样阅读源码

回眸只為那壹抹淺笑 提交于 2020-03-22 07:10:59
在编程的道路上,通过阅读优秀的代码来提升自己是很好的办法。一直想阅读一些开源项目,可是没有合适的机会开始。最近做项目的时候用到了shiro,需要做集群的session共享,经过查找发现tomcat的session本身就支持,发现自己对于使用了这么久的东西还是不甚了解,所以就乘此机会来学习学习。 阅读源码已经两周了,之所以没有边读边总结是觉得一开始难以总揽全局,可能会以偏概全,所以在对整体上有所把握之后,来记录一下自己的所学. 方法 其实这些方法是阅读之前就有个雏形,然后参考了别人阅读源码的方式(其实在做一件事之前搞清楚方法总是事半功倍的),再加上自己实践中的心得总结出来的。 准备源码,IDE,写一个最简单的例子,使程序正常运行 最好准备一些问题,读源码的基础一定是自己使用已经很多了,在使用过程中积累的一些问题可以总结记录下来,在读源码的时候一一解决。 第一步不要在意细节,先理清主干。把程序运行起来,逐步调试,画出程序运行的时序图。注意: 不要每一个函数都逐步调试进入,对于不重要的先画在时序图里面,简单记录(猜测)功能 遇到新的线程先不去仔细查看,先记录,继续 经过上面已经明白了整体脉络,接下来就查看自己上面遗留了那些问题,针对每一个问题(分支)再仔细阅读 根据第二步理出来的问题逐一解答,再次有针对性的阅读 这个时候对于源码已经了解比较深入了,可以考虑学习一些设计模式,关键数据结构

linux-ARM 中断子系统分析(2) -- linux系统中断子模块

一个人想着一个人 提交于 2020-03-08 20:27:29
引用: 魅族Linux Interrupt http://kernel.meizu.com/linux-interrupt.html 喔窝科技 中断子系统 http://www.wowotech.net/sort/irq_subsystem/page/2 ARM64 中断处理流程 https://www.byteisland.com/54/ 一. 软件时序图 来源: CSDN 作者: vertor11 链接: https://blog.csdn.net/vertor11/article/details/104735775

UML建模系列文章总结

冷暖自知 提交于 2020-03-06 06:47:19
一、为什么要学习 UML 二、 UML 的历史 三、 UML 的特点 四、 UML 中的视图 五、 UML 建模工具 六、 UML 的应用领域 七、 UML 的构成 1 、 需求阶段如何书写 Use Case 2 、 设计阶段如何画用例图( Use-Case Diagram ) 3 、 类与类之间的关系图 (Class Diagram,UML 图 ) 4 、 UML 建模之活动图介绍( Activity Diagram ) 5 、 UML 建模之状态图( Statechart Diagram ) 6 、 UML 建模之时序图( Sequence Diagram ) 7 、 UML 建模之业务处理模型( Business Process Model,BPM ) 8 、 UML 建模之数据建模( Data Model Diagram ) 八、总结 一、为什么要学习 UML UML 是 Unified Modeling Language (统一建模语言)的简称。 UML 是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。制品 {Artifact} 是指软件开发过程中产生的各种各样的产物,如模型、源代码、测试用例等。 Ø UML 建模可以达到以下目的: Ø 使用模型可以更好地理解问题 Ø 使用模型可以加强人员之间的沟通 Ø 使用模型可以更早地发现错误或疏漏的地方 Ø

PlantUML绘制软件时序图demo

拈花ヽ惹草 提交于 2020-03-06 05:29:40
注: 以下参考源码未使用第三方库, 例如: plantuml-style-c4等. 本文仅针对时序图, 其他图形, 参考官方的文档即可. Good Luck~ 推荐的基本环境: VScode + PlantUML 插件, Tips: * 源码文件名应为 ***.puml * 实时预览使用快捷键: Alt+D * 到处png使用: Ctrl+Shift+P , 然后选择: "PlantUML: Export current digram" -> "png" 即可 * 符号补全也推荐使用 Tabnine 插件 参考资料: 时序图相关: https://plantuml.com/zh/sequence-diagram 皮肤参数相关: https://plantuml-documentation.readthedocs.io/en/latest/formatting/all-skin-params.html PlantUML的尺寸限制问题: PlantUML对输出的图像大小有限制, 会导致很大的图不能以稍高的DPI完整输出, 这个问题需要在VScode的Settings.json里简单配置一下: "plantuml.commandArgs": [ "-DPLANTUML_LIMIT_SIZE=81920" ], 范例: 源码: @startuml MediaPlayer hide

UML各种图总结-精华

怎甘沉沦 提交于 2020-02-28 23:05:14
原地址:https://www.cnblogs.com/jiangds/p/6596595.html UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。 一、基本概念     如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。动态图分为:状态图,活动图,协作图,序列图。    1、用例图(UseCase Diagrams):   用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。    2、类图(Class Diagrams):      用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。    各种关系的强弱顺序: 泛化 = 实现 >

UML各种图总结-精华

守給你的承諾、 提交于 2020-02-28 22:57:46
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。 一、基本概念     如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。动态图分为:状态图,活动图,协作图,序列图。    1、用例图(UseCase Diagrams):   用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。    2、类图(Class Diagrams):      用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。    各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖   2.1.泛化     【泛化关系】:是一种继承关系

android P framework telephony 框架

北城余情 提交于 2020-02-26 14:31:14
1. 在Android平台中,RIL层位于Framework层与modem之间,分成两个部分:一部分是rild,它创建socket服务与framework层进行通信;一部分是Vendor RIL,在高通平台中称为qcril。 本文档是对rild及qcril的总结文档,为其它同学学习ril相关知识提供参考 https://download.csdn.net/download/qq2234385378/12097898 https://download.csdn.net/download/qq2234385378/12097909 2. 该部分是数据注网相关的流程,包括开机注网时序图,打开飞行模式SST时序图,以及ConnectivitySerivice框架流程图,供感兴趣的参考学习, https://download.csdn.net/download/qq2234385378/12097955 3. 该部分是移动开发过程涉及到的IMS相关功能文档,包括打开VoLTE开关流程总结,LTE attach信令流程总结,VoLTE MO流程及信令流程,供感兴趣的参考学习, https://download.csdn.net/download/qq2234385378/12097944 4. 附件是SIM卡的日常工作总结,包括流程总结文档及SIM卡加载、通知上层全流程时序图

软件开发中会遇到的几种实用图例

▼魔方 西西 提交于 2020-02-26 05:05:09
一、背景 大家应该在从事软件开发领域工作时间有一段时间之后,就开始有画图的意识,不管是懵懂的学别人还是想更好的让其他人理解自己的一个观点。所谓“一图胜千言”,我们身处于软件开发这个水很深且要求精确的复杂领域里,要想把事情做好,最基本的是要把事情想明白,其次还要让相关的人能够明白你要说的东西,进行协作。 特别对于一位架构师来说,能否画得一手好图尤其重要,因为相关的干系人数较多,要让不同领域的人能够达成一个统一的认识,是一件不太容易但也是必须要做好的事情。 二、图为了解决什么问题 软件开发涉及的流程是:需求 --> 开发 --> 测试 --> 发布上线。 作图本身是个设计的工作,是个前期工作。那么从软件开发的整个生命周期来说,用到的图的地方是在前期的需求、开发阶段较多。在软件开发这个非常抽象的领域,只要涉及到多人协作,那么通过文字来进行交流叙述是非常晦涩难懂的,需要沟通好几遍才能理解达成一致也是比较常见的情况。那么我们画图,就是为了把不适合用言语表述的内容通过作图的方式呈现出来,让相关协作者有一个共同的具象的参照物。这个参照物可以有它的额外价值,是对软件长期价值的延伸,一份一致、清晰的设计图,可以给后续的软件迭代提供非常有帮助的决策依据。当然保证设计图与系统的一致本身也是件费精力的事情。 三、不同流程中适合运用的图 用例图 用例图是UML交互图中的一种,是指由参与者(Actor)、用例

【UML】如何看Android的UML图

会有一股神秘感。 提交于 2020-02-12 04:58:40
UML图有很多类型,这里只讨论最重要也最常用的两种 - 类图和时序图。 1. 类图 通过类图,我们可以很容易的了解代码架构,理清模块之间的关系, 包括继承(Inheritance),实现(realization),依赖(dependency),组合(Composition), 聚合(Aggregation), 关联 (Association) 等等。 下面就图中给出的7种关系一一解读。 1.1 Composition Compostion 是一种 Association 关系,但它更 强调两个类之间整体和局部关系 ,它暗示两个类之间有着相同的生命周期, 比如说图中的三个1. W 是 ViewRootImpl的成员变量之一,ViewRootImpl 对象的构造函数里也构造了W,因此,当ViewRootImpl 析构时,W也被析构,他们的生命周期是一致的。 public final class ViewRootImpl implements ViewParent, View.AttachInfo.Callbacks, HardwareRenderer.HardwareDrawCallbacks { ... final W mWindow; ... mWindow = new W(this); //互相引用,所以当一个销毁时,另外一个也无法存在。 } View Code

Java设计模式(一)UML总结

那年仲夏 提交于 2020-02-10 19:28:00
定义 统一建模语言(英语: Unified Modeling Language ,缩写UML)是非专利的第三代建模和规约语言。 UML特点 UML是一种开放的方法 用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法。 UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。 UML2.2分类 UML2.2中一共定义了14种图示,分类如下: 结构式图形:强调的是系统式的建模 静态图(类图,对象图,包图) 实现图(组件图,部署图) 剖面图 复合结构图 行为式图形:强调系统模型中触发的事件 活动图 状态图 用例图 交互式图形:属于行为式图形子集合,强调系统模型中的资料流程 通信图 交互概述图(UML2.0) 时序图(UML2.0) 时间图(UML2.0) UML类图 定义 Class Diagram:用于表示类、接口、实例等之间相互的静态关系。虽然名字叫类图,但类图中并不只有类(也包括权限,属性,方法等)。 记忆技巧 箭头方向 定义子类时需要通过extends关键字指定父类 子类一定是知道父类定义的,但父类并不知道子类的定义 只有知道对方信息时才能指向对方 所以箭头方向是 从子类指向父类 实线-继承|虚线-实现 空心三角箭头:继承或实现 实线继承, is a关系,扩展目的,不虚,很结实 虚线-实现