自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 收藏
  • 关注

原创 Redis分布式锁

redis分布式锁实现

2024-12-22 00:52:37 504

原创 Redis梳理

要么所有的命令都被处理,要么一个都没有,所以Redis事务也是原子的。EXEC命令触发事务中所有命令的执行,因此,如果客户机在调用EXEC命令之前在事务上下文中断开与服务器的连接,则不会执行任何操作,相反,如果调用EXEC命令,则会执行所有操作。LFU类似于LRU:它使用一个概率计数器,称为Morris计数器,以便仅使用每个对象的几个位来估计对象访问频率,再加上一个衰减周期,以便计数器随着时间的推移而减少:在某些情况下,我们不再希望将密钥视为频繁访问的,即使它们在过去,从而使算法能够适应访问模式的变化。

2024-12-22 00:48:08 1194

原创 kubernates实战

kubernates实战

2024-12-22 00:38:29 533

原创 minikube安装

minikube安装

2024-12-22 00:34:05 466

原创 kubeadm搭建k8s集群

kubernates搭建

2024-12-22 00:32:05 544

原创 Kubernates

k8s

2024-12-22 00:24:53 573

原创 ArrayList源码解析

ArrayList源码

2024-12-21 23:54:51 332

原创 长轮询DeferredResult原理

DeferredResult原理

2024-12-21 23:47:24 226

原创 Spring Cloud OpenFeign

spring cloud openfeign入门

2024-12-21 23:45:03 945

原创 OpenFeign自定义本地调用负载均衡器

spring cloud 负载均衡

2024-12-21 23:37:05 246

原创 OpenFeign源码

spring cloud openfeign源码解析

2024-12-21 23:32:50 1033

原创 Spring Cloud Gateway

spring clodu gateway 入门

2024-12-21 23:28:10 767

原创 Spring Cloud Gateway 源码

网关会在各种过滤器处理后(根据配置的过滤器修改请求信息,重写路径等),最后转发到对应服务,核心就是通过NettyRoutingFilter来实现的。到此Spring Cloud Gateway的核心处理逻辑就分析完了,主要是针对核心逻辑链路的处理,很多细节都没深入,有兴趣可以自行debug看看。3.WebHandler生成FilterChain过滤器链执行所有的过滤器。具体的处理逻辑 webHandler.handle(exchange)每个过滤器执行完,重新封装新的过滤器链,过滤器链索引+1继续执行。

2024-12-21 23:08:55 793

原创 Eureka服务注册源码

euraka服务注册的源码分析

2024-12-21 22:58:51 753

原创 Mysql高级知识体系整理

mysql高级知识脉络

2023-02-27 16:58:14 243 4

原创 生产环境sql优化记录:大表join性能优化

sql优化

2023-02-14 17:56:58 303

原创 mongodb常用命令

查看WiredTiger内部缓存到底占用了多少内存的方式是,在mongo shell中之行以下命令db.runCommand( { serverStatus: 1 } ).wiredTiger.cache["bytes currently in the cache"]运行时修改mongodb可缓存数据db.adminCommand({setParameter: 1, wiredTigerEngineRuntimeConfig: "cache_size=2G"})...

2022-04-14 09:42:04 485

原创 检测到弱密码套件:不支持完全前向保密

服务器支持以下较弱的密码套件:ID 名称 SSL 版本47 TLS_RSA_WITH_AES_128_CBC_SHA TLS 1.253 TLS_RSA_WITH_AES_256_CBC_SHA TLS 1.260 TLS_RSA_WITH_AES_128_CBC_SHA256 TLS 1.261 TLS_RSA_WITH_AES_256_CBC_SHA256 TLS 1.2156 TLS_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2157 TLS_RSA_WITH_

2022-03-31 11:24:14 5031

原创 MySQL从节点同步失败问题记录

1、原因:记录一次线上运行过程中,发现从节点同步失败问题。2、问题排查show slave status发现同步失败的原因是主库创建账号,故停止同步,并且跳过执行的错误sql,继续从下一条SQL开始同步3、解决:跳过错误SQL并恢复同步mysql> stop slave;mysql> set global sql_slave_skip_counter = 1;mysql> start slave;mysql> show slave status \G...

2022-03-19 15:32:22 880

原创 MySQL定时执行存储过程

1、创建存储过程CREATE DEFINER=`root`@`%` PROCEDURE `synData`()BEGIN drop table if exists user; create table user select * from rych.user;END2、创建定时任务事件CREATE DEFINER=`root`@`localhost` EVENT `loop_syn` ON SCHEDULE EVERY 20 MINUTE STARTS '2022-03-18 03:0

2022-03-18 23:59:17 3791

原创 永久修改Linux最大打开文件数

tips: 使用root用户修改linux的软硬件限制文件/etc/security/limits.conf.在文件尾部添加如下代码:* soft nofile 65536* hard nofile 65536

2022-03-10 12:57:07 516

原创 Linux创建超级用户,禁止root远程登录

1、创建用户adduser maintain2、修改密码passwd maintain3、加到root用户组usermod -g root maintain4、添加到suduers1)修改权限chmod u+w /etc/sudoers2)编辑3)vim /etc/sudoers 添加和root一样的权限root ALL=(ALL) ALLmaintain ALL=(ALL) ALL4)撤销权限chmod u-w /etc/sudoers

2022-01-07 10:08:23 2815

原创 nginx配置前缀后前端404问题解决

配置1、publicPath: “./”2、nginx配置/aaa前缀location /aaa { root /opt/zhjg/page; index index.html;} /op

2022-01-04 21:26:36 2304

原创 docker registry查看镜像和版本

查看镜像列表http://ip:5000/v2/_catalog查看镜像所有tag版本http://ip:5000/v2/zhjg/镜像名/tags/list

2021-12-22 11:34:02 3046

原创 app内嵌h5缓存导致更新不及时问题

解决: location / { root /home/ywtg/page/h5/dist; index index.html index.htm; add_header Cache-Control "no-store,max-age=0";}

2021-12-20 19:55:24 2092

原创 Linux磁盘相关命令以及磁盘分区和挂载

常用命令1、查看磁盘容量df -h2、查看磁盘并显示文件系统类型df -hT3、显示出所有挂载和未挂载的分区,但不显示文件系统类型fdisk -l4、查看未挂载的文件系统类型,以及哪些分区尚未格式化parted -l5、列出所有可用块设备的信息,但是不会列出RAM盘的信息,能查看未挂载的文件系统类型lsblk -f磁盘分区流程:开始分区fdisk /dev/sda接下来输入命令完成分区磁盘挂载流程:1)查看未挂载磁盘fdisk -l2)格式化磁盘先查看需要要挂载目录的文

2021-11-23 16:12:48 2165

原创 MultipartException: Failed to parse multipart servlet request; nested exception is java.lang.Runtime

1、错误日志org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileException: /tmp/undertow.8081.6091954911906268442/undertow2435234810596519507upl

2021-11-08 23:05:14 5613

原创 hash冲突解决方案

1、链地址法HashMap中发生hash碰撞时使用的就是这种方法,会以链表方式存储hash冲突的元素。当链表过长的时候必须要扩容,否则查找性能随着链表的长度增长而下降。2、开放定址法当哈希碰撞时,按照算法的特定方式去往下寻找到下一个空的散列桶。如图77跟48碰撞,按照规定的算法往下查找到槽位为20是空的,所以77会放到20的槽位上。同理,插入78时,跟77发生哈希冲突,因为77移位占了他的位置,所以78也会往后找到空的槽位,因此放到了21槽。这种方式会可能会导致哈希聚集在一起,从而导致后续更频繁

2021-09-18 10:21:14 751

原创 springkafka集成后给kafka集群发送失败(cluster authorization failed)

1、kafka集群使用的是SASL/SCRAM-SHA-256认证sasl-mechanism: SCRAM-SHA-256security-protocol: SASL_PLAINTEXTsasl-jaas-config: org.apache.kafka.common.security.scram.ScramLoginModule required username="admin" password="Wisebrain@20210621";解决方案:https://stackoverflo

2021-09-16 21:51:03 3191

原创 pdf预览下载

1、有word模板可以先转成PDF,或者直接PDF模板下面是word转pdf在线网站http://www.pdfdo.com/doc-to-pdf.aspx2、下载Adobe Acrobat编辑pdf表单(aaa.pdf)可以在PDF里面添加文字域,图片域,后续可以根据域的名称来填充对应的内容1)注意用Acrobat打开PDF后,需要编辑表单(准备表单)形式,然后可以输入文字域等2)域的名称就是后续代码封装的map中的key,3)可以双击编辑域的文字大小,位置对齐,自动换行(选项卡选中多行)

2021-09-16 11:24:22 927

原创 java实现pdf预览和下载

1、引入依赖<dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.2</version> </dependency> <dependency>

2021-08-19 18:08:25 3767

原创 ffmpeg常用命令

1、视频转码将dav转化为mp4格式ffmpeg -i 2021-08-10.dav -codec copy 11.mp42、视频截取ffmpeg -ss 00:00:10 -i 11.mp4 -t 10 -c copy 22.mp4

2021-08-11 15:05:54 1285

原创 Synchronized底层原理

一、线程安全问题缘起:count++是一个线程不安全操作,想要保证该操作线程安全,必须使用加锁机制,那么可以使用Synchronized关键字来实现加锁。1)synchronized修饰同步方法/** * 线程不安全的数值序列生成器 * @author whf * @create 2021/5/30 */public class UnsafeSequence { private int count; public synchronized void addCount()

2021-06-27 22:42:01 258

原创 volatile底层原理

1、测试代码public class VolatileDemo { public static void main(String[] args) { FlagThread flagThread = new FlagThread(); new Thread(flagThread).start(); for (; ; ) { if (flagThread.isFlag()) { System.ou

2021-06-27 22:18:37 309 1

原创 转载:kafka通过外网映射无法访问

百度结果:https://www.orchome.com/1903https://www.pianshen.com/article/81081973468/https://segmentfault.com/a/1190000020715650

2021-06-22 22:21:01 698 4

原创 线程池源码解析

1、通过Executors创建线程池的四种方式1)创建单个线程的线程池该线程池使用单个线程在无界工作队列中执行任务,如果此单个线程在执行过程中由于故障而终止,则会分配一个新的线程来执行后续的任务。工作列队中的任务保证按顺序执行,并且保证在任意时刻都不会有多个任务处于活动状态。与newFixedThreadPool(1)返回的执行器不同,newSingleThreadExecutor()不允许重新配置线程数以使用多个线程。public static ExecutorService newSingleTh

2021-06-21 00:32:11 146 1

原创 mongodb常用命令

1、查看WiredTiger内部缓存占用db.runCommand( { serverStatus: 1 } ).wiredTiger.cache["bytes currently in the cache"]2、运行时修改mongodb可缓存数据db.adminCommand({setParameter: 1, wiredTigerEngineRuntimeConfig: "cache_size=2G"})3、查看存储引擎db.serverStatus();4、查看数据库show d

2021-06-03 01:18:57 520

原创 Docker中文乱码和时间不一致问题

1、问题描述docker运行微服务,当访问服务接口插入中文数据时,数据库中显示乱码,考虑可能是docker容器编码问题,需要修改dockerfile文件在运行时默认或者指定字符编码2、dockerfile加入 ENV LANG C.UTF-8FROM livingobjects/jre8VOLUME /logsEXPOSE 8100ENV LANG C.UTF-8 PROFILE=test XMS=512M XMX=512MARG JAR_FILEADD ${JAR_FIL

2021-05-10 13:16:01 354

原创 IDEA上传项目到内部gitlab

1、gitlab上创建项目,选好项目所属的group2、复制clone的http地址3、到idea创建git仓库选择项目的目录4、 初始化git仓库之后都是红色,即还没add状态,执行add和commit操作5、选择push时,定义远程仓库,填入gitlab的clone http地址后,直接push即可...

2021-04-29 15:11:53 160

原创 策略模式+工厂模式优化if-elseif结构

以监听zookeeper watacher为例,可以看出监听不同事件触发处理逻辑中有很多if-elseif结构public class ZkDemo implements Watcher { private static final String connectString = "localhost:2181"; private static Stat stat = new Stat(); private static CountDownLatch countDownLatc

2021-04-20 18:26:36 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除