自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件构造考前复习

对于Java中的构造函数,它是默认互斥的,所以我们不需要加锁。并不是某一行语句就算一个原子操作,原子操作由JVM决定。但是程序员可以通过加锁的方法设置原子操作。线程休眠sleep()方法不会释放锁,仍然保持同步控制,而wait()方法会让出资源,释放锁。对于interrupt()方法,并不是强制中断线程的,而是由线程自己觉得中断不中断。我们可以用isInterrupted()或者Interrupted()方法来判断线程是否中断,要注意的是Interrupted()方法会复位中断标识符。创建线程有两

2020-07-11 16:26:28 147

原创 软件构造复习 总结心得

string.trim()方法不改变字符串string的内容mutable类型可以避免多个引用改变同一个变量。规约不是只给用户看的,程序员也需要看,可以明确责任划分,方便编程。

2020-07-10 23:45:24 219

原创 软件构造lab3小结

1.迭代的同时不能对集合进行remove操作,否则会报错,即抛出异常:java.util.ConcurrentModificationException因为Java并不能对集合进行并发操作。但是在编译阶段不会报错,算一个陷阱。所以我们如果在迭代的过程中要执行删除操作的话,需要用到iterator即迭代器来实现。同理,add操作也是如此。2.迭代器的remove方法会删除上次调用next()方法时候返回的元素,也就是说我们应该先用next,后用remove,因为迭代器已经跳过了上一个元素。..

2020-07-01 17:44:06 140

原创 Swing JFrame及实验3的一些知识

一.实验3的Java知识:获取两个list的交集: 使用Collections类中的retainAll方法,具体如下:List< String>a =new ArrayList<String>(); List< String>b =new ArrayList<String>(); a.add("a"); b.add("b"); a.add("b"); b.add("B"); a.retainAll(b); Syst

2020-05-14 00:38:25 108

原创 继承,接口,多态与泛型

类的继承是一种非常重要的概念,简单来说,就是基于某个父类,对其进行扩展,得到一个新的子类。这种方法可以复用一些已经定义完善的类,不仅提高了软件的可维护性和可扩展性,也减少了软件的开发周期。继承中子类可以继承父类原有的属性和方法,也可以增加父类没有的属性和方法,但是不允许删减父类中存在的属性或者方法,这是不符合LSP原则也就是可替换原则的。就例如平行四边形类可以继承四边形的类,因为平行四边形是一...

2020-04-28 21:44:55 165

原创 软件构造 第四章

4-1主要讲述了软件的可复用性。这可以说是软件的一个质量目标,也是第三章ADT的一个应用。一般来说,复用的等级有以下几种1.源代码级别的复用。2.模块级别的复用。例如类或者抽象类或者接口。3.库级别的复用。例如API或者包。4.系统级别的复用。例如框架。对于软件的复用,有两个部分,首先是面向复用的编程,也就是开发类,开发出可以复用的软件,这是一种抽象产品。然后是基于复用的编程,也就是...

2020-04-26 00:53:41 206

原创 软件构造 第三章 3-4 3-5

这两节主要讲了Java的一些知识以及与软件设计的一些要点。首先是接口,Java的成员有静态成员和示例成员,静态成员是所有类共享的,而示例成员是每个对象单独所有的,所以静态成员才能用于接口。接口是一种只有方法名和规约的类,无属性和具体的实现。对于接口来说,接口是无法实例化的,而且接口可以直接给用户,便于用户使用。一般来说,创建变量也有两种,一种是用具体的类型创建,另外一种是用接口创建,即没有具体...

2020-04-16 00:36:22 126

原创 软件构造 第三章 抽象数据类型

抽象数据类型(ADT)就是指用户在使用某个类的时候只能通过方法来操作这个类,而不能直接地访问这个类的属性。这样一来,程序的独立性和安全性都有了很大的提高。实现抽象数据类型,我们可以把所有的属性都变成private,这种实现从工作量上来说比起public是增大很多的。但是如果用public可能会导致很多安全问题。构造一个ADT,我们需要写明ADT的特性:表示泄露,抽象函数AF,表示不变量RI,这些...

2020-04-14 03:27:56 158

原创 软件构造 第三章

软件构造的第一章讲了软件的质量目标,而第二章主要讲了软件的开发过程和版本控制工具,所以在第三章主要内容就是如何去实现不同的质量目标。这一章的要点在于静态和动态类型检查,snapshot图的绘制以及集合类表示数据类型。...

2020-03-28 01:32:35 378

原创 软件构造 第四周 总结

第二章主要是讲软件开发周期和软件的配置管理。开发过程主要有传统阶段以及敏捷的开发过程以及这两种的区别。每一个软件肯定是有开发周期的,因为每一个软件都需要维护,可能是修复bug,可能是增加新的功能,但是如果增加的代码太多,那么在软件上进行修改就更加困难,所以软件的质量上升过程肯定是波浪形的。在软件的开发过程中肯定不是一蹴而就的,所以肯定是会有很多的不同版本。软件的开发过程主要有两种类型,线性过...

2020-03-19 19:01:04 78

软件构造 测试

对于软件的测试,我们需要对各种各样的测试都有一些了解。测试。测试是一种提高软件质量的重要手段,是一种验证软件是否存在重大错误的方法。我们的软件测试需要针对软件的某一个方面进行侧重的测试。需要注意的是即使是最好的测试,也无法达到100%的验证。所以说测试是一种主要注重于破坏,证明软件有错的行为,它的目标与其他活动的目标恰恰相反。对于一个好的测试,有四个层面,分别是单元测试,集成测试,系统测试与...

2020-03-12 01:35:13 328

软件构造课堂总结

这周,对软件构造的学习逐渐步入正轨,通过一周多对java的学习,我对java的理解更加深刻,掌握得也更加扎实,这周,我一边做实验lab1一边学习java,这样对java,对软件设计与检验也能更好地学习。对于lab1以及软件构造的习题课,写一点教训。首先是软件构造的课程部分:软件构造这门课是一门为日后的计算机技术应用以及方向选择奠定基础的课程,不同于大一阶段的基础课,这门课不仅仅是单一的编程或者...

2020-03-11 15:54:21 70

软件构造 第一周

本周,为学习软件构造,本人在家通过网络以及课本学习Java。以前,我只学习过c语言,并且粗略地接触过一些python的相关内容,对于Java的相关内容,例如类,包,工程等可以说是根本没有什么了解。如今学习了Java的一部分内容后,对照c语言,我有了更多的收获,一周下来,虽然还是不能熟练应用,我对java有了一些小体会,所以在此总结一些,便于日后回顾。首先,对比c语言来说,Java是一门简洁,可靠...

2020-03-01 17:33:46 133 1

空空如也

空空如也

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

TA关注的人

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