在风雨中奔跑

借助互联网的力量

Java NIO和BIO读写简单比较

通过对文件的读写所花的时间来进行比较。 一、读写的文件 二、实例代码 package nio; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import ja...

2017-03-19 15:30:14

阅读数 1267

评论数 2

Java NIO笔记之Buffer

一个Buffer对象是固定数量的大小的数据容器,作用是一个存储器或者分段运输区。     缓冲区的工作与通道紧密联系。通道是I/O传输发生时通过的入口,而缓冲区是这些数据传输的来源或目标。对于离开缓冲区的传输,您想传递出去的数据被置于一个缓冲区,被传送到通道。对于传回缓冲区的传输,一个通道将数据...

2017-03-12 16:55:29

阅读数 328

评论数 0

Scalable IO in Java的代码实现

最近在学习NIO相关的知识部分,在学习的时候,发现Doug Lea大神的一个PPT地址,里面的内容写的非常好, 很值得学习,具体内容可以参见PPT和网上的文章,自己根据PPT中的例子和描述,自己将代码补充了一下。下面主要是PPT中的代码和实例。 1.Basic Reactor Design p...

2017-03-10 22:30:58

阅读数 993

评论数 1

Java NIO笔记之IO基础概念

1.缓冲区 缓冲区是所有IO的基础,”输入/输出”就是将数据移进或移除缓冲区。进程IO操作的执行也是向操作系统发送请求,让它要么将缓冲区的数据排干(写),要么将缓冲区的填满数据(读)。 图 1-1 简单描述了数据从外部磁盘向运行中的进程的内存区域移动的过程。进程使用 read()系...

2017-03-06 00:04:09

阅读数 445

评论数 0

Java NIO笔记之内存映射文件

大致的原理图如下: FileChannel提供了一个map()的方法,该方法可以在一个打开的文件和一个特殊类型的ByteBuffer之间建立一个虚拟内存映射。在FileChannel上调用map( )方法会创建一个由磁盘文件支持的虚拟内存映射(virtual memory mapping)并...

2017-03-02 00:00:36

阅读数 457

评论数 0

Java IO字符流常见类进行分析(四)

一、Reader 用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。 ready() 判断是否准备读取此流。 read() 读取单个字符,这个方法将会阻塞...

2017-02-23 22:46:46

阅读数 266

评论数 0

Java IO字节输出流常见类进行分析(三)

一、OutputStream 一个抽象类,所有字节输出流的父类,一个输出流可以接受要输出的字节和发送到目的位置。 write(int):将一个字节输出。 flush():刷出数据,将缓冲区的数据刷出到目的地。 close():关闭流,是否系统资源,关闭之后不能重复打开并接不能重复打开。 ...

2017-02-23 22:18:35

阅读数 350

评论数 0

Java IO字节输入流常见类进行分析(二)

一、FileInputStream 从文件系统中读取一个文件转换成的字节 数据结构:public class FileInputStream extends InputStream { /* File Descriptor - handle to the open file */ ...

2017-02-21 23:17:45

阅读数 786

评论数 0

Java IO字节输入流常见类进行分析(一)

一、InputStream 所有字节输入的父类,是一个抽象类。 public abstract int read() throws IOException从流中读取下一个字节的数据,返回的数据是int类型的范围在0~255之间,如果流中没有数据,将会返回-1,这个方法将会阻塞直到流中有数据可用...

2017-02-19 23:55:42

阅读数 897

评论数 0

Java IO流整体结构

Java IO 部分类图结构: IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字节流和字符流的区别 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。 处理对象不同:字节流能处理所有类型的数...

2017-02-14 09:03:21

阅读数 340

评论数 0

java的四种引用

在java中引用分为4中,强引用(Strong Reference),弱引用(WeakReference),软引用(SoftReference),虚引用(PhantomReference) 1.强引用         强引用是我们在编程过程中使用的最简单的引用,如代码String s=”abc”中...

2017-02-11 20:54:54

阅读数 316

评论数 0

Java并发之工具类CyclicBarrier

CyclicBarrier是java并发的工具类,它允许一组线程互相等待,直到到达某个公共屏障点。因为该barrier 在释放等待线程后可以重用,所以称它为循环的barrier。CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程...

2017-01-05 00:28:08

阅读数 319

评论数 0

Java并发之阻塞队列(三)

SynchronousQueue是阻塞队列的一种,每一次insert操作必须等在另外一个线程的remove操作,同步队列没有任何容器,甚至一个队列容器都没有.同步队列类似于 CSP 和 Ada 中使用的 rendezvous 信道。它非常适合于传递性设计,在这种设计中,在一个线程中运行的对象要...

2017-01-02 19:10:34

阅读数 262

评论数 0

Java并发之阻塞队列(二)

LinkedBlockingQueue一个由链表组合而成的有界阻塞队列. 1.LinkedBlockingQueue的数据结构 采用的是单链表结构 2.LinkedBlockingQueue源码分析 - 2.1继承关系public class LinkedBlockingQueue&...

2017-01-01 12:45:52

阅读数 237

评论数 0

Java并发之阻塞队列(一)

1.阻塞队列是一个增加了2个附加操作的队列,这2个操作是:当队列中元素为空时,获取元素线程会等待队列不为空,当队列满时,存储线程会等待队列中有空闲才会操作.这种操作常用于生产者和消费者的场景。阻塞队列提供了四种处理方法: 方法\处理方式 抛出异常 返回特殊值 一直阻塞 超时退出...

2016-12-31 12:49:38

阅读数 402

评论数 1

Java并发之线程池(三)

一、前言 2016年即将过去,要抓紧时间,夯实java基础知识部分,为以后学习的新的知识做准备。 二、线程池基本原理图                                 三、ThreadPoolExecutor的内部结构   1.Worker在里面是一个核心的内部类 priva...

2016-12-24 23:07:29

阅读数 372

评论数 0

Java并发之线程池Executors(二)

Executors: 一个工厂类和提供了一些工具方法,提供了返回ExecutorService,ScheduledExecutorService,ThreadFactory,Callable方法 提供了返回线程池的方法,都是静态方法例如: 一、部分方法列表public static Execu...

2016-12-22 23:32:50

阅读数 205

评论数 0

Java并发之线程池(一)

1.线程池的继承关系图2.线程池架构图 3.部分结构和类的分析 3.1Executor 从上图可以看出Executor线程池的根接口,代码如下:public interface Executor { /** * Executes the given comm...

2016-12-21 22:46:24

阅读数 313

评论数 0

Thread中的interrupt(),interrupted(),isInterrupted()方法的详解

1.interrupt()   使用来中断线程作用的。除非当前线程处于中断状态,这个方法总是可以被执行的。如果当前线程被Object#wait() wait(long)或者Thread#join() join(long),sleep()方法所阻塞时,然而中断状态将被清空变成false,如果被IO...

2016-12-18 20:44:25

阅读数 662

评论数 0

linux下安装mysql5.7

在linux(centos)下有2种方式安装,第一种使用rpm安装在网上可以搜到,第二种使用压缩包方式,我这里是采用压缩包方式。 1.这里我将mysql安装在/usr/local/mysql目录里面,也可以安装在其他地方 mkdir /usr/local/mysql 2.下载mysql压缩包 w...

2016-12-03 22:10:17

阅读数 10928

评论数 0

提示
确定要删除当前文章?
取消 删除