- 博客(39)
- 资源 (8)
- 收藏
- 关注
原创 MySQL cpu飙升排查记录
如果没有发现慢sql记录,则需要换个思路,类似于程序while(true)执行,也是会导致cpu飙升的。全表扫描的话,表中记录一旦多起来,查询时间随之变大,加上查询频率一旦上去,则cpu就会上升。比如我这边的sql,发现explain结果中type为ALL,代表着全表扫描。永久生效就得改配置文件了,因为是排查问题,临时用一下就可以。找到消耗cpu的sql,然后可以使用explain分析。可以分析以下代码,是否有优化的点。一开始我们就会想到慢sql。定位到了问题,就容易解决了。
2024-12-12 17:23:10
242
原创 RSA加解密
所以只需要生成一对公钥和私钥,公钥给A方,私钥给B方即可进行加密通信。A方使用公钥进行加密,发送给B方,B方使用私钥进行解密。B方使用私钥进行加密,发送给A方,A方使用公钥进行解密。A方和B方,使用同一对公钥和私钥。
2023-10-09 10:14:47
228
原创 zookeeper安装配置采坑流程
复制上面的解压包:zk01,zk02,zk03。bin目录下文件是可执行文件。conf目录文件是配置文件。bin目录下执行start。
2023-08-17 15:07:25
351
原创 jenkins pipeline方式一键部署github项目
该篇使用jenkins pipeline-script一键部署jenkins环境配置前言:按照上篇创建pipeline任务,结果报mvn,jdk环境不存在,就很疑惑,然后配置全局属性就OK了。
2023-08-16 16:28:45
1156
原创 jenkins一键部署github项目
为啥不用docker安装jenkins,因为坑多,下面步骤,如果你们系统有jdk,mvn,git环境,就自动跳过。
2023-08-16 11:56:16
2003
原创 vm workstation pro安装centos7
这一步很重要,别急着点开始安装,看到有感叹号的东西,可以点进去看看然后再点完成。网络和主机名:未连接,点进去看看。
2023-08-10 14:38:53
93
原创 mysql binlog恢复误删的数据
此时,数据恢复了一部分,id为7的被更新,id=6的数据还在,id=8的数据未被改。mysql通过binlog日志恢复数据。然后跳过删除,执行更新id为8的数据。这个时候数据就已经恢复了。
2023-01-12 11:27:47
981
原创 oauth2实现免登录(springSecurity)
代码怎么写,原理等请参考阮一峰博客四种模式都讲的非常清楚,这里我就我遇到的问题做个记录什么用户存入数据库,客户端信息持久化,access_token存入redis等问题网上都可以搜到我所遇到的问题在获取code的时候,也就是 /oauth/authorize 接口(在AuthorizationEndpoint类中)User must be authenticated with Spring Security before authorization can be completed.这是没有登
2021-07-21 17:59:27
11712
原创 深入了解jdk动态代理和cglib动态代理
深入了解jdk动态代理和cglib动态代理核心总结全在图里面,这是针对上一篇博客进一步加深动态代理知识,看不懂先参考上一篇文章jdk动态代理cglib动态代理主要是生成的三个文件(注意,并不是同一时间生成的)后续将会继续探索FastClass机制为什么比反射快...
2021-02-25 09:50:15
163
原创 springboot整合redis cluster
1.redis安装参考(https://blog.youkuaiyun.com/u012198893/article/details/97114216)2.复制配置文件,修改配置文件,参考(https://blog.youkuaiyun.com/weixin_45123659/article/details/104776033)启动和关闭redis脚本(建议手打脚本,在网上复制的话,会有格式问题)在bin目录下,也就是有/redis-server 目录下,创建xxx.sh脚本,路径要写对,内容如下chmod u+x
2020-12-17 10:14:45
504
1
原创 Nginx部署前端vue项目
1.nginx使用参考:https://blog.youkuaiyun.com/qq_33661804/article/details/853406971.1 下载安装:下载wget http://nginx.org/download/nginx-1.13.6.tar.gz解压缩tar -zvxf nginx-1.13.6.tar.gzcd nginx-1.13.6安装./configure --with-http_ssl_module --with-http_gzip_static_module
2020-11-02 17:02:49
316
原创 ArrayList源码
对ArrayList常用的方法解读void trimToSize()改变list大小,使的其占用的空间大小等于list.sizevoid ensureCapacity(int minCapacity):确认空间大小是否够用int calculateCapacity(Object[] elementData, int minCapacity)计算空间大小private static int calculateCapacity(Object[] elementData, int minCapa
2020-08-08 16:10:13
120
原创 docker在elasticSearch容器中安装IK分词器插件
参考:https://www.cnblogs.com/szwdun/p/10664348.html主要说一下离线安装遇到的问题在线安装结果:可以看到,安装目录是 analysis-ik,而且目录下直接就是 离线安装包解压后的文件离线安装的问题应该就在这按照百度给的说法是,将解压好的 elasticsearch-analysis-ik-7.5.0 文件复制到容器plugins下创建的ik目录,这样生成的目录结构会是: 容器/plugins/ik/elasticsearch-analysis-ik
2020-08-05 09:39:24
597
原创 aliyun 对象存储oos及视频点播
一.对象存储1.准备阿里云官网:https://www.aliyun.com/?spm=5176.12818093.nav-right.dofficial.488716d0lAQiWy1.1 充几毛钱就行1.2找到对象存储oos1.3 免费开通,进入管理控制台,获取keyId和keySecret1.4 创建bucket(拿到bucketName和Endpoint)上述步骤可以拿到以下参数 String endpoint =PropertiesUtils.END_POINT;
2020-07-22 09:06:34
1870
原创 Spring5
一切从这段代码说起public ClassPathXmlApplicationContext(String configLocation) throws BeansException { this(new String[] {configLocation}, true, null); }实际上调用public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable Applic.
2020-07-09 15:37:06
124
原创 装饰者模式
装饰者模式:指在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更有弹性的方案,最本质的特征是将原有类的附加功能抽离出来,简化原有类的逻辑经典栗子:小王出去买早餐,走到山东杂粮煎饼老板门前:老板给我一个煎饼(不要煎,不要饼),给我加个鸡蛋,老板扒拉扒拉,快做好了,小王肚子咕噜咕噜叫,立马说,老板再加个鸡蛋。只见老板一句草,敲碎了鸡蛋放入快做好的煎饼中。折磨人的小王此时又面露邪恶的笑容,说道:老板再来一根火腿,老板只好紧紧捏住拳头,也不敢出手,只好照做…小王边走边吃着煎饼,走到一个巷子里,突然一.
2020-07-08 10:01:23
102
原创 适配器模式
一看到适配器模式,给我的感觉就是,卧槽,这不就是代理模式么,仔细研究一番,还是有一点区别上图上一部分是适配器模式,下一部分是代理模式又百度找了找概念知识适配器模式:旧的的接口业务满足不了客户端的需求,而旧的接口业务不能被完全重构(系统中还用的上),为了满足客户端新需求,新接口业务必须包含旧接口业务功能,同时可扩展满足客户端新需求代理模式:为其他对象提供一种代理以控制对这个对象的访问,实际上还是调用被代理的业务举一个简单一点的例子:小王换了一台小米6,由于某种原因,小王未收到typeC的充电器,
2020-07-07 16:28:55
90
原创 策略模式
面对三个同类型的业务逻辑,正常情况通过 if-else 选择,当该类型的业务增加,缺点就显而易见策略模式解决这个问题举个例子多种付款方式选择(支付宝,微信,银行卡,银联…),采用if-else选择的就比较臃肿,当新增付款方式,需要修改所有涉及到选择支付方式的代码,可想而知,难受。可以采用策略模式解决这种问题,通过一个Context类帮我们选择我,我们只需要提供一个flag参数,表明我们需要调用哪种业务下面通过代码加深对策略模式理解接口类public interface Payment { .
2020-07-07 09:48:29
134
原创 动态代理模式
代理图解客户端需要使用业务A,正常操作是new 接口,通过对象调用业务A代理模式:代理类拿到接口对象(委托类对象),并对委托类的实现类进行封装,同时可以对业务进行前置增强和后置增强1.静态代理用代码来解释上图接口(委托类)public interface Person { void findLove();}实现类public class PersonImpl implements Person { @Override public void fin
2020-06-30 15:45:35
3064
原创 单例模式
单例模式:确保一个类在任何情况下都是绝对只有一个实例1.饿汉式单例模式饿汉式单例模式在类加载的时候就初始化,并创建单例对象,绝对的线程安全,在线程还没有出现之前就实例化了,不可能存在线程安全问题优点没有加任何锁,执行效率较高,用户体验比懒汉式单例模式更好缺点类加载的时候就初始化,始终占用空间,浪费内存代码:public class HungrySingleton { private static final HungrySingleton hSingleton = new Hun
2020-06-30 10:23:50
133
原创 工厂模式
1.简单工厂模式1.1 正常的业务逻辑客户端通过new创建对象,通过对象调用业务中的方法1.2 简单的工厂模式客户端通过new Factory 拿到业务对象,调用其方法代码演示:接口public interface Course { /*录制视频*/ public void record();}模拟业务Apublic class JavaCourse implements Course { @Override public void record()
2020-06-29 15:15:58
2545
原创 springboot-微信授权登录(基础)2020.6
直奔主题,以最简单的方式1. 1内外网穿透推荐使用utools,安装…添加插件1.2 配置一下,超级简单的(如下)2. 微信公众号2.1 首先得有一个测试公众号:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login登录后2.2 找到公众号二维码(扫码关注)2.3 找到网页服务(配置网页账号)点击修改,填入你的授权回调页面的域名,这个域名就是1.2生成的穿透地址(去除https://),下图与1.2 不一致,因
2020-06-02 14:45:52
1612
3
原创 解析JPA 仓库repository中的findAll()方法
1.源码Page<T> findAll(@Nullable Specification<T> spec, Pageable pageable);(1) Specification spec 对象(2) Pageable pageable 对象下面是findAll()实现类public Page<T> findAll(@Nullable Specifi...
2020-01-08 15:29:47
35880
原创 Spring Security基于数据库认证遇到的一个小问题
问题描述:一个页面设有权限,只能是admin访问,数据库中有一条记录,包含username,password,role角色,当时将数据库的role角色置为admin…在输入账号和密码后登录验证是一直说没有权限,禁止访问?重点(必看):在配置configure中的hasRole(“admin”)设置权限时,在程序执行的过程中会变成hasRole(“ROLE_admin”),也就是说数据库中的获取的...
2019-11-27 15:34:00
250
RabbitMQ.md
2020-09-02
ActiveMq.md
2020-09-02
docker学习知识总结
2020-09-02
springcloud.md
2020-09-02
SpringBoot.docx
2020-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人