JVM问题排查
Java 应用线上问题排查思路、工具小结1一、CPU 利用率高/飙升
❝
注:CPU使用率是衡量系统繁忙程度的重要指标。但是「CPU使用率的安全阈值是相对的,取决于你的系统的IO密集型还是计算密集型」。一般计算密集型应用CPU使用率偏高load偏低,IO密集型相反。
❞
「常见原因:」
频繁 g ...
aop实现读写分离
读写分离很难吗?SpringBoot结合aop简单就实现了前言入职新公司到现在也有一个月了,完成了手头的工作,前几天终于有时间研究下公司旧项目的代码。在研究代码的过程中,发现项目里用到了Spring Aop来实现数据库的读写分离,本着自己爱学习(我自己都不信…)的性格,决定写个实例工程来实现spri ...
分布式Id
背景ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需 ...
分布式Session
总体介绍服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服 ...
单例设计模式
为什么要用单例模式?手写几种线程安全的单例模式?简单来说使用单例模式可以带来下面几个好处:
对于频繁使用的对象,可以省略创建对象所花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销;
由于 new 操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻 GC 压力,缩短 GC 停顿 ...
事务全知道
什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行。
Guide 哥:大家应该都能背上面这句话了,下面我结合我们日常的真实开发来谈一谈。
我们系统的每个业务方法可能包括了多个原子性的数据库操作,比如下面的 savePerson()方法中就有两个原子性的数据库操作。这些原子性的数据库操作是有 ...
分布式事务
分布式事务面试官问:你讲讲分布式事务问题的几种方案?
两阶段提交方案/XA方案
TCC 方案
本地消息表
可靠消息最终一致性方案
最大努力通知方案
你们公司是如何处理分布式事务的?
什么是分布式事务众所周知,数据库能实现本地事务,也就是在同一个数据库中,你可以允许一组操作要么全都正确执行,要么全都 ...
海量数据处理
重要思想1、分治法,hash运算将有相同特征的值放到同一个文件中
2、bitMap位图法,求解数据重复问题
3、使用堆排序,解决topN问题,PriorityQueue是堆实现的
4、HashMap统计有限key的value次数,HashSet去重
单位换算1 GB ≈ 10^3^ MB ≈ 10^ ...
网络相关基础
HTTP 和 HTTPS 的区别HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),**HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范
HTTPS 的全称是 Hypertext Transfer Protocol ...
数据库
数据库三范式范式就是规范,要满足第二范式必须先满足第一范式,要满足第三范式,必须要先满足第二范式。
1NF(第一范式):列数据不可分割,即一列不能有多个值
2NF(第二范式):主键(每一行都有唯一标识)
3NF(第三范式):外键(表中不包含已在其他表中包含的非主关键信息)
count(1)、co ...