![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Effective java
文章平均质量分 92
coderflyYRJ
好好写代码,偶尔打游戏,不久你会发现,游戏好简单。。。。。。
展开
-
《Effect Java》第三章 Object类的非final方法实战使用
第三章 对于所有对象都通用的方法主要讲的是对Object类的非final方法(equals,hashCode,toString,clone和finalize)覆盖的一些规则第8条 覆盖equals时请遵守通用约定覆盖equals规范:自反性(reflexive)。对于任何非null的引用值x,x.equals(x)必须返回true。 对称性(symmetric)。对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true。 传递原创 2021-01-06 22:59:42 · 136 阅读 · 0 评论 -
第10章并发
第10章并发线程机制允许进行多个活动。并发程序设计比单线程程序设计有更多的东西可能出错,也难以重现失败。但是并发能从多核的处理器中获得好的性能。66. 同时访问共享的可变数据 关键字synchronized, 保证同一个时刻,只有一个线程可以执行某一个方法,或者某一个代码块。同步不仅是指互斥的一种方式,还可以保证进入同步方法或者同步代码块的每个线程,都看到由同一个锁保护的之前所有的修改效果。java的语言规范保证读取或者写一个变量是原子的,除非这个变量的类型是long或者double。换句话原创 2020-08-01 22:36:52 · 132 阅读 · 0 评论 -
第9章异常
第9章异常充分发挥异常的优点,可以提高程序的可读性、可靠性和可维护性。57.只针对异常的情况才使用异常 异常只用于异常的情况,永远不能用于正常的流程控制。设计良好的 api 不应该强迫它的客户端为了正常的控制流使用异常。具体应用方法:如果类具有“状态相关”的方法,即只有在特定的不可预知的条件下才可以被调用的方法,这个类往往也应该有个单独的“状态测试”方法,即指示是否可以调用这个状态相关的测试方法。例如,Iterator接口有一个“状态相关”的next方法,和相应的状态测试方法...原创 2020-07-19 15:26:01 · 150 阅读 · 0 评论 -
第8章通用程序设计
本章主要讨论:局部变量的处理、控制结构类库的用法、各种数据类型的用法和不是由语言本身提供的机制(反射和本地方法)、优化和命名惯例。45. 将局部变量的作用域最小化将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明。每个局部变量都应该包含一个初始化表达式。如果你还没有足够的信息来对一个变量进行有意义的初始化,就应该推迟这个声明,直到可以初始化为止。将局部局部变量的作用域最小化的方法,循环的时候优原创 2020-07-11 19:45:19 · 178 阅读 · 0 评论 -
第七章 方法
第七章方法本章的焦点集中在可用性、健壮性和灵活性上。38.检查参数的有效性当编写方法或者构造器的时候,应该考虑它的参数有哪些限制。应该把这些限制写到文档中,并且在每个方法的开头处,通过显示的检查来实施这些限制。即应该在发生错误之后尽快检测出错误 ,可以避免很多异常和不正确的却无法检测的结果。通过进行有效性检查,付出的努力远远小于带来的异常。39.必要时进行保护性拷贝Java是一门安全的语言,即它对于缓冲区溢出、数组越界、非法指针及其他内存破坏错误都自动免疫。但对于客户的不良行为,仍能原创 2020-07-07 20:04:54 · 132 阅读 · 0 评论 -
第四章 类和接口(一)
类和接口是Java程序设计的核心,也是java语言的基本抽象单元。13.使类和成员的可访问性最小 封装(信息隐藏原则):设计良好的模块和不好的模块最重要的区别是对于外部模块,是否隐藏内部数据和实现细节。设计良好的模块会隐藏所有的细节,只通过api进行通信。 信息隐藏的好处:1.解除模块之间的耦合关系,使模块独立。 2.减轻维护负担,使程序员更快理解模块。 3.调节性能,增加系统重用性,降低构建大型系统风险。...原创 2020-06-21 23:09:49 · 269 阅读 · 0 评论