分类 学习笔记 中的文章

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

  1. 打开了 SocketChannel 连接到了网络上的一个服务
  2. 传入了 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 系列学习 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 对象, 这个对象提供了一组方法以方便我们操作内存区。

……

阅读全文

PHP XDebug 远程调试

与上一篇联动, 本篇是远程调试, 主要记录一下过程 本地环境: # php -v PHP 7.2.16 (cli) (built: Mar 10 2019 21:22:49) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Xdebug v2.8.0-dev, Copyright (c) 2002-2019, by Derick Rethans 环境搭建 // 如果没有安装过需要先行安装 # yum install -y php-devel gcc // 安装xdebug # cd /usr/local/src # git clone https://github.com/xdebug/xdebug.git # cd xdebug # ./rebuild.sh // xdebug配置文件 # vim /etc/php.……

阅读全文

PHP XDebug 本地调试

macOS XDebug 本地调试 很久没写PHP了、同样很很久没有用XDebug了,近期有个简单的场景要用到,简单记录一下关键步骤。 本地环境: $ php -v PHP 7.3.4 (cli) (built: Apr 8 2019 10:21:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.4, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.7.1, Copyright (c) 2002-2019, by Derick Rethans 环境搭建 // 安装xdebug $ pecl install xdebug // 配置xdebug $ vim /usr/local/etc/php/7.3/conf.d/ext-xdebug.ini [xdebug] zend_extension="xdebug.so" xdebug.……

阅读全文