原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一 ...
分类:
编程语言 时间:
2016-03-28 15:21:30
阅读次数:
139
上篇讲述简单工厂模式,其优点在于通过工厂类进行业务解耦。但是工厂方法中包含了逻辑判断,根据客户端的选择条件动态实例化相关的类,如果添加新的手机型号,则需要修改工厂类里的逻辑判断,新增case去判断该型号的分支,这违背了开放-封闭的设计原则。 开放-封闭原则,是说类、模块、函数等等,可以扩展,但是不能... ...
分类:
编程语言 时间:
2016-03-28 15:21:27
阅读次数:
139
VO是跟数据库里表的映射,一个表对应一个VO DAO是用VO来访问真实的表,对数据库的操作都在DAO中完成 BO是业务层,做逻辑处理的 VO , PO , BO , QO, DAO ,POJO, O/R Mapping 是 Object Relational Mapping (对象关系映射)的缩写。 ...
分类:
编程语言 时间:
2016-03-28 15:21:27
阅读次数:
217
迭代器模式C++实现 1定义 他提供一种方法访问一个容器对象中的各个元素,而不暴漏该对象内部细节 注:迭代器是为容器服务的。迭代器模式提供了遍历容器的方便性,容器只管理增减元素就好,需要遍历时交给迭代器就好。 2类图 角色分析 Iterator抽象迭代,定义访问和遍历元素的接口,一般都是固定接口:f ...
分类:
编程语言 时间:
2016-03-28 15:12:57
阅读次数:
177
原文地址:http://tutorials.jenkov.com/java-nio/scatter-gather.html 作者:Jakob Jenkov 译者:郭蕾 Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在 ...
分类:
编程语言 时间:
2016-03-28 15:10:17
阅读次数:
174
在信号量和互斥量例子中,我们都是在程序推出之前利用pthread_join对线程进行再次同步;如果想让thread想创建它的线程返回数据我需要这么做;问题:我们有时候既不需要第二个线程向main线程返回信息,也不想让main线程等待它的结束; 就是说main线程工作的时候创建了第二个thread,第 ...
分类:
编程语言 时间:
2016-03-28 15:08:46
阅读次数:
198
1、来看一段有趣但又让人困惑的代码片段 打印结果:"ab" 2、这段代码真正做了什么呢?来解释一下这个过程 首先,当字符串"ab"被创建时,Java分配内存来存储这个字符串常量;然后,这个字符串常量被赋值给了变量x,x实际上保存的是这个字符串对象的引用地址(内存中的地址);x变量保存了字符串对象的引 ...
分类:
编程语言 时间:
2016-03-28 15:07:35
阅读次数:
192
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API ...
分类:
编程语言 时间:
2016-03-28 15:02:44
阅读次数:
184
涉及到的知识点: 1、onmouseover,onmouseout 2、dom getElementByTagName 3、新建节点元素createElement; <!DOCTYPE html><html> <head> <title> new document </title> <meta ht ...
分类:
编程语言 时间:
2016-03-28 15:03:20
阅读次数:
183
原文链接 作者:Jakob Jenkov 译者:浪迹v 校对:丁一 Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 下面是本文所涉及到的主题列表: 为什么 ...
分类:
编程语言 时间:
2016-03-28 14:56:11
阅读次数:
245
原文链接 作者:Jakob Jenkov 译者:黄忠 校对:丁一 Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。 这里是Pipe原理的图示: 创建管道 通过Pipe.open()方法打开管道。例 ...
分类:
编程语言 时间:
2016-03-28 14:55:01
阅读次数:
161
概述 定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组 指向结构体类型数据的指针 用指针处理链表 共用体 枚举类型 用 typedef定义类型 概述 定义一个结构体的一般形式: 一个结构体有一个结构名,但不是必须的。成员列表有若干个成员组成,每个成员都是该结构的一个组成部分 ...
分类:
编程语言 时间:
2016-03-28 14:54:57
阅读次数:
220
原文链接 作者:Jakob Jenkov 译者:郑玉婷 校对:丁一 Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中 ...
分类:
编程语言 时间:
2016-03-28 14:53:53
阅读次数:
235
多线程是什么? 首先,什么是线程,你可以理解为,线程是进程的进程。 进程是神马? 进程是计算机里的一个一个小任务。 我这么跟你说吧。 我们的主程序是一根筋的笨蛋,一个时间内只能干一件事儿。并且,所有操作UI控件的程序,只能由主线程来完成。 但是,例如,访问网络这种耗时、费力,还可能卡死的事情,如果放 ...
分类:
编程语言 时间:
2016-03-28 14:55:29
阅读次数:
177