摘要:
最近接到了一个任务 背景: 由于客户的数据量突然增长很多(3~5倍),原先的程序运行耗时非常多,之前由于数据量小没有暴露出来 任务: 优化代码,使耗时减少 一、带返回值的线程池 组长建议将线性运行改为并发,使用带返回值的线程池,并给了以下示例代码: 由于之前没有接触过这种线程池,于是先对其了解了一番 阅读全文
摘要:
本章将薪水支付案例大致分析了一下,过程中还提到了一些注意事项,摘取一些进行记录 1、不要过早地设计数据库 将用户素材进行一些记录之后,我们首先想到的是,开始设计数据库,并且在这里关系型数据库比较合适,从需求中我们可以清楚地知道表和字段的可能样子。 不过,如果一开始就着手设计数据库的话,数据库难免会成 阅读全文
摘要:
这两天梳理了一下 SSM 的配置,做一个小总结 可能有一些不对的地方,如果您发现了什么错误,非常希望能帮忙指出,谢谢 我参考了很多文章,都标明了来源(链接),可能会影响阅读的连贯性,抱歉 1、Tomcat 的角色是什么? web 服务器、应用服务器、web 容器(Servlet 容器)之间的关系,可 阅读全文
摘要:
这几章主要讲了几个设计模式,分别是: Command (命令模式) Active Object (主动对象模式) Template Method (模板方法模式) Strategy (策略模式) Facade(外观模式) Mediator (中介者模式) Singleton (单例模式) Monos 阅读全文
摘要:
第10章 Liskov 替换原则(LSP) 原则解释: 子类型(sbutype)必须能够替换掉它们的基类型(base type) 这一章没大看懂,貌似和 OCP(开发关闭原则)关系很大,以后再研究 第11章 依赖倒置原则(DIP) 原则解释: a. 高层模块不应该依赖于低层模块。二者都应该依赖于抽象 阅读全文
摘要:
第七章 什么是敏捷设计 软件腐化的几个指标: 1、僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其它部分的其他改动 2、脆弱性:对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题 3、牢固性:很难解开系统的纠结,是指成为一些可在其他系统中重用的组件 4、粘滞性:做正确的事 阅读全文
摘要:
这一章以一次编程实践来帮助读者消化之前的内容,这次编程实践使用了结对编程和测试驱动开发的方式。 与一般的教程不同,对于某次编程实践,本书没有一开始就给出最佳实践(最终的方案),而是详尽地展示了结对编程二人组的整个编程过程,包括其中他们犯的错误,走的弯路,等等。 首先,书中所描述的保龄球的规则,对于我 阅读全文
摘要:
敏捷软件开发宣言 个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划 极限编程概述 1、客户作为团队成员即,对项目最终交付结果的验收有话语权的人或代表人,能够和开发团队处于紧密合作的状态客户能够及时地将是想法传递给开发人员,开发人员对业务 阅读全文
摘要:
注: 重度参考了:https://www.zhihu.com/question/30272728/answer/72476703(讲的非常好,逻辑清晰) 轻度参考了:https://www.cnblogs.com/fjdingsd/p/5273008.html(概念也比较清晰,只不过没有对比着这两个 阅读全文
摘要:
如果逻辑控制流在时间上重叠,那么它们就是并发的(concurrent) 这种常见的现象称为并发(concurrency),出现在计算机系统的许多不同层面上。 并发不仅仅局限于内核,它也可以在应用程序中扮演重要角色。 应用级并发在以下情况中都是很有用的: 1、访问慢速 I/O 设备 当一个应用正在等待 阅读全文