自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 java之两种并发模型 以及 锁

java之两种并发模型在我们的并发介绍中,我们看到了两种并发编程模型:共享内存和消息传递。• 在共享内存模型中 :并发模块通过在内存中读取和写入共享可变对象来进行交互。在单个Java进程中创建多个线程是我们共享内存并发的主要示例。• 在消息传递模型中:并发模块通过通信通道相互发送不可变消息进行交互。该通信通道可以通过网络连接不同的计算机,如我们的一些初始示例:Web浏览,即时消息等。...

2019-06-23 22:03:47 313

原创 java之线程安全

java之线程安全线程安全的四种策略死锁以注释的形式撰写线程安全策略线程安全的四种策略一般原则是:并发程序的正确性不应取决于时序的偶然性。为了实现这一正确性,我们列举了实现并发代码安全的四种策略:监禁不要在线程之间共享数据,通过保持变量和它们指向的数据只能从一个线程访问。不变性通过使用最终变量和不可变类型,使共享数据不可变。使用现有的线程安全数据类型使用为您进行协调的数据类型。同步...

2019-06-23 22:01:34 168

原创 java 复习之 ADT的四种操作:Creator Producer Observer Mutator

java 复习之 ADT的四种操作:Creator Producer Observer Mutator前言ADT操作分类前言抽象类型:强调"作用于数据上的操作",程序员和client无需关心数据如何具体存储,只需设计/使用操作即可。ADT由操作定义,与其内部实现无关。可变数据类型:提供了可改变其内部数据值的操作;不可变数据类型:其操作不改变内部值,而构造新的对象。(没有mutators)...

2019-06-23 21:52:05 673

原创 哈工大软件构造复习之Specification

哈工大软件构造复习之SpecificationSpecification作用内容Behavior equivalence 行为等价性规约的结构规约的强度与替换deterministic spec & undetermined spec 确定的规约和欠定的规约Declarative spec & operational spec 声明式规约和操作式规约Diagraming speci...

2019-06-23 21:45:34 353

原创 factory模式

factory模式概要应用场景概要工厂模式可以分为:简单工厂模式,工厂方法模式,抽象工厂模式。简单工厂模式:就像一个大工厂,什么都在里面,扩展性很低。工厂方法模式:将说明的理论和生产的东西分开一点。抽象工厂模式:是工厂方法模式的升级,为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。应用场景当一个对象都有相同的约束时,可以使用抽象工厂模式。...

2019-06-23 21:35:54 370

原创 strategy模式

strategy模式概要主要优点strategy模式的几个模块具体操作实例概要先压个题 期末考试必考策略模式用于算法的自由切换和扩展,它是应用较为广泛的设计模式之一。策略模式对应于解决某一问题的一个算法族,允许用户从该算法族中任选一个算法来解决某一问题,同时可以方便地更换算法或者增加新的算法。只要涉及到算法的封装、复用和切换都可以考虑使用策略模式。主要优点(1) 策略模式提供了对“开闭原...

2019-06-21 16:31:08 291

原创 java设计模式-适配器adapter-模式

java设计模式-适配器adapter-模式概要面向类的适配器模式面向对象的适配器模式总结概要适配器模式有2种,第一种是“面向类的适配器模式”,第二种是“面向对象的适配器模式”。面向类的适配器模式源码,也就是已经拥有的代码(adaptee)public class Person { private String name; private String sex; private...

2019-06-21 10:55:09 84

原创 Java之AF、RI

Java之AF、RI表示不变量和抽象函数几个概念检查表示不变量AF, RI以及表示暴露安全性的注解表示不变量和抽象函数几个概念表示域(space of representation values)里面包含的是值具体的实现实体。抽象域里面包含的则是类型设计时支持使用的值。这些值是由表示域“抽象/想象”出来的,也是使用者关注的。每一个抽象值都是由表示值映射而来:我们之前说过实现抽象类型的意义...

2019-06-17 00:22:36 1479

原创 Java防御性拷贝

Java防御性拷贝原因举例解决方案总结原因假定类的客户端,尽力摧毁类的不变量,破坏这个类的约束条件,因此你必须保护性的设计程序。但更常见的是,你的类将不得不处理由于善意得程序员诚实错误而导致的意外行为。不管怎样,花时间编写在客户端行为不佳的情况下仍然保持健壮的类是值得的。举例考虑以下类,表示一个不可变的时间期间:// Broken "immutable" time period cla...

2019-06-16 23:52:55 1737 1

原创 浅谈Git

浅谈Git写在前面Git学习Git简介版本控制1. 本地版本控制系统2. 集中化的版本控制系统3. 分布式版本控制系统Git的基本命令1. 使用之前先配置身份(即配置本地用户和邮箱):3. 把文件添加到代码仓库:4. git中使用的工作区,暂存区和提交的概念图:5. 常用命令写在前面老师在最后一节课上强调了git的重要性,谈及git在软件领域 ,版本控制方面的强大作用。这篇博客就权当git的...

2019-06-04 20:43:49 146

原创 软件构造-Lab4

软件构造-lab4实验目标概述实验过程3.1 Error and Exception Handling3.2 Assertion and Defensive Programming3.2.1 checkRep()检查invariants3.2.2 Assertion保障pre-/post-condition3.3 Logging3.4 Testing for Robustness and Corr...

2019-05-23 21:43:20 356

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除