首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux中IO多路复用机制

    之前的面试有问到主线程在 ActivityThread 里初始化 Looper 后调用了 Looper.loop() 这个死循环为什么不会阻塞主线程,当时回答因为在 Looper.loop() 方法里调用了 MessageQueue.next() 方法,这个 next() 中调用了nativePollOnce() ,这个本地方法最终实现是 android_os_MessageQueue_nativePollOnce ,因为这里的 IO 机制采用 epool ,当它没有消息时会调用 wait() 函数释放 CPU 进入休眠等待,当有消息来临会通过管道写入来通知唤醒。后面百度了一下 epool 函数,然后对比其他 IO 模型做一个笔记,首先说 IO 是什么, IO 就是 InputStream 和 OutputStream 的缩写,输入和输出的意思,传统的我们通过字节流或字符流来操作流,此时是同步阻塞 IO 模型,后面更新的Java NIO 是同步非阻塞 IO 模型

    02

    最新Java知识汇总(持续更新)

    不积跬步无以至千里,本人从事Java开发多年,通过记录分享的形式,记录自己从事编程的一些心路历程和技术总结,希望能结交更多志同道合的朋友,个人见识有限,难免会有疏忽和错误之处,还望各位大佬能够指点迷津,感激不尽。 本文整理的Java知识汇总主要包括Java基础、Java进阶、数据库、JVM、消息队列、缓存、微服务与分布式、Java面试系列、高并发、数据结构与算法、计算机网络、开发工具、搜索引擎、大数据、团队管理、运维等。包含一个Java开发工程师所需的绝大多数知识。相信只要勤奋学习,每天进步一点点,各位大佬总有一天会成为飞过沧海横过大洋的海鸥。总结记录的同时,希望大家一起共同进步。

    02
    领券