自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TWW

  • 博客(23)
  • 收藏
  • 关注

原创 Ubuntu 无法复制大文件 卡死

Ubuntu 无法复制大文件首先注意一下是否是向U盘复制,如果向U盘复制且U盘的格式是FAT32的话,U盘所能存储的最大单个文件为4G,无法用来保存超过4G的大文件。如果是以上原因,需要对U盘进行格式化,比如可以格式化为NTFS格式(确保格式化文件之前备份一下U盘中国的数据)如果不是以上原因,建议使用rsync指令或者python shutil库尝试自己写一段代码完成拷贝。...

2020-11-12 15:56:04 3185

原创 软件构造:5-1 Metrics, Morphology and External Observations of Reusability

可复用性的度量、形态与外部表现具有好的可复用性的软件应当具有以下特性:小、简单与标准兼容灵活可变可扩展泛型、参数化模块化变化的局部性稳定丰富的文档和帮助不同层面的复用最主要的复用是代码层面的复用。在软件构造的过程中任何实体都可能被复用。需求规约数据测试用例文档复用类型:白盒复用:源代码课件,可修改和扩展;黑盒复用:源代码不可见,不能修改。白盒...

2019-06-21 15:08:01 265

原创 软件构造:3-5 Equality in ADT and OOP

ADT和OOP中的等价性等价关系ADT是对数据的抽象,体现为一组数据的操作。抽象函数AF是表示空间到抽象空间的映射,定义了ADT的等价操作。等价关系:自反、传递、对称。不可变类型的等价抽象函数AF映射到同样的结果则等价。== VS equals()==是引用等价性,而equals是对象等价性Object中缺省equals实现方法是判断引用等价性可变类型的等价性分为以下两种:观...

2019-06-21 15:04:59 258

原创 软件构造:3-4 Object-Oriented Programming (OOP)

3-4 面向对象的编程标准的面向对象泛型:对于“准备好更改”和“为重用而设计”:应该可以使用表示任意类型的正式泛型参数来编写类。继承:控制潜在的复杂性。多态:应该可以在基于继承的类型系统的控制下,将实体(表示运行时对象的软件文本中的名称)附加到各种可能类型的运行时对象上。动态分派/绑定:在实体上调用某个特性应该总是触发与所附运行时对象的类型相对应的特性,这在调用的不同执行中不一定是相同...

2019-06-21 15:04:18 213

原创 软件构造:3-3 Abstract Data Type (ADT)

抽象数据类型ADT的特性:表示泄露,抽象函数AF,表示不变量RI抽象以及用户定义的类型抽象数据类型是软件工程中一个通用原则的实例,它有很多名字:抽象:用更简单、更高层次的思想忽略或隐藏底层细节。(规约是一种客户端只需要理解千前置和后置条件来使用的抽象,不需要了解内部实现)模块性:将一个系统划分为各个组件或模块,可以设计、实现、测试、推理和重用与系统的其他部分分开。(单元测试和规约使得方...

2019-06-21 15:02:36 261

原创 软件构造:3-2 Designing Specification

Designing Specification行为等价性站在客户端视角看行为等价性:根据规约判断行为是否等价规约结构:前置条件和后置条件前置条件:对客户端的约束,在使用方法时必须满足的条件;后置条件:对开发者的约束,方法结束时必须满足的条件;契约:如果前置条件满足了,后置条件必须满足前置条件不满足,则方法可以做任何事情前置条件在@param中定义 后置条件在@return 和 @t...

2019-06-21 15:00:57 279

原创 软件构造:3-2 Designing Specification

Designing Specification行为等价性站在客户端视角看行为等价性:根据规约判断行为是否等价规约结构:前置条件和后置条件前置条件:对客户端的约束,在使用方法时必须满足的条件;后置条件:对开发者的约束,方法结束时必须满足的条件;契约:如果前置条件满足了,后置条件必须满足前置条件不满足,则方法可以做任何事情前置条件在@param中定义 后置条件在@return 和 @t...

2019-06-21 15:00:57 189

原创 软件构造:3-1 Data Type and Type Checking

数据类型与类型检验静态/动态类型检验可变/不可变的数据类型可变数据的危险性不可变数据的优越性用Snapshot图理解数据类型用集合类表达复杂数据类型Null的危害Java 中的数据类型注意几个小问题:object在初始化之后都是有ID的,而基本数据类型没有;class不都是mutable的!常见的immutable的class的有很多,比如将基本类型包装的对象类型...

2019-06-21 14:59:19 236

原创 记录Java Synchronized关键字踩坑与实现原理解析

记录Java Synchronized关键字踩坑与实现原理解析参考:https://blog.csdn.net/luoweifu/article/details/46613015https://blog.csdn.net/linmiansheng/article/details/80518130首先介绍必须的背景知识:Lab6的v1实验实现了多线程的猴子过河模拟器,猴子们多线程的选择梯...

2019-06-21 12:04:34 312

原创 记录Java Collections构造器踩坑

记录Java Collections构造器踩坑问题定义:Java Collections构造器克隆对象后后发现使用过程中未对当前对象进行修改,但是队列内部元素发生改变。先上实验的问题代码克隆队列的方法: /** * clone a queue. * @param queue the target queue which should be cloned can't...

2019-06-21 10:51:11 293

原创 Java 语法糖 详解

Java 语法糖解析本文是基于博客https://blog.csdn.net/danchu/article/details/5498644 以及知乎陈鹏、DisLido等的回答分享的个人理解与感悟语法糖指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,并没有给语言添加什么新东西,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。 ...

2019-04-08 23:19:36 960

原创 Java Lambda Stream 特性 详解

Java Stream/Lambda 表达式Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。部分参考博客: https://www.cnblogs.com/song27/p/7697713.html...

2019-04-08 23:17:47 880

原创 Java 静态工厂方法详解

Java 静态工厂方法详解本文章主要是对《Effective Java》对静态工厂方法的理解第一次使用静态工厂方法是在HIT《Software Construction》课程的Lab2-P1的Graph.java中,对静态工厂方法的理解也相当有限,因此撰写此博客加深对静态工厂方法的理解。Java 静态工厂方法在实际开发中经常使用,在《Effective Java》中第二章第一条即为:考虑...

2019-04-08 19:09:54 6378 2

原创 HIT 软件构造 课堂测验 1.1软件构造的多维度视图

HIT 软件构造 课堂测验 1.1软件构造的多维度视图原题如下:软件构造的多维度视图:均可从软件构造多维度视图中找到答案。

2019-03-24 21:33:51 669

原创 Java 关键字 instanceof属性及使用方法

Java 关键字 instanceof 属性及使用方法instanceof的返回结果是boolean型,用法是:object.instanceof(class)返回结果:如果当前class为object对象的一个自身类或者是父类,返回true,否则返回false(注意:与null有关的均为false);测试部分如下:class Student extends Person{}p...

2019-03-24 20:39:06 868

原创 实验踩坑记录:Java迭代器iterator无法remove、remove失败原因以及Iterator源码分析

Java Set 迭代器iterator无法remove、remove失败原因在Java开发过程中遇到一个问题,调用Set的iterator.remove函数时无法删除,且未报错,但是单步运行时发现所比较对象时完全相同的,根据重写的equals()函数也可判断相同,以下为原代码: public static boolean removePiece(Player player, Piece p...

2019-03-24 19:40:36 4175 3

原创 软件构造Lab2踩坑:ArrayList报错-UnsupportedOperationException的解决办法

ArrayList报错:UnsupportedOperationException的解决办法在进行java开发时遇到一个问题:使用list.add()函数报出如下错误:查找函数定义部分如下:List<Integer> list = Arrays.asList(1,2,3,4,5,6);查看报错部分的源码:可以看出此ArrayList未真正实现add函数,调用Abstr...

2019-03-24 19:22:52 836

原创 软件构造第一次课堂测验-试一试Java

软件构造第一次课堂测验-试一试Java第一题:Integer是mutable类型的变量,是object,不是基本数据类型中的某一种,需要经过new在heap中申请内存,因此 “==” 是判断的对象等价性而未经new的Integer即为int,是基本数据类型,“==”判断的是其值是否相同第二题:首先“+”的运算符优先级比“”高,因此输出内容是“a and b: ”+a与b做""比较的结...

2019-03-13 22:58:18 636 2

原创 Java 泛型 通配符

泛型类的定义:在类声明时通过一个标识符表示类中某个字段的类型或者某个方法的返回值或参数的类型 ,在类声明或实例化时只需要指定自己需要的类型即可。声明带泛型的类:class 类名&lt;泛型类型 1,泛型类型 2……&gt;{泛型类型 变量名;泛型类型 方法名(){}返回值类型 方法名(泛型类型 变量名){}}使用带泛型的类:类名&lt;具体类&gt; 对象名 = new 类名&l...

2019-03-07 21:28:54 670

转载 软件构造2-Git基本操作及解析大全

一:Git是什么?  Git是目前世界上最先进的分布式版本控制系统。  二:SVN与Git的最主要的区别?  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器...

2019-03-07 17:01:58 627

原创 软件构造1-Java 文件操作 文件写入

Java基本文件写入操作import java.io.*;public class Main { public static void writeByFileWriter() { // FileWriter 类存在四种构造器 //1. public FileWriter(String fileName) throws IOException ...

2019-03-07 16:49:10 626

原创 HIT CS:APP 计算机系统大作业 《程序人生-Hello’s P2P》

HIT CS:APP 计算机系统大作业程序人生-Hello’s P2PHello的自白我是Hello,我是每一个程序猿¤的初恋(羞羞……)l却在短短几分钟后惨遭每个菜鸟的无情抛弃(呜呜……),他们很快喜欢上sum、sort、matrix、PR、AI、IOT、BD、MIS……,从不回头。l只有我自己知道,我的出身有多么高贵,我的一生多么坎坷!l多年后,那些真懂我的大佬(也是曾经的菜鸟一...

2018-12-29 15:14:27 1995 1

原创 文件地址编码问题-Encoding Changed

在一次简单的文件操作中,我遇到了一个十分棘手的问题 build的时候就会弹出Encodinng Changed错误并且无法正常运行 经检查,问题出在了路径部分: 输入路径的时候图方便直接于其绝对路径下拷贝 导致出现了该问题 将整个代码拷贝入记事本保存时即会弹出文本中存在不同类型的编码,需统一编码才能保存 所以以后还是不要图方便乱拷贝未知编码类型的文本啊~~~ 如果要拷贝的话最...

2018-09-12 19:55:34 4730 5

空空如也

空空如也

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

TA关注的人

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