自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Netty学习之旅------Netty Channel 概述

本文关于Netty Channel接口就描述到这里,主要从Channel概述、Channel接口API,Channel类图三个方面简单介绍一下Channel,为进一步解剖Netty Channel,ChanelPiple,ChannelHandler等打下基础。诸如newPromise,newSuccessedFuture()方法,就是返回一个凭证,用来保存通知结果的,是多线程编程一 * 中典型的设计模式。是否可写,如果通道的写缓冲区未满,即返回true,表示写操作可以立即。

2024-12-08 20:27:04 761

原创 netty基础教程-3、helloworld(cs模式)_netty简单实现cs

1)、在这里将业逻辑注入,这样就很好的将业务和IO操作分离开了。

2024-12-08 20:25:04 175

原创 MySQL间隙锁是什么

我第一次听到MySQL的间隙锁,还是在2016年去一家公司面试的时候,整个过程还是非常愉快与顺利的。但面试那哥们儿突然问了一句, “你知道MySQL的间隙锁吗?”,我脑子中迅速提取各种锁:“悲观锁”、“乐观锁”、“行锁”、“表锁”、“悲观锁”、“乐观锁”…阿xi吧,间隙锁是个什么鬼?!然后我只能无奈地回答道:“这个我不是很清楚了”,然后面试就结束了…从那个公司出来后,我就坐的花坛边,用手机各种查,各种搜,才对间隙锁有了初步的了解,在未来几天里我就一直花时间来深入地理解间隙锁。

2024-12-08 20:23:03 1000

原创 MySQL进阶篇SQL优化(InnoDB锁问题排查与解决)

一般的做法是在需要锁的数据上增加一个版本号,或者时间戳。**●间隙锁:**Update语句会在非唯一索引的MemberName='C’加上左区间的间隙锁(A,C)和右区间的间隙锁(C, +∞)(因为目前goods.members会员表中只有MemberName='C’的一条记录,所以没有中间的间隙锁)。●事务T1持有(C, +∞)间隙锁,在等待(A,C)的插入意向锁,事务T2持有(A,C)间隙锁,在等待(C, +∞)的插入意向锁,所以形成了死锁的闭环(间隙锁与插入意向锁会冲突的,可以看回行锁的兼容矩阵)

2024-12-08 20:21:03 597

原创 mysql进阶(三)游标简易教程_mysql游标从第一行到第五行

这个语句声明一个游标。也可以在子程序中定义多个游标,一个块中的每一个游标必须命名唯一。声明游标后也是单条操作的。

2024-12-08 20:19:02 678

原创 MySql知识体系总结(SQL优化篇)

本篇是MySQL知识体系总结系列的第二篇,该篇的主要内容是通过explain逐步分析sql,并通过修改sql语句与建立索引的方式对sql语句进行调优,也可以通过查看日志的方式,了解sql的执行情况,还介绍了MySQL数据库的行锁和表锁。一、explain返回列简介。

2024-12-08 20:17:02 810

原创 MySQL的各种安装方式都给你_mysql各安装类型区别

MySQL版本:8.0.27。

2024-12-08 20:15:02 891

原创 MySQL的binlog有啥用,谁写的,在哪里,怎么配置

对于大部分研发同学来说,肯定听说过bin log。然后却不一定知道binlog在哪里?谁写的?怎么配置binlog?以及binlog有啥用。所以接下来的几篇文章,我们一起看看binlog的二三事,让你更好的理解binlog。二、什么是bin log?bin log是MySQL的二进制日志文件,翻译成中文名反到是感觉怪怪的。所以说下面直接称他为binlog。我们都知道MySQL分为两大部分。上层是MySQL-Server,下层是可插拔的存储引擎。binlog就是由MySQL的Server层产生。

2024-12-08 20:13:01 1544

原创 MySQL有哪些实现方式?何为插入,何为更新?

的 last_delivery_price 就行了修改,受影响的行只有 1,不会影响 AUTO_INCREMENT 的值。我们换个角度来理解,假设让我们来设计,一条 SQL 既能插入,也能更新,我们如何告知用户到底是插入成功了,还是更新成功了?当数据库是 MySQL ,碰到 不存在则插入,存在则更新 的需求时,第一时间往往想到的是REPLACE INTO。需要将参与表中数据比判断,找出哪些是新插入,哪些需要更新,哪些是删除的,然后再做对应的数据操作。

2024-12-08 20:11:01 994

原创 MySQL数据库误删恢复_mysql 数据 误删

在导航{3.6.5、恢复表} 我们执行的语句mysqlbinlog --start-position=720 --stop-position=1579 mysql-bin.000001 | mysql -uroot -p, 事件开始位置720 ,事件结束位置1579,说明我们位置不对呗,这个位置只能恢复表不能恢复数据。说明: show binary logs;创建表的起始位置是720 ,在日志中删除表的结束之前最后连接的位置是2190,这样就可以恢复我们删表之前的表和两条数据。

2024-12-08 20:09:00 925

原创 MySQL安装(详细,适合初学者)

解决MySQL初始化报错:mysqld: Can’t create directory ’xxxx’ (ErrorCode 2 - No such file or directory)安装MySQL服务,输入 mysqld --install [服务名](服务名可以不加默认为mysql)

2024-12-08 20:07:00 798

原创 MySQL安装配置教程(超详细!)

5.进入服务器名称窗口设置服务器名称,这里无特殊需要也不建议修改。初学者建议选择“Development Machine”选项,这样占用系统的资源比较少。6.打开确认设置服务器窗口,点击 Execute 按钮完成 MySQL 的各项配置。系统默认用户名为root,点击Add User即可添加新用户。如果显示数据库列表,则说明 MySQL 数据库安装成功。1.打开安装文件,进入安装界面,我选择默认安装类型。2.进入网络类型配置窗口,默认设置,点击next。至此,MySQL安装配置就完成了。

2024-12-08 20:04:59 617

原创 MySQL入门篇

注意在客户端每次输入完语句一定要加;1.1显示数据库1.2创建数据库–格式 create database 【数据库名称】;注意:不能创建同名的数据库1.3使用数据库–格式 use【数据库名】use test;注意:每次要操作数据库中的表时,必须要先执行 use【数据库名】语句1.4删除数据库–格式 drop database 【数据库名】;数据库删除后里面的表和数据全被删除了。二、常用的数据类型2.1数值类型整数和小数类型| 数据类型 (整数) | 大小及说明 |

2024-12-08 20:02:59 583

原创 MySQL【部署 01】Linux root 用户部署 mysql-5

表名称忽略大小写 lower_case_table_names=1 这个设置在Windows环境下默认就是1,而在Linux环境下默认却是0,有一次部署好MySQL之后,项目运行异常,报的是表不存在,原因是SQL语句里的表名称有大写的【你说要不要泪奔,写代码太不规范了】。初始化后会有默认密码,一定要复制下来。lower_case_table_names=1 表名称忽略大小写,Windows系统性默认是1,Linux系统下默认是0,如果不配置此项,在 Windows环境下正常的查询有可能会报错。

2024-12-08 20:00:58 575

原创 MySQL~InnoDB关键特性(插入缓存、俩次写、自适应哈希索引、异步IO、刷新邻接页)

Insert Buffer的数据结构是一棵B+树,现在的MySQL版本中,全局只有一棵Insert Buffer B+树,负责对所有的表的辅助索引进行Insert Buffer,而这棵B+树存放在共享表空间中,即ibdata1中。innodb的数据页一般大小是16KB,MySQL存取数据的最小单位也是页,而操作系统并不能保障一个数据页的原子性,也就是说当写入数据时,有可能在一个页中写入一半时(比如8K)数据库宕机,这种情况称为部分写失效(partial page write),从而导致数据丢失。

2024-12-08 19:58:55 847

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除