- 博客(8)
- 收藏
- 关注
原创 Lab6——synchronize的实现机制
在lab6中,我们需要使用java的同步机制,主要是synchronized方法和synchronized代码块。为了更好地理解这里的原理,我查询了一些关于synchronized的实现机制。 在Java中,对象被创建在堆中,其中的结构不止包含对象的数据,还包括对象头和对齐。 其中对象头中就存储着关于对象锁的信息,存储着一个指向“锁”的指针。这个指针指向一个monitor对象,Java中,每个对...
2019-06-23 21:36:58
165
原创 不小心在git中commit了过大的文件怎么办
由于在做lab5的时候不小心把内存的dump文件复制到了工程里并且commit了,之后我虽然删除了本地的文件,但是push的时候仍然提示我文件过大。经过查找资料,我发现了如下解决办法。 首先我试过直接rm,但是之前已经作死地commit过了,这样是没有效果的。因为 Git 会记录你 所有 的历史提交,为了回滚需要,只要是在 Git 中存在过一次的文件,就会被永久记录下来,不论当前是否存在。 1.查...
2019-06-23 21:04:25
2580
原创 Lab5实验总结
lab5首先要求我们比对各种输入输出方式的优劣。我测试了 bufferedreader读, Files.lines、Stream读,scnner读,bufferedwriter写,outputstream写,channel写这六种IO。 通过注入输出代码和获取当前时间代码,在读入/写出完成时计算时间差值并输出,即可统计I/O所用的时间。 以表格方式对比输入输出的效率 以图形对比不同I/O的性能...
2019-06-23 20:30:49
318
原创 期末复习——第三章
首先区分类型和变量。 类型是一组值,以及可以对这些值执行的操作。 而变量是存储一个特定类型值的被命名的位置(用特定数据类型定义,可存储满足类型约束的值) Java 基本数据类型(primitive types):int ,long ,boolean ,double ,char; 对象数据类型:String,BigInteger,定义的对象类型 基本数据类型小写开始,对象数据类 型大写开始 另外,...
2019-06-18 22:40:36
125
原创 期末复习——1、2章
▪ 软件构造的多维度视图 ▪ 软件构造的阶段划分、各阶段的构造活动 ▪ 内部/外部的质量指标 ▪ 软件配置管理SCM与版本控制系统VCS ▪ Git/GitHub 软件构造的多维度视图 软件构造的过程实际上就是各个维度互相转换的过程 代码的从无到有是编程和静态检查的过程。 从代码到组件是设计ADT,运用设计模式的过程 从编译阶段到运行阶段是调试,测试的过程。 从时刻到时期是不断优化,生成多...
2019-06-18 16:53:15
186
原创 Lab4实验总结-异常处理
Lab4要求我们提高程序的健壮性,其中就要求我们对输入文件进行检查,发现其中错误的地方并且抛出异常,提示相关的错误信息。事实证明,这一点对后续实验中读入大文件时的检查非常重要,因为肉眼看出几十万行的文件中的错误几乎是不可能的。 抛出异常是一种比较温和的检查机制,在发现错误后,我的程序会捕获异常,提示信息,写入日志,并且忽略用户的该次错误操作,允许其修改输入。在轨道信息较为复杂时,用户输入错误是难免...
2019-06-04 22:16:50
339
原创 Lab3实验总结-正则匹配
正则表达式定义了字符串的模式,可以用来搜索、编辑或处理文本。 在Lab3中,我们需要使用正则表达式匹配输入文件中的各条项目,筛选分拣到需要的信息,构建数据结构来存储轨道。下面总结一下写实验的过程中学到的关于正则表达式的知识。 Java中的正则表达式需要二次转义。比如表示数字使用\d而非\d,表示正则表达式受到保护,不被 Java 字节码编译器解释 在进行正则匹配的时候,需要用到Patter...
2019-06-04 22:01:19
154
原创 Lab2实验小结
本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象 编程(OOP)技术实现 ADT。具体来说: ⚫ 针对给定的应用问题,从问题描述中识别所需的 ADT; ⚫ 设计 ADT 规约(pre-condition、post-condition)并评估规约的质量; ⚫ 根据 ADT 的规约设计测试用例; ⚫ ADT 的泛型化; ⚫ 根据规约设计 ADT 的多种不同的实现;针对每种实现,设计...
2019-04-13 17:21:16
308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人