Netty学习笔记
来源:互联网 发布:centos 网络流量监控 编辑:程序博客网 时间:2024/05/16 10:55
这只是自己学习Netty 记录的一些笔记和要点,不是什么正式的文件,写在网上,是怕以后忘了不好找,大家可以忽略了。
1. Unix 五种I/O模型, 阻塞I/O 非阻塞I/O I/O复用模型(se;ect/epoll) 信号驱动I/O模型 异步I/O
2.Netty 对selector的SelectionKey进行了优化,默认不开启,如果开启的话,可以利用反射将原有JAVA的SelectionKey替换
3.空轮询在jdk1.7 (含)以前会导致epoll死循环bug 为了解决该问题,对空轮询的发生次数做了计数,如果联系多次发生空轮询,则重新创建一个selector,并销毁旧的selector
4.Netty中可以设置I/O任务,与非I/O任务(TASK)的执行比例,如果发现非I/O任务占用了过多的时间,可以中断非I/O任务的执行,以防止非I/O任务占用太多CPU时间
5.ChannelFuture超时并不代表I/O超时,如果channelFuture超时后,没有关闭资源,I/O连接依然有可能成功,会导致严重的问题
6. Google 的Protobuf 序列化工具支持JAVA C++ python
7.JiBx 一种高效的java 和 XML 转换工具
8.reactor 的三种模型, 单线程模型, 多线程模型(一个线程负责accept 多个线程(组成池)负责I/O), 主从多线程模型
9.目前实现线程的方法主要有三种:
a.内核线程,这种线程有内核来完成线程切换,内核通过线程调度器对线程进行调度,并负责将线程任务映射到不同的处理器上。
b.用户线程实现, 用户线程是指完全建立在用户空间线程库上的线程,用户线程的创建、启动、运行、销毁、切换完全在用户态中完成,不需要内核的帮助,执行性能更高
c. 混合实现,将内核线程和用户线程混合在一起使用的方式.
SUN JDK在windows 和 Linux 操作系统上采用了内核线程的实现方式
10. 原子类底层是通过CAS来实现的
- 【Netty】netty学习笔记一
- Netty源码学习笔记
- Netty学习笔记一
- Netty 学习笔记
- Netty学习笔记
- Netty学习笔记
- Netty学习笔记 开始
- Netty学习笔记:1
- Netty学习笔记:2
- Netty源码学习笔记
- Netty 学习笔记
- Netty学习笔记
- Netty学习笔记
- netty 学习笔记
- netty学习笔记
- Netty学习笔记
- netty学习笔记
- Netty 学习笔记一、Hello Netty
- Scrapy研究探索(五)——自动多网页爬取(抓取某人博客所有文章)
- 替换空格
- PHP 单例模式实现
- 世博尼泊尔馆特展图片
- java lambda例子
- Netty学习笔记
- phpstorm version 2016.2 License Server激活
- 《论Android的发展方向(个人见解)》
- springmvc+maven+netty-socketio服务端构建实时通信
- 一次完整的HTTP事务全过程详解
- 学习python的第六天
- 阶段性总结
- GTK+-3.0编程 (三) 让这个按钮丰富一点,并给窗口加上图标
- Scrapy研究探索(六)——自动爬取网页之II(CrawlSpider)