public abstract class
SelectorProvider
extends Object
java.lang.Object
? java.nio.channels.spi.SelectorProvider
Class Overview
SelectorProvider is an abstract base class that declares methods for providing instances of DatagramChannel, Pipe, Selector , ServerSocketChannel, and SocketChannel. All the methods of this class are thread-safe.
该类是一个抽象基类,为DatagramChannel, Pipe, Selector , ServerSocketChannel, and SocketChannel提供SelectorProvider实例。该类的所有方法均是线程安全的。
A provider instance can be retrieved through a system property or the configuration file in a jar file; if no provider is available that way then the system default provider is returned.
Provider实例可以通过系统属性或者jar文件中的一个配置文件;如果这两种方式下没有provider可用,那么该类返回一个系统默认的provider。
Summary
Protected Constructors
SelectorProvider()
Constructs a new SelectorProvider.
构造一个新的SelectorProvider.
Public Methods
Channel inheritedChannel()
Returns the channel inherited from the instance that created this virtual machine.
返回一个继承自创建该虚拟机的实例的channel。
abstract DatagramChannel openDatagramChannel()
Creates a new open DatagramChannel.
创建一个新的DatagramChannel。
abstract Pipe openPipe()
Creates a new Pipe.
创建一个新的Pipe.
abstract AbstractSelector openSelector()
Creates a new selector.
创建一个新的selector.
abstract ServerSocketChannel openServerSocketChannel()
Creates a new open ServerSocketChannel.
创建一个新的打开的ServerSocketChannel。
abstract SocketChannel openSocketChannel()
Create a new open SocketChannel.
创建一个新的打开的SocketChannel.
synchronized static SelectorProvider provider()
Gets a provider instance by executing the following steps when called for the first time:
if the system property "java.nio.channels.spi.SelectorProvider" is set, the value of this property is the class name of the provider returned;
if there is a provider-configuration file named "java.nio.channels.spi.SelectorProvider" in META-INF/services of a jar file valid in the system class loader, the first class name is the provider's class name;
otherwise, a system default provider will be returned.
第一次调用该方法时执行以下操作,返回一个SelectorProvider:
如果系统属性"java.nio.channels.spi.SelectorProvider"设置了,那么该属性的值就是返回的provider的类名。
如果在META-INF/services中的一个jar文件中存在一个"java.nio.channels.spi.SelectorProvider"provider配置文件在系统的类装载器中是有效的,那么配置文件中第一个类名就是provider的类名。
否则,返回一个系统默认的provider。
[Expand]
Inherited Methods
From class java.lang.Object
Protected Constructors
protected SelectorProvider ()
Since: API Level 1
Constructs a new SelectorProvider.
Throws
SecurityException if there is a security manager installed that does not permit the runtime permission labeled "selectorProvider".
安全管理员不允许"selectorProvider"运行权限。
Public Methods
public Channel inheritedChannel ()
Since: API Level 1
Returns the channel inherited from the instance that created this virtual machine.
Returns
the channel.
Throws
IOException if an I/O error occurs.
SecurityException if there is a security manager installed that does not permit the runtime permission labeled "selectorProvider".
public abstract DatagramChannel openDatagramChannel ()
Since: API Level 1
Creates a new open DatagramChannel.
Returns
the new channel.
Throws
IOException if an I/O error occurs.
public abstract Pipe openPipe ()
Since: API Level 1
Creates a new Pipe.
Returns
the new pipe.
Throws
IOException if an I/O error occurs.
public abstract AbstractSelector openSelector ()
Since: API Level 1
Creates a new selector.
Returns
the new selector.
Throws
IOException if an I/O error occurs.
public abstract ServerSocketChannel openServerSocketChannel ()
Since: API Level 1
Creates a new open ServerSocketChannel.
Returns
the new channel.
Throws
IOException if an I/O error occurs.
public abstract SocketChannel openSocketChannel ()
Since: API Level 1
Create a new open SocketChannel.
Returns
the new channel.
Throws
IOException if an I/O error occurs.
public static synchronized SelectorProvider provider ()
Since: API Level 1
Gets a provider instance by executing the following steps when called for the first time:
if the system property "java.nio.channels.spi.SelectorProvider" is set, the value of this property is the class name of the provider returned;
if there is a provider-configuration file named "java.nio.channels.spi.SelectorProvider" in META-INF/services of a jar file valid in the system class loader,
the first class name is the provider's class name;
otherwise, a system default provider will be returned.
Returns
the provider.
分享到:
相关推荐
- **Channels 工具类**:介绍了 Java NIO 提供的一些工具类,用于简化 Channel 的使用。 #### 3. Selector(选择器) - **Selector 基础**:介绍了 Selector 的基本概念及工作原理。 - **使用 SelectionKey**:...
在探讨Java.nio与Java.io之间的比较时,我们首先需要理解这两个包在Java编程语言中的核心作用和它们各自的优势。Java.io和Java.nio是Java中处理输入/输出操作的两个主要框架,它们各自拥有独特的特性和应用场景。 #...
Java.nio,全称为Java Non-blocking Input/Output,是Java平台从1.4版本开始引入的一套全新的I/O API,旨在替代传统的Java.io流API。它提供了更高效、更灵活的I/O操作方式,特别是在处理大量并发连接时,性能显著...
Java NIO,全称为Non-Blocking Input/Output(非阻塞输入/输出),是Java标准库提供的一种替代传统的I/O模型的新技术。自Java 1.4版本引入NIO后,它为Java开发者提供了更高效的数据传输方式,尤其是在处理大量并发...
【java.nio.file库详解】 Java 早期版本的文件I/O操作功能相对有限,存在几个显著问题:不支持现代文件系统特性、API设计复杂且冗长、处理大文件和并发性能不足。为了解决这些问题,Java引入了`java.nio.file`库,...
找了好久,终于找到了,java刷新同步获取网络资源
5. `java.nio.channels.spi`:类似的,这个包提供了Channel和Selector的SPI,用于扩展NIO API。 ByteBuffer是NIO中的关键类,它与其他类型的Buffer(如CharBuffer、IntBuffer等)一样,具有capacity、limit和...
JDK1.7 之 java.nio.file.Files 读取文件仅需一行代码实现 java.nio.file.Files 类是 JDK1.7 中引入的新的文件操作类,该类包含了许多有用的方法来操作文件。其中,Files.readAllBytes(Path) 方法可以将整个文件...
java.io clojure.java.io 的 JK7 java.nio.file.Path 兼容性依赖信息该库托管在 Releases 上。 依赖: [me.moocar/java.io " 0.1.0 " ]用法是 JDK7 中引入的文件路径的抽象。 这个库提供了和 Paths 之间的兼容性。 ...
标题“nio.rar_NIO_NIO-socket_java nio_java 实例_java.nio”表明这个压缩包包含了一个关于Java NIO的实例,特别是关于NIO套接字(Socket)的编程示例。NIO套接字是Java NIO库中用于网络通信的关键组件,它们允许...
### Java NIO 详细教程知识点解析 #### 一、Java NIO 概述 Java NIO(New IO)是Java平台提供的一种新的IO操作模式,它首次出现在Java 1.4版本中,并在后续版本中不断完善。Java NIO 的设计目的是为了克服传统Java ...
o Clojure对java.nio的支持。 将clojure.java.io的输入流,输出流和复制功能扩展到java.nio类。 定义新的强制功能缓冲区,字节缓冲区,字符缓冲区,双缓冲区,浮点缓冲区,整数缓冲区,长缓冲区,短缓冲区,通道,可...
java.NIO与Files工具类(解决方案).md
java.NIO与Files工具类(处理方案示例).md
1. **通道(Channels)**:Java NIO中的通道类似于流,但它们是双向的,可以读写数据。常见的通道类有FileChannel、SocketChannel、ServerSocketChannel和DatagramChannel。 2. **缓冲区(Buffers)**:缓冲区是...
重新写的Java.nio的socket异步通讯,包含客户端及服务端完整版, 注:解析信息CLASS及进制转换CLASS需要自己去写,项目直接导入,需要自己写一些解析及转换类,这样你才能读懂SOCKET的异步,否则光拿代码没用 ...