分类 学习笔记 中的文章
No plugin found for prefix 'dockerfile' in the current project
为独立开发者推荐两个收款渠道(更新于2019-06-30)
即时收款,是独立开发者(没有公司资质的)提供付费服务来增收的一个重要渠道。
对个人免签的渠道,除去不稳定且不安全的监听App通知消息、再除去不靠谱的四方聚合,剩下可用的更少。
这里推荐两个渠道,可以参考一下:
……Java NIO 系列学习 10 - ServerSocketChannel
ServerSocketChannel 可以监听传入的TCP连接,与Java标准库的ServerSocket类似。
举个例子:
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.socket().bind(new InetSocketAddress(9999));
while(true){
SocketChannel socketChannel = serverSocketChannel.accept();
//do something with socketChannel...
}
Java NIO 系列学习 09 - SocketChannel
Java NIO SocketChannel 是一个连接TCP网络socket的channel。与标准库的网络Socket是等效的。有两个办法可以来建立SocketChannel
- 打开了 SocketChannel 连接到了网络上的一个服务
- 传入了 ServerSocketChannel 连接
Java NIO 系列学习 08 - FileChannel
Java NIO FileChannel 是连接文件的channel。使用fileChannle可以实现从文件中读写数据。FileChannel是用来替代Java标准库IO API的。
FileChannel 不能被置为非阻塞模式,永远都是阻塞模式。
……Java NIO 系列学习 07 - Selector
Java NIO Selector 是一个可以选择一个或多个 Channel
实例、确定哪个 Channel
处于可写或可读状态的组件。
通过这种方式,一个线程可以管理多个 Channel
、多个网络连接。
Java NIO 系列学习 06 - Channel to Channel Transfers
在Java NIO中,如果有两个Channel且其中一个是FileChannel
时,我们可以传递数据从一个channel到另一个channel。FileChannle
类提供了transferTo()
和transferFrom()
方法来操作。
Java NIO 系列学习 05 - Scatter and Gather
Java NIO 提供了内置的Scatter和Gather支持。Scatter和Gatter是用于读写Channel的概念。
Scatter从一个Channel中读取数据,然后写到多个Buffer中。
Gather从多个Buffer中拿到数据,然后写到一个Channel中。
在我们需要分开处理传输数据的各个部分时很有用。比如,一条消息由头部和正文组成,我们需要单独对头部和正文的内容进行分开处理,就可以把头部和正文单独存储在Buffer中。
……Java NIO 系列学习 04 - Buffers
Java NIO Buffers 是与 Channels一起组合使用的。
Buffer本质上是一块内存区,我们可以写入数据,然后再读出来。这个内存区被包装为 NIO Buffer
对象, 这个对象提供了一组方法以方便我们操作内存区。