- 博客(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
原创 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
原创 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关注的人