- 博客(27)
- 收藏
- 关注
原创 Git 读书笔记
起步1、不同于其他版本控制系统,Git存储的是一系列快照,而不是文件变更列表2、Git三种状态,已提交(commited)、已修改、已暂存。3、git commit -a 能跳过使用暂存区域,自动把所有已经跟踪过的文件暂存起来一并提交git命令git config --list...
2020-12-21 10:31:56
161
原创 maven 读书笔记
一、坐标和依赖详解MAVEN依赖范围(SCOPE)compile 默认,编译源码,编译测试代码,运行代码,运行测试代码时生效provide 运行时无效test 编译和运行时无效runtime 运行时有效(编译测试代码时也有效)运行时无效的jar包打包时不会加入运行包中插件传参的两种方式1、通过-Dxxx后面跟用户属性的方式传参,取Expression:${xxx}中的xxx或者User property:xxx2、pom.xml中properties的用户自定义属性中进行配置//示例&
2020-12-21 10:31:02
133
原创 JAVA 并发编程—基础2
对象的组合###1、设计线程安全的类 在设计线程安全类的过程中,需要包含以下三个基本要素 - 找出构成对象状态的所有变量。 - 找出约束状态变量的不变性条件。 - 建立对象状态的并发访问策略。 要分析对象的状态,首先从对象的域开始。如果对象中所有的域都是基本类型的变量,那么这些类将构成对象的全部状态。 同步策略定义了如何在不违背对象不变条件或后验条件的情况下对其状态的访问操作进...
2019-03-19 15:53:18
200
翻译 jQuery File upload 上传简介
jQuery文件上传插件由提供文件上传API的基本版(jquery.fileupload.js)和提供完整用户界面(jquery.fileupload-ui.js)的附加插件组成。基本版本的所有选项都存在于 UI版本,而后者引入了一些额外的选项。AJAX选项 jQuery文件上传插件使用jQuery.ajax()来处理文件上传请求。由于可以通过Iframe传输插件,即使不支持XHR的
2018-11-19 15:28:01
811
原创 # JAVA 并发编程—基础
线程安全性通过同步避免多个线程在同一时刻访问相同的数据1、如果当多个线程同时访问一个可变的状态变量时没有使用合适的同步,那么程序会出现错误。有三种方式可以修复这个问题: (1)、不在多个线程之间共享该变量 (2)、将状态变量改为不可变的 (3)、在访问状态变量时使用同步2、什么是线程安全性? 在线程安全性的定义中,最主要的概念就是正确性。正确性意味着某个类的行为与其规范完全...
2018-09-03 10:38:05
184
原创 Effective Java 读书笔记
Effective Java-对于所有对象都通用的方法#表示需深入理解 一、覆盖equals时请遵守通用约定 覆盖equals方法看起来似乎很简单,但是有许多覆盖方式会导致错误,并且后果非常严重。最容易避免这类问题的方法就是不覆盖equals方法,在这种情况下,。类的每个实例只与自身相等。如果满足了以下任何一个条件,这就是所期望的结果: (1)类的每个实例...
2018-08-24 10:49:42
262
原创 Effective Java-创建和销毁对象
一、考虑用静态方法代替构造器 类可以通过静态工厂方法来提供它的客户端,而不是通过构造器。 优势: 1、它们有名称,可以根据名称将创建对象的行为表达的更清楚。 2、可以不必在每次调用它们的时候都返回一个新对象。这使得不可变类可以使用预先构建好的实例,或者将构建好的实例缓存起来,进行重复利用。 3、它们可以返回原返回类型的任何子类型...
2018-07-23 15:40:03
195
原创 重构-处理概括关系
1、Pull Up Field(字段上移) 两个子类拥有相同的字段。将该字段移至超类。2、Pull Up Method(函数上移) 3、Pull Up Constructor Body(构造函数本体上移) 你在各个子类中拥有一些构造函数,它们的本体几乎一致。在超类中新建一个构造函数,并在子类构造函数中调用它。4、Push Down M...
2018-07-19 17:55:03
414
原创 重构-简化函数调用
1、Rename Method(函数改名) 2、Add Parameter(添加参数) 3、Remove Parameter(移除参数) 4、Separate Query from Modifier(将查询函数和修改函数分离) 某个函数既返回对象状态值,又修改对象状态。建立两个不同的函数,其中一个负责查询,另一个负责修...
2018-07-18 09:52:42
306
原创 重构-简化条件表达式
1、Decompose Conditional(自封装字段) 你有一个复杂的条件语句。从if、then、else三个段落中分别提炼出独立函数。2、Consolidate Conditional Expression(合并条件表达式) 你有一系列条件测试,都得到相同结果。将这些测试合并为一个条件表达式,并将这个条件表达式提炼称为一个独立函数。3、Conso...
2018-07-14 13:40:32
339
原创 重构-重新组织数据
1、Self Encapsulate Field(自封装字段) 为这个字段建立取值/设置函数,且只通过这个函数访问该字段。2、Replace Data Value with Object(以对象取代数据值) 有一个数据项,需要与其他数据和行为一起使用才有意义。将数据项变成对象。3 Change Value to Reference(将值对象改为引用对象)...
2018-07-12 10:11:54
646
原创 重构-在对象之间搬移特性
1、Move Method(搬移函数) 有个函数与所在类之外的另一个类进行更多的交流(调用或被调用)。在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变为一个单纯的委托函数,或者将旧函数删除。2、Move Field(搬移字段) 某个字段被其所属类之外的另一个类频繁调用。3、Extract Class(提炼类) 某个类做了应该...
2018-07-05 16:17:15
324
原创 重构-重新组织函数
1、Extract Method(提炼函数) 将一个复杂的函数拆分成多个小函数,通过函数的命名表示该函数是做什么的,命名很重要。 2、Inline Method(内联函数) 和Extract Method相反,直接用函数本地替换调用点,然后移除该函数。 3、Inline Temp(内联临时变量) 将所有对该变量的引用动作,替换为对它赋值的表达...
2018-07-03 17:05:19
201
原创 重构-代码的坏味道
重构-代码的坏味道1、Duplicated Code (重复代码) 相同的代码在多处重复出现,在同一个类中,使用Extract Method提取重复的代码。或者,在不同的子类中,可以先Extract Method, 然后Pull up Method, 将其推入超类中,有可能代码只是相似而不是完全相同,可以使用Form Template Method,也又可能不同算法做着相同的事...
2018-07-03 09:52:49
253
原创 java编程思想读书笔记----第十四章 类型信息
运行时类型信息可以使你在程序运行时发现和使用类型信息。java有两种方式让我们在运行时识别对象和类的信息,一种是传统的RTTI,一种是“反射”机制,它允许我们在运行时发现和使用类的信息。
2017-05-08 14:38:09
523
原创 java编程思想读书笔记----第十二章 通过异常处理错误
发现异常的理想时期是在编译期,也就是在试图运行代码之前。然而编译期不能找到所有的错误,余下的问题必须在运行期间解决,也就是异常处理。
2017-03-08 10:12:34
446
原创 java编程思想读书笔记----第六章 访问权限控制
控制对成员的访问权限,一是为了不让客户端程序员碰触不该碰触的部分,让它们明确那些是重要的接口,那些是可以忽略的。二是为了修改底层实现时,不会影响到调用的接口。
2016-11-18 14:36:30
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人