自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文件句柄占用问题排查经历

记录一次文件句柄占用的排查过程。问题现象部署服务器的虚拟机,文件句柄数每天都会增加,最终文件句柄数耗尽,服务无法正常工作。排查过程1. lsof 查看文件占用的文件句柄数由于文件句柄数的增加,只在应用启动后开始,可以定位问题是由于应用引起。通过【lsof -p 进程号】命令,查看进程的文件句柄占用。发现大量的文件句柄为:java 116023 root 7485u sock 0,7 0t0 282463093 protocol:TCPv6这意味着文件句柄占用来自于套接字,即连接请求。

2022-03-22 23:44:40 4055

原创 MySql数据库时区问题

问题:往数据库插入数据时,发现时间比当前的时刻少了几个小时。什么情况??先来模拟一下事故现场简单的设置一个时间,并插入数据库@Servicepublic class Test { @Autowired TsMapper tsMapper; @PostConstruct public void init() throws ParseException { TimeEntity timeEntity = new TimeEntity();

2022-03-05 12:34:46 1851

原创 Mysql中timestamp和datetime的区别

timestamp和datetime的区别

2022-03-05 12:26:21 709

原创 Http代理服务器—Netty版

Http代理服务器,Netty版

2022-03-01 23:28:17 2992

原创 HttpFullResponse和普通ByteBuf数据回收

FullHttpResponse的ByteBuf数据回收

2022-02-23 22:44:38 705

原创 SpriingWebFlux修改请求头

SpringWebFlux 修改请求头

2022-02-22 22:44:00 1689

原创 SpringWebFlux的过滤器

SpringWebFlux的过滤器

2022-02-22 22:30:16 1609 2

原创 Netty全局异常捕获器

自定义Netty的全局异常捕获器

2022-02-20 16:37:17 2116

原创 Redis的线程模型

Redis的线程模型(1)Redis创建server socket,并将AE_READABLE 事件与连接应答器关联(2)用户请求连接Redis,server socket产生一个AE_READABLE事件(3)I/O多路复用监听到server socket产生的AE_READABLE事件,将该socket放入队列中(4)文件事件分派器从队列中获取socket,交给连接应答器。(5)连接应答器创建一个client socket与客户端通信,并将AE_READABLE 事件与命令请求器关联(6)用

2022-01-27 23:26:42 1000

原创 倒排索引和数据库索引的区别

MySql索引采用的是B+树结构,与倒排索引相比,被称之为正排索引。下面通过一个简单的例子,先理解B+树索引的工作方式,而后再介绍为什么会引入倒排索引。有一张用户表,分别记录了用户名称和爱好。CREATE TABLE user_info ( id int, name varchar(16), hobby varchar(256) );数据:Idnamehobby1小明篮球、唱歌、游泳2小王篮球、旅游3小李台球、旅游4小蒋唱歌、游泳

2022-01-27 00:19:19 1980

原创 IM—读扩散和写扩散

IM 读扩散和写扩散

2022-01-24 20:23:42 2409

原创 GO-如何从异常中恢复(异常的抛出和捕获)

GO-如何从异常中恢复(异常的抛出和捕获)1.抛出异常2.捕获异常3 调用抛出异常类型的方法1.抛出异常当程序出现错误时,可以通过抛出异常的方式,中断程序的执行,并指明原因。go通过panic将异常抛出package mainimport ( "errors")func main() { err := errors.New("this is an error") panic(err)}打印结果:panic: this is an errorgoroutine 1 [run

2022-01-19 23:16:55 945

原创 Go空接口 interface{}

interface{}称之为空接口,可以用来接受任何类型的值。由于interface{}不需要实现任何方法,故所有的类型都满足它。下面我们看一个简单空接口例子:package mainimport "fmt"func printAnything(thing interface{}){ fmt.Println(thing)}func main() { printAnything(1) printAnything("Hello") printAnything(true)}/

2022-01-17 23:08:37 581

原创 搭建Go的开发环境——GoLand

目录1 下载Go SDK2 下载GoLand3 使用GoLand开发Go3.1 创建Go工程3.2 创建三个目录3.3 设置Go的运行器3.4 设置代理3.5 HelloWorld环境: 2019 GoLand 1.5.3 Go SDK 1 下载Go SDK下载地址:Downloads - The Go Programming Language 下载并安装到 D:\Program Files\1.15.32 下载GoLand..

2022-01-13 22:46:17 1262

空空如也

空空如也

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

TA关注的人

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