1、readObject方法实际上相当于另一个公有的构造器,如同其他的构造器一样,它也要满足所有注意事项。构造器必须检查其参数的有效性,并且在必要的时候对参数进行保护...
1、readObject方法实际上相当于另一个公有的构造器,如同其他的构造器一样,它也要满足所有注意事项。构造器必须检查其参数的有效性,并且在必要的时候对参数进行保护...
1、如果事先没有认真考虑默认的序列化形式是否合适,则不要贸然接受; 2、如果一个对象的物理表示法等同于它的逻辑内容,可能就适合于使用默认的序列化形式; ...
作为Java自带的一个序列化方式,实现Serializable接口就可以对类进行序列化,不过,书中列举了许多这种方式的问题。 1、实现Serializable...
多线程部分的看的我有点不好理解,先看序列化的章节,转换一下内容。 序列化和反序列化简单来说就是把对象变成字节流,再把字节流变成对象。从书中的内容中可以发现字节...
这一章提到的ExecutorService在系统里有用到。使用的过程大致如下: 这一种就是每个线程单独运行,然后设置一定的返回参数,等过所有线程结束之后汇总结...
这一章的主题是并发,第一篇讲的是线程同步问题,这里面主要是提到了两个概念,一个是活性失败,另一个是安全性失败。 首先是活性失败,这一个概念我个人的理解是同一个...
今天提到了一个异常相关的概念——异常链,也就是下层抛出的 异常经由try - catch 处理转换成一种上层需要的异常。比如提到的下面这个AbstractSequen...
今天这篇主要提到了两种Java本身提供的异常illegalArgumentException和illegalStatusException,这两个看名字就很容易知道是...
这一篇作者没有给出明确的tips,只是在最后总结有提到受检异常可以提升可读性,但过度的受检异常会使得API使用起来非常痛苦。同时要根据情况来决定是否抛出异常以及抛出什...
关于异常的使用书中给了两条主要的提示。 1.如果期望调用者能够适当地恢复,对于这种应该情况使用受检异常。 2.用运行时异常来表明编程错误。 正...
Java首先命名的习惯是驼峰命名规则,而这个也使得Java所有的部件——包、类、变量、常量、方法都能清楚地分辨出来。对于母语不是英语的开发者而言,如何简单有效地传递自...
代码的优化和重构都是一件应该慎而又慎的事情,关于优化书中给了几条tips。 第一,要努力编写好的程序而不是快的程序。这一句话我理解的应该是说要一个更稳定的程序...
反射是一个很强大的功能,但也有以下几个缺点: 1、使用反射会损失编译时类型检查的优势; 2、执行反射所需的代码非常笨拙冗长; 3、反射调用方法比普通调...
正常情况下拼接字符串都是使用“+”,但是如果为连接n个字符串而重复使用字符串连接操作符,就会需要n的平方级时间。 字符串和其他对象不同的是,如果我们将"1"和...
字符串本身是用来做文本的,很多时候的资料也是只需要支持save和load就好,同时,String本身和其他一些对象也支持字符串和其他类型互相转换。也因此人们在编程时会...
Float和Double类型是为了科学计算和工程计算而设计的,采用的是二进制浮点运算运算,但也它们无法提供完全精确的结果,所以无法在需要精确值的场景下使用。作者提到了...
使用类库的第一个好处,可以充分利用编写类库的专家知识,以及在你之前的其他人的使用经验。 第二个好处,不必浪费时间为那些工作不太相关的问题提供特别的解决方案。 ...
随着接口方面的代码接触越来越多,全局变量和局部变量一直在纠结,比较典型的就是系统中的company和order,很多时候要校验或者检查某个字段和信息就需要compan...
可变参数是指在方法入参中可以有0个或者多个的参数。使用可变参数的时候需要注意,可变参数的本质是个数组,同时一个参数列表只能有一个可变参数,而且可变参数只能放在参数列表...
提到重载很难不提到另一个东西,那就是重写。这两个机制是完全不同的,重载是在同一个类中,编写方法名相同,参数不同,返回体可以不同的方法。重写则是子类重新编写父类中相同名...