自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 红黑树学习笔记

什么是红黑树红黑树是一棵二叉搜索树,它为每一个节点增加了一个属性——颜色,其值为黑色或红色,红黑树确保从根节点到叶节点的所有路径长度差距在2倍以内,以此保证自身是近似平衡的。红黑树是满足下面5条性质的红黑树:每个节点或是黑色的,或是红色的。根节点是黑色的。每个叶节点(NIL)是黑色的如果一个节点是红色的,则它的两个子节点都是黑色的对于每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。常规二叉树红黑树红黑树的旋转左旋时右孩子不为NIL,右旋时左孩子不为

2021-08-07 17:08:54 150

原创 二叉搜索树

二叉搜索树二叉搜索树二叉搜索树,是具有如下性质的二叉树:每一个节点是一个对象,包含属性key、left、right、p,分别表示节点的值、左孩子、右孩子、父亲。 class Node { int key; Node left; Node right; Node p; }对于每一个节点x,有left.key <= x.key <= right.key。顺序输出二叉搜索树通过中序遍历一颗二叉搜索树

2021-08-07 14:01:31 173

原创 数据类型与类型检验复习概要

Java是静态类型检测,在编译时进行类型检测,在运行时不进行类型检测。动态类型检测(针对具体的值)强于静态类型检测(针对类型)。final类无法派生子类;final变量无法改变值/引用;final方法无法被子类重写。...

2020-07-10 21:39:39 217

原创 可复用性复习概要

可复用的不仅仅只有代码,最主要的复用是在代码层面, 但软件构造过程中的任何实体都可能被复用,如需求、设计/规约spec、数据、测试用例、文档。代码复用的类型:(1) 白盒复用:源代码可见,可修改和扩展。通过继承进行复用。(1) 黑盒复用:源代码不可见,不能修改。通过实现接口/委托复用。设计可复用的类:继承与重写、重载、参数多态与泛型编程、行为子类型与Liskov替换原则、组合与委托。Liskov替换原则:子类型可以增加方法,但不可删;子类型需要实现抽象类型中的所有未实现方法;..

2020-07-09 16:10:36 183

原创 可维护性的度量与构造原则复习概要

种类:a.纠错性维护,修复bug;适应性维护,迁移相关(电脑->手机);完善性维护,扩充软件功能(比重最大);预防性维护,为了以后软件的可能变化,提前做出准备(比重最小,本应最大)。提高软件可维护性的一些基本原则:(1) 模块化编程:高内聚(每个模块完成一个功能),低耦合(模块之间联系尽量少);分离关注点,信息隐藏。(2) SOLID原则(模块化编程原则):单一职责原则;开放-封闭原则;Liskov替换原则;依赖转置原则;接口聚合原则。...

2020-07-08 15:11:30 155

原创 程序的健壮性与正确性复习概要

unchecked Exception(不需要捕获):Eror:不是由程序引起的,是由外部环境(设备错误等)引起的,通常程序员无法处理。RuntimeException:由于程序员写的程序本身存在的错误引起。checked Exception(一定要捕获):other Exception:使用错误,client引起。异常应该用来捕获client端的错误,而非程序本身的错误。异常处理的5个关键字:try:探测异常catch:如果异常出现,进入错误处理路径finally:无论是否出..

2020-07-05 12:58:43 206

原创 并发(多线程)复习总结概要

线程之间通过共享内存和消息队列来进行消息传递;进程之间通过消息传递进行协作。进程创建线程,多个线程共享创建它们的进程所分配的内存,同时,每个线程又独立地拥有自己的方法栈和寄存器。创建线程:继承Thread类或实现Runable接口(推荐使用),然后通过start()方法来创建线程。线程个数例题:public class Moirai { public static void main(String[] args) { Thread clotho = new Thread(.

2020-07-03 18:34:04 99

原创 list多次赋值后得到的结果全部被最后一次赋值所覆盖原因及解决方法

最近在写程序的时候发现,向list中多次赋值后得到的结果全部被最后一次赋值所覆盖,重现一下当时出现此问题的代码:public static void main(String[] args) { List<String> list = new ArrayList<String>(); List<List<String>> lists = new ArrayList<List<String>>();//存放list list.

2020-06-06 20:36:39 3581

原创 isInterrupted和interrupted的区别

133

2020-05-28 19:14:26 1350

原创 正则表达式的作用及其使用

正则表达式,又称规则表达式,常被用来检索、替换那些符合某个模式(规则)的文本。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。下面分别举例说明正则表达式如何达到这两个目的:1.语法判断:输入一个QQ号,匹配其是否符合规则。QQ号是从10000开始的,所以对其进行匹配可以用"[1-9][0-9]{4,}",其中,"[]"代表区间,[1-9]代表匹配区间1-9之间的单个

2020-05-18 21:47:58 5469

原创 重写equals方法和hashCode方法

判断两个对象是否相等,java提供了两种方法:"“和equals方法。""判定两个对象相等的机制是看这两个对象是否是同一个对象,即这两个对象是否指向同一个地址。equals方法用来判断两个对象的内容是否相等。在Object类中默认的equals方法是return this == obj 。为了能够判断两个对象的内容是否相等,我们常常需要重写equals方法(equals方法须满足自反、对称、传递三个性质)。public class Teacher { private String IDNumber

2020-05-14 22:13:32 143

原创 JAVA中scanner的使用感想

最近写程序在用到scanner的时候遇到了一些问题,为此,查阅了一些资料,系统的了解了一下scanner的使用方法及其注意事项。

2020-04-22 16:44:28 242

原创 java.util.ConcurrentModificationException

java.util.ConcurrentModificationExceptionat java.util.AbstractListItr.checkForComodification(UnknownSource)atjava.util.AbstractListItr.checkForComodification(Unknown Source)at java.util.AbstractList...

2020-03-24 23:29:19 91

原创 使用git上传及更新项目到GitHub仓库

本文简要总结了使用git上传及更新项目到GitHub的两中方法。

2020-03-14 21:29:37 329

原创 CS大作业 程序人生 Hello's p2p

CS大作业 程序人生 Hello’s p2p计算机系统大作业题 目 程序人生-Hello’s P2P 专 业 计算机类学   号 1180300801班   级 1803008学 生 崔同发    指 导 教 师 吴锐计算机科学与技术学院2019年12月摘 要hello.c程序是以字节序列的...

2019-12-30 18:04:17 395

空空如也

空空如也

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

TA关注的人

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