摘要: 选择排序 选择排序: 首先找到数组中最小的元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么就与它自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这就是选择排序,因为它在不断的选择剩余元素中最小的。 结论: 对于长 阅读全文
posted @ 2018-03-11 22:56 羽觞醉月 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 脏读: 脏读指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。总的来说取到的数据是其实是被更改过的,但还没有保存到数据库的数据。 不可重复读: 不可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另一 阅读全文
posted @ 2018-03-09 10:27 羽觞醉月 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 线程的六种状态 1.新建状态 new了但是没有启动的线程的状态,如“Thread thread = new Thread()”,thread就是一个处于新建状态的线程。 2.运行状态 new出来的线程,调用strat()方法即处于入运行状态(Runnable),处于运行状态的线程可能正在Java虚拟 阅读全文
posted @ 2018-03-01 19:54 羽觞醉月 阅读(305) 评论(0) 推荐(0) 编辑
摘要: Java NIO 管道是两个线程之间的单向数据连接。Pipe有一个source通道和sink通道(内部类)。数据会被写到sink通道,从source通道读取。 给一张Pipe通道的原理图: 创建管道: 向管道写数据: 从管道读数据: read()方法返回的int值会告诉我们写入了多少个字节到缓冲区 阅读全文
posted @ 2018-02-26 10:04 羽觞醉月 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 前言 Selector选择器是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样使得一个单独的线程可以管理多个Channel,从而管理多个网络连接。选择器提供选择执行已经就绪的任务的能力,使得多元I/O成为可能。选择器的执行细节: 创建一个或多个可选择 阅读全文
posted @ 2018-02-24 21:01 羽觞醉月 阅读(306) 评论(0) 推荐(0) 编辑
摘要: Socket通道 Socket通道和文件通道有着不一样的特征: Socket通道类可以运行于非阻塞模式,并且是可选的。这两个特征可以激活大程序(如网络服务和中间件组件)巨大的可伸缩性和灵活性,因此再也没有为每个Socket连接添加一个线程的必要。这一特性避免了管理大量线程所需的上下文交换总开销,借助 阅读全文
posted @ 2018-02-23 17:58 羽觞醉月 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 文件通道 通道是访问I/O服务的导管,I/O可以分为广义的两大类:File I/O和Stream I/O。那么相应的,通道也有两种类型,它们是文件(File)通道和套接字(Socket)通道。文件通道指的是FileChannel,套接字通道则有三个,分别是SocketChannel、ServerSo 阅读全文
posted @ 2018-02-23 11:15 羽觞醉月 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 概念 通道(Channel)由java.nio.channels包定义的。channel表示IO源与目标打开的连接,类似流,但不能直接访问数据,只能与Buffer进行交互 通道类似流,但又有不同: 既可以从通道中读取数据,又可以将数据写入通道,而流的读写通常是单向的 通道可以异步的读写 通道中的数据 阅读全文
posted @ 2018-02-22 20:37 羽觞醉月 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 概念 缓冲区:一个用于特定基本数据类型的容器,由java.nio包定义的所有缓冲区都是Buffer抽象类的子类。其作用于与NIO的通道进行交互,数据从通道读入缓冲区,数据从缓冲区写入通道 Buffer的基本用法 使用Buffer读写数据一般遵循以下四个步骤: 当向Buffer中写入数据时,Buffe 阅读全文
posted @ 2018-02-22 15:00 羽觞醉月 阅读(421) 评论(1) 推荐(0) 编辑
摘要: 说明 java NIO是从java1.4开始引入的一个新的IO API,它支持面向缓冲区,基于通道的IO操作,它的核心是通道(channel),缓冲区(buffer),选择器(selector) NIO与IO的区别 面向流与面向缓冲 NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓 阅读全文
posted @ 2018-02-22 13:11 羽觞醉月 阅读(187) 评论(0) 推荐(0) 编辑