会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
fenngz
博客园
首页
新随笔
联系
订阅
管理
2022年11月27日
Linux面试题3:Linux零拷贝技术
摘要: zero-copy技术 Linux网络IO数据传输过程图 整个操作过程中,做了四次用户态和内核态的状态切换,数据从网卡copy到内核缓冲区,再从内核缓冲区copy到user-space;写入时从user-space copy到内核缓冲区,再从内核缓冲区copy到硬盘设备。做了太多的无用功。 ZERO
阅读全文
posted @ 2022-11-27 15:01 fenngz
阅读(62)
评论(0)
推荐(0)
2022年11月26日
Linux面试题2:网络IO模型 & IO多路复用
摘要: 网络IO 先确定一下范围,我们讨论的都是网络IO,现阶段计算机早已经从CPU密集型转换成网络IO密集型,所以网络io的类型对于服务响应而言更重要。 五种IO模型 依据Unix的IO分类,网络IO分为五类 阻塞IO(BlockingIO 非阻塞IO(Non-Blocking IO IO多路复用( IO
阅读全文
posted @ 2022-11-26 17:19 fenngz
阅读(240)
评论(0)
推荐(0)
2022年11月25日
Linux面试题1:用户态和内核态
摘要: 内核态和用户态 我们开发的服务代码,都是基于操作系统抽象提供的功能接口,进而操作相应的硬件资源。而硬件资源对于安全性要求非常高,所以对于安全性和系统稳定性而言,需要划定不同的应用程序运行级别。 Intel对于CPU的权限划分了四个等级0 ~ 3,linux采用了其中的0和2这两个等级。运行在0级别的
阅读全文
posted @ 2022-11-25 23:21 fenngz
阅读(363)
评论(1)
推荐(0)
2019年5月24日
ArrayList中的ConcurrentModificationException,并发修改异常,fail-fast机制。
摘要: 一:什么时候出现? 当我们用迭代器循环list的时候,在其中用list的方法新增/删除元素,就会出现这个错误。 二:为什么会出这个错误? 如上图所示,运行代码就会有这个错误,我们看一下堆栈。 可以看到,是在ArrayList里面的Itr内部类里的checkForModification()方法里,抛
阅读全文
posted @ 2019-05-24 16:38 fenngz
阅读(502)
评论(0)
推荐(0)
2019年3月2日
java中的自动拆装箱
摘要: 一:是什么 java的自动拆装箱,是从jdk1.5之后被引入的,java中的类型分为基本类型和引用类型,而自动拆装箱,可以让基本类型和对应的包装类,无缝转换。先拿最基本的来看。 二:为什么 先说结论:自动拆装箱是编译器的功劳,相当于一个语法糖,在编译成class字节码文件期间,编译器解语法糖,变成正
阅读全文
posted @ 2019-03-02 22:13 fenngz
阅读(432)
评论(0)
推荐(0)
2018年10月17日
java基础知识-lambda表达式
摘要: 一.什么是lambda? 在Java中,我们可以将一个值赋值给一个Java变量。 但是,我们可以将一块代码或者一个方法赋值给一个Java变量么(类似于javascript那样给方法取名字)? 以上操作,在Java8之前是不能做到的,在8之后,使用lambda表达式的特性,就可以做的到了。但是上面的代
阅读全文
posted @ 2018-10-17 13:55 fenngz
阅读(183)
评论(0)
推荐(0)
公告