摘要: 1. 类加载器初始化以及加载过程 类加载过程 加载:在硬盘上查找并通过IO读入字节码文件,使用到类时才会加载,例如调用调用类的 main()方法,new对象,在加载阶段会在内存中生成一个代表这个类的 java.lang.Class对象,作为这个类的各种数据的入口。 验证:校验字节码文件的正确性 准备 阅读全文
posted @ 2022-01-18 18:38 雾里看花的少年 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Mysql的优化,一般是对索引优化,这里主要以innodb为主 索引是帮助MySQL高效获取数据的排好序的数据结构,排好序是索引数据结构的特点,也是索引优化的前提。 1. 索引数据结构 索引底层使用B+树作为其底层存储结构。相较于二叉树、红黑树、hash表、B树而言,B+树有自己独特的优势。 B+树 阅读全文
posted @ 2021-11-03 18:02 雾里看花的少年 阅读(1148) 评论(0) 推荐(0) 编辑
摘要: Netty实现简单DubboRpc 1. RPC 基本介绍 RPC(Remote Procedure Call)—远程过程调用,是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程 两个或多个应用程序都分布在不同的服务器上,它们之间的调 阅读全文
posted @ 2021-08-10 22:24 雾里看花的少年 阅读(61) 评论(0) 推荐(0) 编辑
摘要: linux组和权限相关操作 阅读全文
posted @ 2017-11-11 21:44 雾里看花的少年 阅读(237) 评论(0) 推荐(0) 编辑
摘要: linux学习之vim的使用,一大助力啊 阅读全文
posted @ 2017-11-11 20:14 雾里看花的少年 阅读(165) 评论(0) 推荐(0) 编辑
摘要: linux学习的基本命令,服务端必备 阅读全文
posted @ 2017-11-11 18:12 雾里看花的少年 阅读(244) 评论(0) 推荐(0) 编辑
摘要: java 阅读全文
posted @ 2017-09-23 21:16 雾里看花的少年 阅读(1880) 评论(0) 推荐(0) 编辑
摘要: 我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解 阅读全文
posted @ 2023-03-13 22:45 雾里看花的少年 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 索引的本质:索引是帮助Mysql高效获取数据的排好序的数据结构 1. 索引的数据结构 1.1 二叉树 问题: 树的深度比较深,查询一个索引会有很多的磁盘I/O 1.2 红黑树 平衡二叉树 问题: 平衡二叉树会对树进行平衡,但是当数据有100万时,2^20 = 1024 * 1024 ,此时树的高度就 阅读全文
posted @ 2023-03-09 22:54 雾里看花的少年 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1.数据准备 创建表 CREATE TABLE `employees` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int NOT NULL DEFAUL 阅读全文
posted @ 2023-03-09 22:48 雾里看花的少年 阅读(38) 评论(0) 推荐(0) 编辑
摘要: jvm-内存调优 1. jvm内置命令 jps 列出正在运行的jvm虚拟机进程,并显示虚拟机执行朱磊名称以及这些进程的本地虚拟机唯一ID -q : 仅输出进程id -m : 输出main方法的参数 -l : 输出完整的包名(应用主类名) -v :输出jvm参数 -V : 输出通过flag文件传递到J 阅读全文
posted @ 2023-02-23 21:21 雾里看花的少年 阅读(71) 评论(0) 推荐(0) 编辑
摘要: jvm-垃圾回收机制 1. 垃圾收集算法 分代收集理论: 当前虚拟机的垃圾收集都采用分代收集算法,一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复制算法。只需要付出少量对象的复制成本就可以 阅读全文
posted @ 2023-02-23 21:20 雾里看花的少年 阅读(42) 评论(0) 推荐(0) 编辑
摘要: jvm-内存模型 1. 内存模型 JVM内存参数设置 堆 -Xms 表示java虚拟机堆区内存初始内存分配的大小 -Xmx 表示java虚拟机堆区内存可被分配的最大上限 新生区 -Xmn 表示java虚拟机年轻代大小 方法区 -XX:MaxMetaspaceSize 设置元空间的最大值,默认为-1, 阅读全文
posted @ 2023-02-23 21:18 雾里看花的少年 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 事务失效场景注意 spring 事务时通过spring aop实现的,通过this关键字调用方法时,没有通过代理类代理方法,导致事务失效 Spring的默认的事务规则是遇到运行异常(RuntimeException)和程序错误(Error)才会回滚。或者指定回滚异常 自己捕获异常 方法定义非publ 阅读全文
posted @ 2022-09-23 17:50 雾里看花的少年 阅读(117) 评论(0) 推荐(0) 编辑
摘要: SELECT message_id+1 from message_transmit_record a where not EXISTS ( select * from message_transmit_record b where b.message_id=a.message_id+1 ) AND 阅读全文
posted @ 2022-09-13 19:29 雾里看花的少年 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 1.配置类 @Primary @Bean("clusterObjectRedisTemplate") public RedisTemplate<String, Object> objectTemplate(RedisConnectionFactory factory) { RedisTemplate 阅读全文
posted @ 2022-07-18 17:28 雾里看花的少年 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 今天遇到了一个列表分页查询很慢的接口 1. 分析列表查询语句 列表查询语句关联了大约5张表,最后sql打印了limit 0,20 将sql放到数据库执行,500ms,语句分析索引全部命中 所以慢这里并不是列表查询慢 2. 分析count(*)语句 打印sql日志,可以看到count(*)的执行耗时达 阅读全文
posted @ 2022-05-17 19:45 雾里看花的少年 阅读(270) 评论(0) 推荐(0) 编辑