![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件构造
leolin037
这个作者很懒,什么都没留下…
展开
-
哈工大计算机 2019春 软件构造 lab1
哈工大计算机 2019春 软件构造 lab1目录哈工大计算机 2019春 软件构造 lab1实验目标概述实验环境配置实验过程Magic SquaresisLegalMagicSquare()generateMagicSquare()Problem 3: Turtle graphics and drawSquareProblem 5: Drawin...原创 2019-04-04 00:58:17 · 2965 阅读 · 0 评论 -
[软构笔记]ADT和OOP中的等价性
[软构笔记]ADT和OOP中的等价性等价性equals() 和 ==equals()的判断方法hashCode()方法可变类型的等价性总结在很多场景下,需要判定两个对象是否 “相等”,例如:判断某个Collection 中是否包含特定元素。==和equals()有和区别?如何为自定义 ADT正确实现equals()?等价性equals() 和 ==和很多其他语言一样,Java有两种判断相等...原创 2019-06-23 20:29:48 · 193 阅读 · 0 评论 -
[软构笔记]线程安全策略总结与扩展
线程安全保障策略总结与扩展策略1 confinement 限制可变变量的共享策略2 Immutablity 不可变数据类型策略3 Immutablity 不可变数据类型策略1 confinement 限制可变变量的共享思想:因为共享可变的数据型是造成竞争的根源,所以我们把可变的数据限制在单个线程中,就可以避免竞争。注意:1.如果变量是一个可变对象的引用,则要确保没有其他的线程能访问到这个可...原创 2019-06-23 20:05:31 · 126 阅读 · 0 评论 -
[设计模式]:面向可维护性的设计模式:Factory ,Abstract Factory,Builder
[设计模式]:面向可维护性的设计模式:Factory,Abstract Factory,BuilderFactory Method pattern 工厂方法模式Abstract Factory PatternBuilder 构造器模式Factory Method pattern 工厂方法模式也称为虚拟构造器当client不知道要创建哪个具体类的实例,或者不想在client代码中指明要具体创建...原创 2019-06-16 20:48:40 · 192 阅读 · 0 评论 -
[设计模式]:面向复用的行为设计模式:Strategy,Template,Iterator设计模式
[设计模式]:面向复用的行为设计模式:Strategy,Template,Iterator Strategy策略模式Template 模板模式Iterator 迭代器模式Strategy策略模式针对问题:有多种不同的算法来实现同一个任务,但需要client根据需要动态切换算法,而不是写死在代码里。如果没有Strategy策略模式,我的的第一个思路或许就是if…else if…组合,但是只有几...原创 2019-06-16 20:03:46 · 143 阅读 · 0 评论 -
[软构笔记]3.4节关于重载和重写的一点疑惑
3.4节关于重载和重写的一点疑惑关于重载:可见ua.doStuff(animalRefToHorse);输出的是“animal”,这里虽然参数animalRefToHorse被赋值了一个Horse(),但是在传参数的时候,他还是作为一个Animal变量被识别。再看但是这里gm.type();,gm是一个Game对象,但是被赋值了一个game的子类型Cricket对象,gm.type(...原创 2019-06-16 14:08:25 · 108 阅读 · 0 评论 -
[设计模式]:面向复用的:Adapter,Decorator,Facade设计模式
[设计模式]:面向复用的:Adapter,Decorator,Facade设计模式的分类Adapter 适配器模式Decorator 装饰器模式Facade 外观模式忙忙碌碌终于是开始了复习,也终于能从头梳理下这门课介绍的所有设计模式了。设计模式的分类Adapter 适配器模式字面意思:适配器模式,把某个类或者接口转换成我们期望的其他形式。举个例子,比如我们要和一个外国人打交道,例如韩...原创 2019-06-16 13:07:44 · 174 阅读 · 0 评论 -
[设计模式]:Singleton+Flyweight+Prototype
[设计模式总结]:Singleton+Flyweight+PrototypeSingleton Pattern单例模式Flyweight Pattern享元模式Prototype Pattern原型模式Singleton Pattern单例模式某些类在概念上只有一个实例,于是我们就试图只创建一个对象然后复用,提供一个全局的访问点。优点:对唯一实例的受控访问缩小了命名空间(是一种对使用全局...原创 2019-06-02 01:17:08 · 207 阅读 · 0 评论 -
[软构笔记]hashmap为什么这么快?
hashmap原理分析,提速技巧hash是什么数据结构源码阅读个人优化改造记录在lab5提升程序性能的过程中,得到大佬指点,大量将原有的collection使用转为hashmap,果然这个速度就得到了巨大的提升。于是想深究一波hashmap。hash是什么hash也叫散列、哈希。主要用于信息安全领域中的算法,把长度不同的信息转化为杂乱的128位的编码,找到一种数据内容与地址之间的映射关系。...原创 2019-05-31 22:46:55 · 1787 阅读 · 0 评论 -
[软构笔记]日志log4j使用问题记录总结(stream筛选案例)
H2O is是液体。210 运算结果是 1024。原创 2019-05-31 20:51:44 · 277 阅读 · 0 评论 -
哈工大计算机 2019春 软件构造 lab3
实验目标概述目标:编写具有可复用性和可维护性的软件,主要使用以下软件构造技术:子类型、泛型、多态、重写、重载继承、代理、组合常见的OO设计模式语法驱动的编程、 正则表达式基于状态的编程API设计、API复用实验环境配置环境配置没有遇到问题。在这里给出你的GitHub Lab3仓库的URL地址(Lab3-学号)。https://github.com/Compu...原创 2019-05-21 15:48:44 · 1247 阅读 · 0 评论 -
哈工大计算机 2019春 软件构造 lab2
本次实验相比lab1是大大提高了工作量,不过看了眼lab3似乎发现他俩都是弟弟。。。。、本次实现学会使用了新的工具EclEmma,更加深刻地认识到对实际物体进行抽象,与面向过程完全不同,并且发现自己组织多个类使他们互相配合的能力有待提高。希望下一次实验能写出更优雅的代码。实验报告如下:实验目标概述本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使...原创 2019-04-14 19:05:58 · 2581 阅读 · 0 评论 -
github常用命令
创立版本库mkdir Baiducd Baidugit initSSHssh-keygen -t -rsa -C “TaylorApril947939@gmail”(在github上new SSH,内容为id_rsa.pub)添加远程库(github上新建git仓库,选择REAMDE.md)git remote add origin git@github.com:TaylorAp...原创 2019-07-02 20:26:32 · 94 阅读 · 0 评论