软件构造
逆『』暖
这个作者很懒,什么都没留下…
展开
-
变量的作用域(类变量与实例变量)及访问权限(public,protective,default,private)
首先,什么是变量?变量就是内容可以改变的量,与常量相对应。类变量与实例变量1、类变量,是与类相联系的变量,在类中增加static修饰符进行定义,所以又称为静态变量。类变量不仅可以直接通过类名+点操作符+变量名来操作,也可以通过类的实例+点操作符+变量来操作,大多数情况下,采用前者操作方式。2、实例变量,是与类的实例相联系的变量。实例变量只能通过类名的实例+点操作符+变量来操作。与类变量和实例变量相对应的一组概念就是类方法和实例方法,类方法与类相联系,实例方法与类的实例相联系。需要注意的是,静态方原创 2020-07-06 16:52:40 · 1151 阅读 · 0 评论 -
那些年踩过的坑---map的深拷贝与浅拷贝(附加replace初尝试)
在写Lab4的过程中,被map的深拷贝和浅拷贝困扰了一天,感觉被java的内存分配机制狠狠坑了一把。下面分享一下我的心酸心路历程。首先看看代码,当时的想法很简单,用另一个map来记录未分配资源前的计划项集合,如果分配资源后存在资源冲突,则将存储改变前的计划项集合赋值给flightentries:(在这段代码执行之前主要是判断待分配计划项存在与否、是否已分派资源以及欲分配的飞机存在与否,本文主要针对后半部分进行修改,下文就不再赘述)但是执行结果并不如我所愿:虽然程序执行提示资源冲突,操作失败,但选原创 2020-07-05 10:39:40 · 1078 阅读 · 0 评论 -
程序未正常结束导致Logging再次写日志失败
在Lab4实验过程中,出现了写日志失败的情况。在程序中多次调用含有log方法的程序,日志存放的文件log.txt却未发生变化。在确保方法调用无误后,打开存放log.txt的文件夹,发现多了如下文件:于是我删除了log.txt.1及log.txt.lck。再次运行程序,日志写入文件成功。.lck文件lck是lock的缩写。(这类文件其实之前我们也接触过,使用VMware虚拟机运行Linux系统过程中,虚拟机对应的文件夹就出现过.lck文件。当时遇到过虚拟机不存在的错误,有一种解决办法就是删除.l原创 2020-05-26 21:12:02 · 483 阅读 · 0 评论 -
软件构造实践心得:在创建对象时对对象进行操作
今天遇到如下问题:public class Test {public static void main(String[] args) {if (…) {System.out.println(“a”);} else {System.out.println(“b”);}}在…的地方填写什么代码,会让程序输出"ab"?联想到上学期计算机系统中学习的通过fork创建子进程的机制以及...原创 2020-04-10 01:03:14 · 263 阅读 · 0 评论 -
Safety from Rep Exposure
在软件构造实验过程中,通常要求在声明字段后给出AF,RI和Safety from rep exposure 的描述。除了要精确记录AF、RI,我们还需要给出表示泄漏的安全声明,关于这一点,通常有以下几种方法:All fields are private( final)------即将类中所有的属性(变量)定义为private类型,目的是不让用户得到你的内部属性尽量使用immutable数据...原创 2020-03-25 19:51:21 · 204 阅读 · 0 评论 -
remove引起的concurrentmodificationexception异常
在Lab2 Poetic Walks实验中,remove()方法在使用两种实现方式后始终不能通过测试 1. 未能遍历整个集合 2. 抛出concurrentmodificationexception异常 这里分析记录抛出concurrentmodificationexception异常的原因原创 2020-03-19 07:59:00 · 536 阅读 · 0 评论