
代码优化
Living_Z
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Effective Java之创建和销毁对象 总结
第1条 考虑用静态工厂方法代替构造器静态工厂方法与构造器不同的第一大优势在于 它们有名称静态工厂方法与构造器不同的第二大优势在于 不必在每次调用它们的时候都创建一个新对象静态工厂方法与构造器不同的第三大优势在于 它们可以返回原返回类型的任何子类型的对象静态工厂方法的第四大优势在于 在创建参数化类型实例的时候 它们使代码变得更加简洁静态工厂方法的主要缺点在于 类如果不含公有的或者受保护的构...原创 2018-10-24 13:28:51 · 233 阅读 · 0 评论 -
Effective Java之序列化 总结
第74条 谨慎地实现Serializable接口实现Serializable接口而付出的最大代价是 一旦一个类被发布 就大大降低了 改变这个类的实现 的灵活性实现Serializable的第二个代价是 它增加了出现Bug和安全漏洞的可能性实现Serializable的第三个代价是 随着类发行新的版本 相关的测试负担也增加了实现Serializable接口并不是一个很轻松就可以做出的决定为...原创 2019-03-09 11:41:36 · 242 阅读 · 0 评论 -
Effective Java之异常 总结
第57条 只针对异常的情况才使用异常异常应该只用于异常的情况下 它们永远不应该用于正常的控制流设计良好的API不应该强迫它的客户端为了正常的控制流而使用异常第58条 对可恢复的情况使用受检异常 对编程错误使用运行时异常如果期望调用者能够适当地恢复 对于这种情况就应该使用受检的异常用运行时异常来表明编程错误你实现的所有未受检的抛出结构都应该是RuntimeException的子类(直接的...原创 2019-03-06 18:00:05 · 218 阅读 · 0 评论 -
Effective Java之通用程序设计 总结
第45条 将局部变量的作用域最小化要使局部变量的作用域最小化 最有力的方法就是在第一次使用它的地方声明几乎每个局部变量的声明都应该包含一个初始化表达式如果在循环终止之后不再需要循环变量的内容 for循环就优先于while循环for (int i = 0, n = expensiveComputation(); i < n; i++) {}第二个变量n被用来保存第一个变量的极限值 从...原创 2019-03-06 09:51:47 · 180 阅读 · 0 评论 -
Effective Java之类和接口 总结
第13条 使类和成员的可访问性最小化尽可能地使每个类或者成员不被外界访问实例域决不能是公有的包含公有可变域的类并不是线程安全的类具有公有的静态final数组域 或者返回这种域的访问方法 这几乎总是错误的第14条 在公有类中使用访问方法而非公有域如果类可以在它所在的包的外部进行访问 就提供访问方法如果类是包级私有的 或者是私有的嵌套类 直接暴露它的数据域并没有本质的错误第15条 使可...原创 2019-02-26 17:18:28 · 277 阅读 · 0 评论 -
Effective Java之枚举和注解 总结
第30条 用enum代替int常量枚举类型为类型安全的枚举模式为了将数据与枚举常量关联起来 得声明实例域 并编写一个带有数据并将数据保存在域中的构造器枚举中的switch语句适合于给外部的枚举类型增加特定于常量的行为与int常量相比 枚举类型的优势是不言而喻的 枚举要易读得多 也更加安全 功能更加强大 许多枚举都不需要显示的构造器或者成员 但许多其他枚举则受益于 每个常量与属性的关联 以及...原创 2019-03-02 17:51:34 · 247 阅读 · 0 评论 -
Effective Java之方法 总结
第38条 检查参数的有效性每当编写方法或者构造器的时候 应该考虑它的参数有哪些限制 应该把这些限制写到文档中 并且在这个方法体的开头处 通过显示的检查来实施这些限制第39条 必要时进行保护性拷贝假设类的客户端会尽其所能来破坏这个类的约束条件 因此你必须保护性地设计程序对于构造器的每个可变参数进行保护性拷贝是必要的保护性拷贝是在检查参数的有效性之前进行的 并且有效性检查是针对拷贝之后的对象...原创 2019-03-05 10:10:03 · 303 阅读 · 0 评论 -
Effective Java之泛型 总结
第23条 请不要在新代码中使用原生态类型如果使用原生态类型 就失掉了泛型在安全性和表述性方面的所有优势在类文字(class literal)中必须使用原生态类型分类术语示例参数化的类型List&lt;String&gt;实际类型参数String泛型List&lt;E&gt;形式类型参数E无限制通配符类型List&a原创 2019-03-01 10:09:29 · 238 阅读 · 0 评论 -
Effective Java之对于所有对象都通用的方法 总结
第8条 覆盖equals时请遵守通用约定不覆盖equals方法的情况:类的每个实例本质上都是唯一的不关心类是否提供了 逻辑相等 的测试功能超类已经覆盖了equals 从超类继承过来的行为对于子类也是合适的类是私有的或是包级私有的 可以确定它的equals方法永远不会被调用 在这种情况下 无疑是应该覆盖equals方法的 以防它被意外调用覆盖equals方法的时候 必须要遵守的通用约定:...原创 2019-02-19 13:47:34 · 187 阅读 · 0 评论 -
Effective Java之并发 总结
第66条 同步访问共享的可变数据Java语言规范保证读或者写一个变量是原子的 除非这个变量的类型为long或者double 为了提高性能 在读或写原子数据的时候 应该避免使用同步 这个建议是非常危险而错误的 为了在线程之间进行可靠的通信 也为了互斥访问 同步是必要的如果读和写操作没有都被同步 同步就不会起作用将可变数据限制在单个线程中当多个线程共享可变数据的时候 每个读或者写数据的线程都必...原创 2019-03-07 13:43:17 · 321 阅读 · 0 评论