java 基础知识 静态代理
一、什么是代理模式 定义给目标对象提供一个代理对象,由代理对象操作目标对象的引用。 目的通过操作代理对象,操作目标对象,降低程序的复杂性,可以使用代理类实现目标对象的增强。不改变目标对象实现功能则增加。代理模式的结构图 1234graph LR;bwmcar-->car bwmcar-->bwmproxy bwmpro……
java NIO 相关(七) nio selector channel 的多路复用器
一、概念选择器(selector)是selectableChannel对象的多路复用器,一个selector可以监控多个selectableChannel的io情况,selector可以实现一个线程单独管理多个channel,selector是非阻塞的核心 二、selector可以监控的事件类型 connect 客户端……
java 基础知识 字符集
字符集相关概念编码: 字符串->字节数组 解码:字节数组->字符串 相关字符集介绍 ASCII (american standard code for information interchange 美国信息交换标准代码)7 bit 表示来表示一个字符,共计可以表示128中字符 Ios-8859-1 8 bit 表示一……
java NIO 相关(六) pipe 和 FileChannel文件锁
一、pipe概念 pipe 是nio管道2个线程之前的单项数据连接。 pipe 有2个通道一个是source通道一个是sink通道数据会写入到source通道从sink通道获取数据。如图: 代码实现1234567891011121314151617181920212223242526272829303132333435……
java NIO 相关(五) 分散(Scatter) 和聚集(Gather)
分散(Scatter) 和聚集(Gather)分散读取(scattering reads) 是从channel中读取的数据“分散”到多个buffer中 注意:按照缓冲区的顺序,写入position 和limit 之间的数据到channel 分散读取将通道中的数据分散到多个缓冲区中 聚集写入将多个缓冲区中的数据聚集到通道……
java NIO 相关(四) 通道 channel
channel 介绍通道(channel) :由java.nio.channels包定义的,channel 表示IO源与目标打开的连接 。Channel 类似于传统的流,只不过channel 本身不能直接访问数据,channel 只能与buffer进行交互 一、通道(channel)用于源节点与目标节点的连接,在jav……
java NIO 相关(三) NIO 直接缓冲区和非直接缓冲区
非直接缓冲区通过allocate() 方法分配缓冲区,将缓冲区建立在jvm的内存直接与非直接缓冲区字节缓冲区要么是直接的,要么是非直接的·如果为直接字节缓冲区·则Java虐拟机会尽最大努力直接在此缓冲区上执行本机|/0操作·也就是说,在每次调用基础操作系统的一个本机1/0操作之前(或之后),虐拟机都会尽量避免将缓冲区的……
java NIO 相关(二) 缓冲区buffer的数据存取
简介 java nio 是jdk1.4引入的,其中包含 selector,channel,buffer 其中buffer是用来提高效率的。nio中操作数据,都是直接操作buffer对象 buffer的类型 ByteBuffer CharBuffer ShortBuffer IntBuffer LongBuffer Fl……