自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 可变性与不可变性

1、变量、变量的值 改变一个变量、改变一个变量的值,二者有何区别? 改变一个变量:将该变量指向另 一个值的存储空间 改变一个变量的值:将 该变量当前指向的值的存储空间中写入一个新的值 变化是不利于稳定性的,但程序不能没有变化,因此我们要尽可能避免变化,以避免副作用 2、不变对象与可变对象 不变对象:一旦被创建,始终指向同一个值/引用 可变对象:拥有方法可以修改自己的值/引用 3、以字符串的操作为例,讲讲二者的区别 String类型的引用是不可变的,对它的修改如下 类似于指针指向的改变

2021-07-07 21:59:40 227

原创 Java数据类型检查

1、Java的数据类型 Java中有两种数据类型:基本数据类型和引用数据类型 他们的区别如下: 基本数据类型 引用数据类型 2、检查模式: (1)静态检查:在编译阶段进行类型检查 语法错误,类名/函数名错误,参数数目错误,参数类型错误,返回值类型错误 (2)动态检查:在运行阶段进行类型检查 非法的参数值,非法的返回值,越界, 空指...

2021-07-07 21:50:57 1261

原创 ADT的AF及RI

一、一些定义 R:表示空间,ADT内部的具体的对象及其内容 A:抽象空间,抽象值构成的空间,用户看到和使用的值 ADT开发者关注表示空间R,用户t关注抽象空间A 可以发现,R到A是满射,但未必是单射 AF:抽象函数:R和A之间映射关系的函数,即如何去解释R中的每一个值为A中的每一个值。 可以写作AF : R → A RI:RI告诉我们空间R中的r是否被AF映射到了空间A中的某个值 可以写作RI : R → boolean RI形成了空间R的一个子集(子集中的 所有元素均被AF映射...

2021-07-07 21:42:45 152

原创 Java中的正则语言和正则表达式

在学习了自动机之后,对java中的正则表达式有了更深刻的理解,同时也认识到java中的正则表达式已经很简化了 正则表达式是一个遵循特定规则,利用操作符、终止节点和其他非终止节点,构造新的字符串的方法 一、操作符 1、连接: x ::= y z 意味着x是由后面连接z生成的 2、重复* : x ::= y* 意味着x是由若干y重复而成的 3、选择| : x ::= y | z 意味着x要么是y要么是z 扩展运算符: 4、optional x ::= y? x是y或空串 5、非.

2021-07-07 21:31:12 86

原创 LSP原则

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。 1、子类可以实现父类的

2021-07-07 21:17:19 1477

原创 Hello’s P2P

当汇编器生成一个目标模块是,它并不知道数据和代码最终将放在内存中的什么位置,它也不知道这个模块引用的任何外部定义的函数或者全局变量的位置。所以,无论何时汇编器遇到对最终位置未知的目标引用,它就会生成一个重定位条目,告诉链接器在将目标文件合并成可执行目标文件时如何修改这个引用。代码的重定位条目放在.rel.text中,已初始化数据的重定位条目放在.rel.data中。 两种最基本的重定位类型: R_X86_64_PC32 :重定位一个使用32位PC相对地址的引用。 R_X86_64_32...

2021-07-02 17:13:47 168

空空如也

空空如也

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

TA关注的人

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