- 博客(7)
- 收藏
- 关注
原创 关于静态工厂方法
复习了一下静态工厂方法,发现,这个东西是真的好用。本质上他是干什么的呢?其实就是我们在使用构造函数的时候,出现下面的情况:date a=new date(1);date a=new date(1,2);date a=new date(1,2,3);date a=new date(1,2,3,4);date a=new date(1,2,3,4,5);用了这些,如果代码是我们自己写的...
2019-06-18 17:03:28
285
原创 关于表示不变量(Rep invariant)和抽象函数(Abstraction function)
关于表示不变量(Rep invariant)和抽象函数(Abstraction function)(1) 表示空间R:实际实现中内部表示的值一般情况下ADT的表示比较简单,有些时候需要复杂表示,抽象空间A:client看到和使用的值ADT实现者关注R,而用户关注A因此,我们在R和A可建立一个映射:这种映射一定是满射(surjective),而不一定是单射(not injective...
2019-06-18 15:14:09
1020
原创 可变性(Mutability)与不变性(Immutability) 变量复习理解
一、简单定义不可变对象(Immutable Objects)即对象一旦被创建它的状态(对象的数据,也即对象属性值)就不能改变,反之即为可变对象(Mutable Objects)。 不可变对象的类即为不可变类(Immutable Class)。Java平台类库中包含许多不可变类,如String、基本类型的包装类等。二、编写不可变类可以遵照以下几点来编写一个不可变类: 确保类不能被继承 ...
2019-06-18 11:00:01
581
原创 关于java多线程中锁synchronized的使用的个人理解
在多线程中,锁是非常重要的一个东西。在Java语言中,有对象和类之分,因此多线程的锁也可分为对象锁和类锁。对象锁,顾名思义就是使用一个对象作为锁在多线程中使用;而类锁,这个主要是在类级别的方法或者代码块上加的锁,比如说static方法或static代码块。因为是多线程,所以锁是一个共享资源,多线程争夺同一把锁。如果多线程使用了多把锁,那么程序代码执行与多线程就没多大关系了。举个很简单的例子...
2019-06-17 13:58:28
216
原创 关于进程线程的比方
学线程的时候,联合深入了解计算机系统的进程,想到个比方。就计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。一个...
2019-06-17 11:38:09
201
原创 Lab3之噩梦延续
这次比上次更恐怖,兄弟,我顶不住了,更可怕的是,我竟然在ddl的最后一天,写代码写到校医院去了,我佛了发烧加胃胀气,两天没吃饭,就喝一点粥,人都瘦了,不过这样,脸清瘦了,头发也长了,似乎更帅了。目录1 实验目标概述 12 实验环境配置 13 实验过程 13.1 待开发的三个应用场景 13.2 基于语法的图数据输入 13.3 面向复用的设计:CircularOrbit<L,...
2019-05-07 14:55:36
307
原创 关于一场Lab2的噩梦
软件构造Lab2之噩梦开始了P13.1 Poetic Walks3.1.1 Get the code and prepare Git repository3.1.2 Problem 1: Test Graph 3.1.3 Problem 2: Implement Graph 3.1.3.1 Implement ConcreteEdgesGraph3.1.3.2 Implement Concrete...
2019-04-08 10:50:29
377
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人