Welcome to heavy rain's website

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along wound destroy civilization

排查线上java程序高CPU占比代码

线上问题分析

java程序CPU占比过高分析一、Arthas分析高CPU占比代码Arthas官方文档地址:https://arthas.aliyun.com/doc/quick-start.html 1.1 启动Arthas在命令行下面执行(使用和目标进程一致的用户启动,否则可能attach失败): 12curl -O https://arthas.aliyun.com/ar......

MySQL高级

MySQL

MySQL高级一、MySQL简介MySQL 是⼀种关系型数据库,在Java企业级开发中⾮常常⽤,因为 MySQL 是开源免费的,并 且⽅便扩展。阿⾥巴巴数据库系统也⼤量⽤到了 MySQL,因此它的稳定性是有保障的。MySQL 是开放源代码的,因此任何⼈都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进⾏修改。MySQL的默认端⼝号是3306......

countDownLatch简介与基础使用

countDownLatch简介与基础使用

简介概念CountDownLatch允许一个或者多个线程去等待其他线程完成操作。 CountDownLatch接收一个int型参数,表示要等待的工作线程的个数。 当然也不一定是多线程,在单线程中可以用这个int型参数表示多个操作步骤。 方法CountDownLatch 提供了一些方法: 方法 说明await() 使当前线程进入同步队列进行等待,直到latch的值被减到0或者当前线......

spring容器注入实现策略模式

spring容器注入实现策略模式

背景一个项目对接多个系统的同一功能,或者同一功能多种实现的选择需求的策略模式实现。 Spring容器实现需求: 物质采购汉堡选择,可以选择采购肯德基或麦当劳 示例代码: 汉堡策略类上下文HamburgerContext: 12345678910111213141516171819@Componentpublic class HamburgerContext { /** ......

Async与Scheduled注解

Async与Scheduled

背景最近项目中使用了@Async与@Scheduled自定义线程池注解实现定时任务,特此记录实现及其原理。 @Async简介@Async是Spring 3.0之后提供的注解,使用@Async注解可以轻松的实现异步调用。 官方文档: https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/schedu......

Spring远程命令执行漏洞

Spring远程命令执行漏洞

Spring远程命令执行漏洞转载地址:https://mp.weixin.qq.com/s/BnF8CWuUxNliCoa260bEaA Spring RCE (远程代码执行漏洞)已被官方证实。 国家信息安全漏洞平台:https://mp.weixin.qq.com/s/BnF8CWuUxNliCoa260bEaA CVE: https://tanzu.vmware.com/secur......

GateWay漏洞

GateWay漏洞

描述2022年3月1日,Spring官方发布了关于Spring Cloud Gateway的两个CVE漏洞,分别为CVE-2022-22946与CVE-2022-22947: 漏洞1:Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947)3 月 1 日,VMware 官方发布安全公告,声明对 Spring Cloud Gateway 中的一处命令注入漏洞进......

Oracle与Mysql数据库区别

Oracle与Mysql数据库区别

(1) 对事务的提交 MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮 (2) 分页查询 MySQL是直接在SQL语句中写”select… from …where…limit x, y”,有limit就可以实现分页;而Oracle则是需要用到伪列ROWNUM和嵌套查询 oracle: 12345select * fr......

Dubbo四种负载均衡算法

Dubbo四种负载均衡算法

Dubbo四种负载均衡算法整体架构图可以看出抽象的负载均衡下的类分为4个,这4个类表示了4种负载均衡策略,分别是一致性Hash均衡算法、随机调用法、轮询法、最少活动调用法 原理RandomLoadBalance随机调用负载均衡,该类实现了抽象的AbstractLoadBalance接口,重写了doSelect方法,看方法的细节就是首先遍历每个提供服务的机器,获取每个服务的权重,然后累加权重......

Seata分布式事务

Seata分布式事务

Seata简介Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 官方网址 分布式事务问题分布式前 单机单库没这个问题 从1:1 -> 1:N -> N:N 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三三 个服务来完成。此时每个服务内部的数据一致性由本地事务来保......