一 IO过程
二 strace 追踪java运行的过程
三 tail -f 的方式
四 java的线程对应到操作系统的线程或进程是1:1的
五 java中堆是线程共享的 栈是隔离的
六 网络 I/O netstat
七 BIO模型
阻塞模型 当连接个数非常多时,内核由于队列的问题会一直阻塞,时间和资源会一直浪费到资源调度上,所以效率不是很高
八 NIO
应用进程执行系统调用之后,内核返回一个错误码。应用进程可以继续执行,但是需要不断的执行系统调用来获知
I/O 是否完成,这种方式称为轮询(polling)。
8.1 优点:
NIO 是非阻塞的;
NIO 面向块,I/O 面向流
8.2 缺点:
由于 CPU 要处理更多的系统调用,因此这种模型的 CPU 利用率比较低
九 多路复用
select
poll
epoll