Java语言
Java语言基础
晒酷学院
这个作者很懒,什么都没留下…
展开
-
Java ArrayList工作原理及实现
1. 概述关于Java集合的描述如下:以数组实现,节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值,默认第一次插入元素时创建大小为10的数组。按数组下标访问元素—get(i)/set(i,e) 的性能很高,这是数组的基本优势。直接在数组末尾加入元素—add(e)的性能也高,但如果按下标插入、删除元素—add(i,e), remove(i), remove(e),则要用System.arraycopy()来移动转载 2020-08-03 22:27:30 · 76 阅读 · 0 评论 -
Java 之NIO(五) - 非阻塞式网络通信
Selector在新IO中Selector是一个非常重要的概念,在NIO之前通过IO和Socket构造网络通信程序时,所有的服务端将以阻塞式与客户端进行连接,本章内容将介绍通过Selector构造一个非阻塞式网络服务,在学习如何使用Selector构造非阻塞网路之前,我们先看下相关的API。Selector类的常用方法:public static Selector open() throws IOException Opens a selectorpublic abstract int select转载 2020-08-03 22:06:19 · 95 阅读 · 0 评论 -
Java 之NIO(四) - 编码解码问题
简介:在新IO中为了保证程序适应各种不同的编码,提供了编码器和解码器,通过解码器可以方便的读取各个平台上不同编码的数据,之后再通过编码器将程序以正确的编码进行输出。在java的新IO中提供了Charset类来处理编码问题,该类还包含了创建编码器(CharsetEncoder) 和 创建解码器(CharsetDecoder)操作。Charset类的常用方法如下:public static SortedMap<String,Charset> availableCharsets() 获取一个排转载 2020-08-01 21:44:47 · 212 阅读 · 0 评论 -
Java 之NIO(三) - FileLock
简介:晒酷学院qq群:979438600Java新IO中提供了文件锁的功能,这样当一个线程锁定一个文件后,其它线程就无法操作此文件,想要使用锁操作文件,可以使用FileLock类实现,FileLock对象可以使用FileChannel获取得到。在FileChannel中获取Filelock实例的方法列表如下:public final FileLock lock() 获取此通道文件上的独占锁(排它锁)public abstract FileLock lock(long position, long转载 2020-07-26 14:18:08 · 167 阅读 · 0 评论 -
Java 之NIO(二) - Channel
简介:晒酷学院qq群:979438600本节主要内容包括通过Channel(通道)对文件进行读写操作,通道类似于之前的输入/输出流,程序不会直接操作通道,通常都是将数据读入到缓冲区中,然后再从缓冲区中读写数据,与传统的输入输出流相比,通道是双向操作的,既可以完成输入,也可以完成输出。另外,本节还会讲解一下内存映射,内存映射指的是将文件映射到内存中,这样就可以使用系统调用函数进行内存读写,采用这样的方式读取文件是速度最快的。下面通过代码示例,来描述FileChannel进行文件读写以及FileChan转载 2020-07-26 13:53:34 · 105 阅读 · 0 评论 -
Java 之NIO(一) - 简介(Buffer)
简介晒酷学院qq群:979438600NIO是New IO 的简称,在jdk1.4 里提供的新api。与原始的java io包中面向流(stream-oriented)概念不同,NIO中采用面向块的(block-oriented)概念,这意味着在尽可能的情况下,IO操作以块为单位进行,而不是字节/字符为单位,采用这种方式可以使Java IO性能有大幅提高。另外,与面向线程的,阻塞式IO方式相比,多道通信,非阻塞式IO机制可以更加有效的处理大量连接的应用程序。新IO除了原有功能之外,还提供了以下新特转载 2020-07-26 13:47:13 · 108 阅读 · 0 评论