1、标记清除算法标记-清除算法分为两个阶段:标记阶段和清除阶段。标记阶段的任务是标记出所有需要被回收的对象,清除阶段就是回收被标记的对象所占用的空间。2、复制算法 复制算法将可用内…
1、说明SocketChannel代表套接字通道,实例是通过其静态方法创建的。SocketChannel是SelectableChannel的子类,假如没有配置阻塞模式,那么Soc…
1、步骤(1)创建SocketChannel实例,并将其配置为非阻塞模式,只有在SocketChannel实例中,任何I/O操作都是非阻塞的。(2)使用connect()方法连接服…
1、可以通过 Selector 管理多个 SelectableChannel,它的 select() 方法可以监测哪些信道已经准备好进行 I/O 操作了,返回值代表了这些 I/O …
1、说明(1)泛型类的定义只需在类名后面添加类型参数,当然也可以添加多个参数,如类似、等等。因此,我们可以在类别中使用定义的类型参数。(2)泛型类最常用的使用场景是元组的使用。我们…
1、说明public和返回值之间非常重要,可以理解为通用方法。唯有说明的方法才是泛型方法,泛型类中使用的成员方法并非泛型方法。该方法将采用泛型T,此时可采用泛型T。就像泛型的定义一…
1、注意点泛型方法既可以存在于泛型类中,也可以存在于普通的类中。如果使用泛型方法可以解决问题,那么应该尽量使用泛型方法。泛型方法里面的类型参数T和泛型类里面的类型参数是不一样的类型…
1、说明泛型接口未传入泛型实参时,与泛型类的定义相同,在声明类的时候,需将泛型的声明也一起加到类中。如果泛型接口传入类型参数时,实现该泛型接口的实现类,则所有使用泛型的地方都要替换…
1、说明在编译过程中,可以获得类型变量的信息。因此,set方法可以在编译器中进行类型检查,非法类型不能通过编译。但是对于get方法,由于擦除机制,操作时的实际引用类型是Object…
1、说明泛型代码中不能new T()的原因有两个,一是因为擦除,不能确定类型;而是无法确定T是否包含无参构造函数。我们通过工厂模式+泛型方法制作实例对象,制作IntegerFact…