笔记
wangzhipeng47
这个作者很懒,什么都没留下…
展开
-
linux零拷贝原理
大白话解释,零拷贝就是没有把数据从一个存储区域拷贝到另一个存储区域。但是没有数据的复制,怎么可能实现数据的传输呢?其实我们在java NIO、netty、kafka遇到的零拷贝,并不是不复制数据,而是减少不必要的数据拷贝次数,从而提升代码性能 零拷贝的好处 内核空间和用户空间 缓冲区和虚拟内存 传统的 I/O mmap+write 实现的零拷贝 sendfile 实现的零拷贝 带有DMA收集拷贝功能的sendfile实现的零拷贝 java提供的零拷贝方式 零拷贝的好处 减少或避免不必要的CPU数据拷贝,从而原创 2020-12-22 18:06:04 · 210 阅读 · 1 评论 -
mysql日志-redo log 和undo log
innodb事务日志包括redo log和undo log。redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作。 undo log不是redo log的逆向过程,其实它们都算是用来恢复的日志: 1.redo log通常是物理日志,记录的是数据页的物理修改,而不是某一行或某几行修改成怎样怎样,它用来恢复提交后的物理数据页(恢复数据页,且只能恢复到最后一次提交的位置)。 2.undo用来回滚行记录到某个版本。undo log一般是逻辑日志,根据每行记录进行记录。 1.redo l原创 2020-12-14 12:00:08 · 157 阅读 · 0 评论 -
mysql 详细总结
1、SQL语句执行流程 MySQL大体上可分为Server层和存储引擎层两部分。 Server层: 连接器:TCP握手后服务器来验证登陆用户身份,A用户创建连接后,管理员对A用户权限修改了也不会影响到已经创建的链接权限,必须重新登陆。 查询缓存:查询后的结果存储位置,MySQL8.0版本以后已经取消,因为查询缓存失效太频繁,得不偿失。 分析器:根据语法规则,判断你输入的这个SQL语句是否满足MySQL语法。 优化器:多种执行策略可实现目标,系统自动选择最优进行执行。 执行器:判断是否有权限,将最终任务提交到原创 2020-12-14 10:36:38 · 150 阅读 · 0 评论