- 博客(11)
- 收藏
- 关注
原创 epoll和select的简单理解
epoll和select的区别 目前服务器主要采取接收请求的方式主要有三种,多线程接收请求, select, epoll。 Socket常见函数 1.创建serverSocket 2.bing (ip, port) 3. listen(serversocket的文件描述符,全链接队列长度),(设置里全链接队列长度),此时如果有请求来,内核已经帮助完成三次握手。 4. 在执行accept函数前就完成了 5. accept()函数从全连接队列取出一个socket连接,并绑定一个描述符d。(代表着服务端与客
2021-01-29 12:39:19 536
转载 violate关键字
Violate关键字 引用:https://www.cnblogs.com/dolphin0520/p/3920373.html 这篇博客讲的比较好
2021-01-25 19:54:59 2171
原创 Java类加载机制
jvm启动java程序过程 Java类加载机制。 1.首先类的加载分为 加载、验证、准备、解析、初始化。首先要区分下加载和类加载的概念。 2.加载指的是加载class文件到内存中,并实例化class对象,这里加载到内存中,指的是两部分: a. 将class信息,加载到方法区中,包括类信息,常量,静态变量等信息。 b.类对象放在堆中,具有类的方法,成员变量等信息,通过反射能够获取。 3.在jvm中存放类信息的类限定名和(类名,类在的包名,类的加载器实例名共同决定的),也就是不同的类加载器实例如果不遵循双亲委派
2021-01-21 20:57:34 211 1
原创 Linux常用命令
linux常用命令 vim 下 替换 %s/ddd/sss/g 查看端口占用进程, lsof -i:端口号 能查到进程号, 具体进程信息 ps aux|grep 进程号
2021-01-20 14:04:32 69
原创 Mysql丢失修改
Mysql丢失修改问题解决 1.首先理解mysql的读锁和写锁和mvcc select * from … for update update … insert … delete … 均为写锁 select * from … for share mode 为读锁 select * from … 根据事务隔离区别确定,此时不加锁,根据mvcc 模式,控制读取版本 丢失修改问题 业务中通常理解丢失修改问题,通常为在一个事务中先读后写。 两个事务并发执行。 事务1 查询一行数据放在本地缓存,
2021-01-17 22:02:55 2231
原创 Mysql联合索引的使用索引下推、覆盖索引概念
Mysql联合索引的使用索引下推、覆盖索引概念 建立一张user表,id、name、age、address。建立联合索引(name,age)。 理解索引下推、覆盖索引的概念首先要理解,联合索引的普通索引的区别。 比如(name, age) 和 单独name索引的区别。 语句1: select * from user where name = “aaa” and age=10 此时用到的索引是联合索引,不过需要回表查询。 语句2: select * from user where name like “a
2021-01-09 21:12:22 673 2
原创 CURL使用
curl -H “Content-Type: application/json” -X POST -d ‘{“user_id”: “123”, “coin”:100, “success”:1, “msg”:“OK!” }’ “http://192.168.0.1:8001/test” curl -d ‘login=emma&password=123’ -X POST https://google.com/login
2021-01-08 11:23:05 70 1
原创 springboot秒杀系统第七弹
springboot秒杀系统第七弹 秒杀功能的实现及秒杀安全优化。 秒杀功能为了缓解数据库压力,采用rabbitmq,异步下单的方式,使用rabbitmq的好处常见有消峰,异步,解耦。 秒杀功能第一步1 秒杀接口地址隐藏,首先good_detail.htm界面如下: <!DOCTYPE HTML> <html > <head> <title>商品详情</title> <meta http-equiv="Content-Type
2021-01-07 21:08:20 80
原创 springboot秒杀系统第四弹
springboot秒杀系统第四弹 设计知识点:全局异常处理 1.定义全局异常 package com.rong.miaosha.exception; import com.rong.miaosha.result.CodeMessage; public class GlobalException extends RuntimeException{ private static final long serialVersionUID = 1L; private CodeMessage c
2021-01-03 11:59:04 127 1
原创 SpringBoot秒杀系统第五弹
SpringBoot秒杀系统第四弹 设计知识点,分布式Session,Springboot拦截器,参数解析器。 package com.rong.miaosha.service; import com.rong.miaosha.dao.MiaoshaUserDao; import com.rong.miaosha.model.MiaoshaUser; import com.rong.miaosha.redis.MiaoshaUserKey; import com.rong.miaosha.redis.R
2021-01-03 11:46:23 147 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人