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