![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 92
LaneRuan
好记性不如烂笔头
展开
-
并发Concurrent
Thread机制允许同时进行的多个活动,并发程序设计比单线程程序设计要困难得多。原创 2017-08-21 15:50:42 · 366 阅读 · 0 评论 -
通用程序设计
第四十五条、将局部变量的作用域最小化将局部变量的作用最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。异于C语言要求局部变量必须要在一个代码块的开头处进行声明,Java允许在任何可以出现语句的地方声明变量。最有力的方法是在第一次使用它的地方声明。过早地声明局部变量不仅会使它的作用域过早地扩展,而且结束地过晚了。局部变量的作用域从它被声明的点开始拓展,一直到外围块的结束处。几乎每个局部原创 2017-08-15 22:45:30 · 615 阅读 · 0 评论 -
方法Method
第三十八条、检查参数的有效性如果传递无效的参数值给方法,这个方法在执行之前应该先对参数进行检查,那么它很快就会失败,并清楚地出现适当的异常。如果不做参数检查,则会出现很多不可控的错误。对于公有的方法,要用Javadoc的@throws标签在文档中说违反参数值限制时会抛出的异常。通常为IllegalArgumentException、IndexOutOfBoundsException或者NullP原创 2017-08-15 22:41:22 · 806 阅读 · 0 评论 -
枚举和注解(Enum and Annotation)
Java 1.5发行版本新增了两个引用类型家族:枚举类型(Enumerate类)和注解类型(Annotation接口)。原创 2017-08-15 22:29:44 · 2674 阅读 · 0 评论 -
泛型(Generic)
泛型的作用:告诉编译器每个集合中可接受哪些对象类型,编译器自动地为你的插入进行转化,并在编译时告知是否插入错误的对象。这样使程序既更加安全也更加清楚。原创 2017-08-15 21:59:29 · 356 阅读 · 0 评论 -
对于所有对象都通用的方法
本章主要讲的是如何覆盖一些非final的Object方法: equals/hashCode/toString/clone方法原创 2017-08-15 21:56:21 · 283 阅读 · 0 评论 -
创建和销毁对象
第一条:考虑静态工厂方法代替构造器静态工厂方法与构造器相比的优势: 有名称; 不必再每次调用他们的时候都创建一个新对象; 可以返回原返回类型的任何子类型的对象; 在创建参数化类型实例时,代码更加简洁。 静态工厂方法的缺点: 类如果不含公有的或者受保护的构造器,就不能被子类化; 它们与其他的静态方法实际上没有任何区别,无法标记(通过命名规则原创 2017-08-15 21:54:20 · 272 阅读 · 0 评论 -
类和接口
第十三条、使类和成员的可访问性最小化设计良好的模块会隐藏所有的实现细节,把它的API和它的实现清晰地隔离开来。然后模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况。(信息隐藏(infomation hiding)和封装(encapsulation)) 好处:可以有效地解除组成系统的各模块之间的耦合关系,使得这些模块可以独立地开发、测试、优化、使用、理解和修改。原创 2017-08-15 21:57:44 · 614 阅读 · 0 评论 -
序列化
本章关注对象序列化API,它提供了一个框架,用来将对象编码成字节流,并从字节流编码中重新构建对象。 相反的处理过程是反序列化deserializing。一旦对象被序列化后,它的编码就可以从一台正在运行的虚拟机被传递到另一台虚拟机上,或者被存储到磁盘上,供以后反序列化时用。序列化技术为远程通信提供了标准的线路级对象表示法,也为JavaBean组件结构提供了标准的持久化数据格式。原创 2017-08-21 16:09:52 · 437 阅读 · 0 评论 -
异常Exception
第五十七条、只针对异常的情况才使用异常不要优先使用基于异常的模式:因为异常机制的设计初衷是用于不正常的情况,所以很少会有JVM实现对它们进行优化,使得与显式的测试一样快速;把代码放在try-catch块中反而组织了现代JVM实现本来可能要执行的某些特定优化;对数组进行遍历的标准模式并不会导致冗余的检查,有些现代的JVM实现会将他们优化掉。异常应该只用于异常的情况下,它们永远不应该用于正常的控原创 2017-08-15 22:47:28 · 602 阅读 · 0 评论