摘要:
class Foo(object): def __init__(self): # 这是一个对象属性 self.obj_pro = 12 # 这是一类属性 c_pro = 11 # 这是一个静态方法 @classmethod def c_method(self): print('c_method') 阅读全文
摘要:
Netty工作原理图 netty抽象出了两组线程池,BossGroup专门负责客户端 的连接,WorkerGroup专门负责网络读写。 BossGroup和WorkerGroup 类型都是NioEventLoopGroup NioEventLoopGroup相当于一个事件循环组,这个组中含有多个事件 阅读全文
摘要:
Reactor有三种模式: 单reactor单线程 单 reactor多线程 主从reactor 1. 单reactor单线程工作原理图 dispatch与handler在同一个线程中处理。。。 redis就是采用这种模式 2. 单reactor多线程工作原理图 (1) reactor对象通过sel 阅读全文
摘要:
1. 传统IO 由上面图知,传统io需要经过4次copy, 3次状态切换 第一次: 从硬盘 经过 DMA 拷贝 到 kernel buffer (内核buferr) 第二次: 从kernel buffer 经过cpu 拷贝到 user buffer ,比如拷贝到应用程序 第三次: 从user buf 阅读全文
摘要:
1. 服务端 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.*; import java.util.Iterato 阅读全文
摘要:
1. 服务端 import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.*; import java.util.Iterator; import java.util.Set; pub 阅读全文
摘要:
报错信息如下: Exception in thread "main" java.nio.channels.IllegalBlockingModeException at java.nio.channels.spi.AbstractSelectableChannel.register(Abstract 阅读全文
摘要:
1. buffer常规操作 略 2. 只读buffer /** * 只读buffer */ public class BufferTest01 { public static void main(String[] args) { IntBuffer buffer = IntBuffer.alloca 阅读全文
摘要:
1. 写文件操作 /** * 写文件 */ public class FileChannelTest { public static void main(String[] args) throws IOException { String str = "test file channel, 测试fi 阅读全文
摘要:
Flask框架提供了请求重定向功能,只需要使用 redirect_to即可, 示例代码如下: from flask import Flask, render_template, request, redirect, session app = Flask(__name__) app.secret_k 阅读全文