摘要: 前言 Selector 是 Java NIO 中的一个组件,用于检查一个或多个通道 Channel 的状态是否处于可读、可写状态。如此可以实现单线程管理多个通道,也就是可以管理多个网络连接。 为什么使用Selector? 用单线程处理多个 Channel 的好处是我需要更少的线程来处理 Channe 阅读全文
posted @ 2018-09-24 12:12 零壹技术栈 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 前言 上文讲到Java NIO一些基本概念。在标准的IO中,都是基于字节流/字符流进行数据操作的,而在NIO中则是是基于Channel和Buffer进行操作,其中的Channel的虽然模拟了流的概念,实则大不相同。 本文将详细阐述NIO中的通道Channel的概念和具体的用法。 Channel和St 阅读全文
posted @ 2018-09-24 12:09 零壹技术栈 阅读(1747) 评论(0) 推荐(0) 编辑
摘要: 前言 在Java NIO中,缓冲区用来临时存储数据,可以理解为是I/O操作中数据暂存的中转站。缓冲区直接为通道(Channel)服务,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方 阅读全文
posted @ 2018-09-24 12:05 零壹技术栈 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 前言 Java NIO全称java non-blocking IO,是指jdk1.4及以上版本里提供的新api(New IO),为所有的原始类型(boolean类型除外)提供缓存支持的数据容器,使用它可以提供非阻塞式的高伸缩性网络。 Java NIO提供了与标准IO不同的IO工作方式,Channel 阅读全文
posted @ 2018-09-24 12:03 零壹技术栈 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 前言 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式的用途 最经典的就是电器的例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极之外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的 阅读全文
posted @ 2018-09-24 12:00 零壹技术栈 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 前言 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用这个原型对象提供的复制办法创建出更多同类型的对象。 原型模式的结构 原型模式要求对象实现一个可以克隆自身的接口(类型)。这样一来,通过原型实例创建新的对象,就不需要关心这个实例本身的类型,只需要实现克隆自身的方法 阅读全文
posted @ 2018-09-24 11:59 零壹技术栈 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 前言 建造模式是对象的创建模式。建造模式可以将一个产品的内部表象(internal representation)与产品的生产过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 (一). 产品的内部表象 一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是 阅读全文
posted @ 2018-09-24 11:57 零壹技术栈 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 前言 单例模式 (Singleton) 是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点。 正文 (一). 优缺点 Java中单例模式 (Singleton) 是一种广泛使用的设计模式。单例模式的主要作用是保证在Java 阅读全文
posted @ 2018-09-24 11:55 零壹技术栈 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 前言 最近在对设计模式进行了一系列总结,本文将给大家关于设计模式的一个整体的介绍。 正文 1. 定义 设计模式是某类特定问题的代码设计解决方案,是一套代码设计的经验总结。 2. 作用 提高代码复用率,降低开发成本和周期 提高代码可维护性、可拓展性 使代码更加优雅,可读性更强 让代码更容易被他人理解 阅读全文
posted @ 2018-09-24 11:54 零壹技术栈 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 前言 Java执行GC判断对象是否存活有两种方式其中一种是引用计数。 引用计数:Java堆中每一个对象都有一个引用计数属性,引用每新增1次计数加1,引用每释放1次计数减1。 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于(reachab 阅读全文
posted @ 2018-09-24 11:52 零壹技术栈 阅读(387) 评论(0) 推荐(0) 编辑