摘要: 学习netty之前,要先了解操作系统中的IO、零拷贝(已经附上链接了) 一、netty的简单介绍 Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目。 Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。 阅读全文
posted @ 2022-03-17 17:22 阿宁你好啊 阅读(1108) 评论(1) 推荐(2) 编辑
摘要: 进程间的通信方式 1、管道:其实就是一个进程将数据写到内核中,另一个线程从内核中读取数据。 单向:无格式的流并且大小受限;先进先出;管道这种通信方式效率低,不适合进程间频繁地交换数据; 匿名管道:匿名管道是只能用于存在父子关系的进程间通信 命名管道:可以在任何的进程之间使用,因为使用命名管道的前提, 阅读全文
posted @ 2022-03-16 20:48 阿宁你好啊 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 零拷贝主要是优化内核缓冲区和用户缓存区的之间拷贝次数 怎么出现一步一步出现零拷贝的呢,下面跟大家讲一下。 下图是当用户发出读写请求到操作系统进行交互的简单流程图 传统模式 从上图描述,把数据从内核缓冲区拷贝到用户缓冲区只是一次读操作,但是在网络编程中,该操作需要4次拷贝,4次上下文切换,因此性能低。 阅读全文
posted @ 2022-03-16 19:17 阿宁你好啊 阅读(856) 评论(0) 推荐(0) 编辑
摘要: **要想学习netty就先要了解:(网络编程模型:BIO、NIO、AIO)** # IO ![image](https://img2022.cnblogs.com/blog/2345397/202203/2345397-20220315191242720-610070709.png) **上图的工作 阅读全文
posted @ 2022-03-16 16:11 阿宁你好啊 阅读(1569) 评论(0) 推荐(0) 编辑
摘要: 数据库的备份和恢复 阅读全文
posted @ 2022-03-11 23:06 阿宁你好啊 阅读(34) 评论(0) 推荐(0) 编辑
摘要: mysql主从复制 要想实现mysql的主从复制需要先了解二进制日志(bin log)和中继日志(relay log)。 二进制日志(bin log) binlog即binary log,二进制日志文件,也叫作变更日志(update log),数据库服务每次重启之后都会生成一个对应的bin log日 阅读全文
posted @ 2022-03-10 20:07 阿宁你好啊 阅读(218) 评论(0) 推荐(1) 编辑
摘要: 多版本并发控制 什么是MVCC 1、多版本并发控制(MVCC)解决了脏读、不可重复读、幻读的问题,保证了事务的隔离性,实现了数据的一致性读,。 2、MVCC实现依赖于 隐藏字段(trx_id、roll_pointer)、undo log:实现了多版本 readview:实现了并发控制 快照读和当前读 阅读全文
posted @ 2022-03-10 18:24 阿宁你好啊 阅读(160) 评论(0) 推荐(1) 编辑
摘要: 事务的基础概念 事务的认识 事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。当在一个事务中执行多个操作时,要么所有的事务都被提交( commit ),那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改 ,整个事务回滚( rollback )到最初状态。 事务的ACID特性 阅读全文
posted @ 2022-03-10 18:13 阿宁你好啊 阅读(93) 评论(0) 推荐(0) 编辑
摘要: mysql锁 事务的隔离性是通过锁来实现的。为保证数据的一致性,需要锁对并发事务操作进行控制。同时锁机制也为实现MySQL的各个隔离级别提供了保证。 mysql并发事务访问相同的记录会出现什么问题(在没有锁的情况下) 1.1读-读情况 读-读情况:即并发事务相继读取相同的记录。读取操作本身不会对记录 阅读全文
posted @ 2022-03-07 15:13 阿宁你好啊 阅读(80) 评论(0) 推荐(1) 编辑
摘要: mysql的事务日志 事务有4种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制实现。 事务的原子性、一致性和持久性由事务的redo日志和undo日志来保证。 REDO LOG称为重做日志:提供再写入操作,恢复提交事务修改的页操作,用来保证事务 阅读全文
posted @ 2022-03-04 22:53 阿宁你好啊 阅读(253) 评论(0) 推荐(0) 编辑