- 如今在运行时优化方面,JVM 已然前进了一大步。现在 JVM 运行字节码的速率已经接近本地 编译代码,借助动态运行时优化,其表现甚至还有所超越。这就意味着,多数 Java 应用程序已不 再受 CPU 的束缚(把大量时间用在执行代码上),而更多时候是受 I/O 的束缚(等待数据传输)。
五种IO 模式 —— 阻塞(默认IO模式),非阻塞(常用语管道),IO多路复用(IO多路复用的应用场景),信号IO,异步IO
- 阻塞IO :[阻塞] wait时进程休眠 让出CPU 数据到达后恢复
- 非阻塞IO :[非阻塞] wait时一直占用CPU
- IO多路复用 :[阻塞] wait时进程休眠 让出CPU 数据到达后恢复 但是当新请求到达时,依然唤醒主进程,将请求加入队列
- 信号IO :[阻塞] 就绪时通知程序进行IO(控制反转)
- 异步IO :[阻塞] 程序正常执行,当IO结束通知程序进行回调。
文件
- 文件通道总是阻塞式的,因此不能被置于非阻塞模式。
- FileChannel 对象是线程安全(thread-safe)的。多个进程可以在同一个实例上并发调用方法而 不会引起任何问题,不过并非所有的操作都是多线程的(multithreaded)。
- 可以使用MappedByteBuffer进行虚拟内存映射来提高效率
posted on
2016-03-24 17:59
蓝田田长
阅读(
107)
评论()
收藏
举报