自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(183)
  • 资源 (2)
  • 收藏
  • 关注

原创 java 应用 cpu 过高故障排查

前两天写了一个订阅消息队列程序传递到 Flink,将订阅到的每个数据添加到 Queue 队列中,使用了 while(true) 从消息队列取数据,程序能正常运行,后来发现 CPU 使用率过高,通过排查发现时 while(true) 引起的,现在模拟 cpu 过高排查过程。

2023-07-21 01:19:21 2894

原创 Fiddler 简单抓包

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。Fiddler抓包的原理。

2023-06-26 22:36:37 4353

原创 springboot 2.6.12 自定义解析 yaml 加密数据

为了保证项目的配置文件的安全性,需要对第三方组件 mysql、redis、es、mq 等用户名密码进行加密处理,可以使用现成的三方包 jasypt-spring-boot-starter 实现,可参考我另一篇文章由于项目需要使用国密算法, jasypt-spring-boot-starter 实现不太方便,下面简单介绍自定义实现解析 yaml 加密数据springboot 版本 2.6.12自定义 yaml 解密解析器 DecryptYamlPropertySourceLoader。

2023-06-07 13:08:39 3409

原创 MySQL 恢复误删数据

通过 vbs 脚本转换 sql 语句,当然也可以使用其他的语言,window 执行 vbs 不需要额外的环境,你只需要修改下面 vbs 文件中输入输出文件名以及编码类型即可。MySQL 恢复误删数据,针对 window 和 Linux 均适用,只需要找到对应的 binlog 目录文件,默认就是 MySQL 安装目录下的 data 文件夹。接下来只需要将上面的 delete 语句转换为 inert 即可恢复误删数据,如果需要转换的多可以通过代码自定义实现,主要就是将。转换结果如下,自行选择新增恢复数据。

2023-06-02 10:31:30 6596 2

原创 Flink 定时加载数据源

flink 自定义实时数据源使用流处理比较简单,比如 Kafka、MQ 等,如果使用 MySQL、redis 批处理也比较简单如果需要定时加载数据作为 flink 数据源使用流处理,比如定时从 mysql 或者 redis 获取一批数据,传入 flink 做处理,如下简单实现注意 flink 好多包从 1.15.0 开始不需要指定 Scala 版本,内部自带下面 pom 文件有 flink 两个版本 1.16.0 和 1.12.7(Scala:2.12)三、自定义数据源使用 Timer 定时任务(当然

2023-03-11 09:00:00 4963 2

原创 线程安全 List 效率测试

读多写少的情况下,推荐使用 CopyOnWriteArrayList 方式读少写多的情况下,推荐使用 Collections.synchronizedList() 和 Vector 差距不大。

2023-03-10 18:12:44 3512

原创 docker 搭建 flink 并上传任务

1.16.0-scala_2.12-java8 镜像版本说明,flink 1.16.0,flink 内置 scala 版本 2.12,Java 版本 8。如下两个容器启动成功,可以看到 web 端口为 18081,taskmanager 启动一个,包含 5 个任务槽。如下:注意运行需要设置启动参数,否则启动会找不到类,因为 pom.xml 文件 flink 相关包都添加了。打包项目:可以在 pom.xml 修改启动类,也可以在命令启动或者 ui 界面上传设置启动类参数。下面代码用来统计单词出现的的次数。

2023-02-23 16:27:00 11113 5

原创 根据参数位置解析多层 JSON 支持多维数组

最近有一个需求,需要用定时任务调用第三方接口,第三方接口前面可能有多层,即第三层传递的参数来自第二层接口返回的结果,参数需要在前台配置,参数是灵活配置的,如:第二层需要第一层返回结果的 token,需要通过 A.B.C 去解析 JSON 获取 token。直接上代码,代码比较简单,目前暂时满足需求,后续有修改再追加。比如如下 JSON,前端传递位置就能获取具体的值。

2022-11-14 18:57:51 4746 3

原创 jwt 保证前端刷新不掉线

JWT 本身是一个字符串,可以保存一些信息并设置过期时间,下面将用户名加密生成 token 字符串,token 用来校验登录状态是否过期,刷新不掉线原理,数据格式如下:以 token-1 为例说明JWT 详细使用可参考 https://yixiu.blog.csdn.net/article/details/118409124springboot 项目简单示例如下三、新增 jwt 工具类jwt 工具类包含,创建 token、校验 token、从 token 获取用户名

2022-11-09 18:23:45 4706

原创 线程池 ThreadPoolExecutor 简单使用

/* RejectedExecutionHandler 拒绝策略提供了如下四种* java.util.concurrent.AbortPolicy 抛出异常* java.util.concurrent.CallerRunsPolicy 交给主线程执行* java.util.concurrent.DiscardPolicy 丢弃不做任何处理* java.util.concurrent.DiscardOldestPolicy 移除队列第一个任务,添加当前任务。统计多线程运行时长

2022-10-29 14:55:19 4342

原创 autopoi-web 导入 excel 解决二级表头重复问题(含前端示例)

autopoi-web 实现导入重复二级表头,支持 .xls 和 .xlsx 导入、多 sheet 页导入、支持含密码导入、支持字段过滤

2022-10-28 19:42:32 5709

原创 autopoi-web 导出 excel 自定义样式(含前端示例)

实现导出重复列头,自定义 excel 样式,先看最终导出效果,导出含有特殊情况二级列头

2022-10-28 17:24:06 6621

原创 knife4j 美化 swagger 文档

spring.mvc.pathmatch.matching-strategy=ant_path_matcher 作用:spring 升级到 5.3.0 之后路径通配的配置发生了变化,我的 springboot 2.6.12, spring 5.3.23,需要配置,否则会报如下错误。knife4j 主要美化 swagger API 文档,Knife4j 3.0.3 向下兼容支持 swagger2 和 swagger 3,下面简单聊下 springboot 2.6.12 使用 swagger 2(

2022-10-18 15:04:46 5107

原创 springboot 可执行 jar 转 exe(含有前端页面)

将 B/S 架构的前后端分离项目制作成 exe 适合 window 系统双击运行的软件,服务端使用 springboot ,前端使用静态页面,最终制作的 exe 文件不需要配置 java 环境即可运行。

2022-10-17 18:54:08 5432 1

原创 jasypt-spring-boot 加密敏感信息

在后端开发中有很多敏感信息,比如数据库用户名密码,第三方 Apikey,云服务商的 secretKey 等、如果不希望用明文在 application.yml 配置的,可以使用 jasypt 加密这些字段。还有很重要的一点,如果你自己开源一些东西,将代码上传一些代码托管平台,肯定需要隐藏敏感信息,用 jasypt 加密可以简化每次上传下拉代码修改敏感信息。, 官方文档使用方法描述得很清楚适用于各种情况,下面我简单记录一下加密 MySQL 用户名密码方法。

2022-09-27 18:56:49 5523

原创 js 导出 excel

js 导出 excel

2022-09-26 11:03:27 11491

原创 window mysql 8.0忘记密码

管理员身份打开 CMD,进入 MySQL 安装目录,我的安装目录 F:\mysql-8.0.29-winx64。修改密码前,关闭刚才通过 cmd 命令行启动的 mysqld,需要启动系统的 mysql 服务。(如果 mysql 5.7 可输入 mysqld --skip-grant-tables),应该是一个以 DESKTOP- 开头的文件。启动系统服务,管理员进入 cmd,输入。关闭 mysql 服务有以下两种。...

2022-08-18 11:47:36 6690

原创 window 10 局域网同步时间(解决错误:This scheduler instance is still active but was recovered by another instanc)

在内网机使用 Quartz 时,一直在打印警告:错误原因:该 Quartz 定时任务被多台机器执行,各个机器之间时间不同步,Quartz为保证数据一致性,后启动的定时任务不会执行注意:下面操作在内网机实现,有些过程没有贴图解决办法如下保证 Quartz 定时任务只有一台机器执行,可在 Quartz 配置文件 quartz.properties,添加 或者在 springboot 配置文件 application.yaml 添加 参考 https://www.jianshu.com/p/9bd350dcd1

2022-07-08 20:26:03 12263

原创 Grafana+Prometheus+Windows_exporter+Mysql_exporter

接上一篇: k8s入门:kube-prometheus-stack 全家桶搭建(Grafana + Prometheus),监控 k8s 集群所有资源,我的集群是虚拟机搭建的,下面监控本机(window系统)资源 (可以选择不安装,直接使用 kube-prometheus-stack 全家桶自带的 Grafana),安装如下下载地址:https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&platform=windows

2022-07-05 19:57:07 9414

原创 k8s入门:kube-prometheus-stack 全家桶搭建(Grafana + Prometheus)

第一章:✨ k8s入门:裸机部署 k8s 集群第二章:✨ k8s入门:部署应用到 k8s 集群第三章:✨ k8s入门:service 简单使用第四章:✨ k8s入门:StatefulSet 简单使用第五章:✨ k8s入门:存储(storage)第六章:✨ K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间第七章:✨ k8s入门:配置 ConfigMap & Secret第八章:✨ k8s入门:k8s入门:Helm 构建 MySQL第九章:✨ k8s入门:kuberne

2022-07-01 22:18:27 13621 9

原创 k8s入门:kubernetes-dashboard 安装

第一章:✨ k8s入门:裸机部署 k8s 集群第二章:✨ k8s入门:部署应用到 k8s 集群第三章:✨ k8s入门:service 简单使用第四章:✨ k8s入门:StatefulSet 简单使用第五章:✨ k8s入门:存储(storage)第六章:✨ K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间第七章:✨ k8s入门:配置 ConfigMap & Secret第八章:✨ [k8s入门:k8s入门:Helm 构建 MySQL]https://yixiu.blog

2022-07-01 18:34:53 15842 2

原创 k8s入门:Helm 构建 MySQL

Helm 类似 npm,pip,docker hub, 可以理解为是一个软件库,可以方便快速的为我们的集群安装一些第三方软件。Helm 是查找、分享和使用软件构建 Kubernetes 的最优方式。使用 Helm 我们可以非常方便的就搭建出来 MongoDB / MySQL 副本集群,YAML 文件别人都给我们写好了,直接使用Helm 官网:https://helm.sh/zh/docs/Helm chart 仓库 Artifact Hub :https://artifacthub.io/packages/

2022-06-27 19:51:53 11545

原创 k8s入门:配置 ConfigMap & Secret

ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。ConfigMap 将你的环境配置信息和容器镜像 解耦,便于应用配置的修改。很多应用在其初始化或运行期间要依赖一些配置信息, 存在要调整配置参数所设置的数值的需求,ConfigMap 可以向 Pod 中注入配置数据。ConfigMap 不提供保密或者加密功能,加密数据可以使用 Secret 或其他第三方工具。ConfigMap 中保存的数据不可超过 1 MiB。ConfigMap 使用 data 和 binaryData 字段。这

2022-06-21 19:21:30 10249

原创 K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间

本篇文章使用 PersistentVolumeClaim (pvc) 结合资源对象 StorageClass (SC) 去动态申领 PersistentVolume (PV)本地 nfs 共享文件系统存储空间,SC 的根本作用就是根据 pvc 的定义来动态创建pv,不仅节省了我们管理员的时间,还可以封装不同类型的存储供 pvc 选用。每个 StorageClass 都包含以下三个重要的字段,这些字段会在sc需要动态分配pv时会使用到:每个 StorageClass 都有一个制备器(Provisioner

2022-06-20 23:01:51 11829 5

原创 k8s入门:存储(storage)

参考文章:接上篇 StatefulSet 管理有状态的应用,例如数据库时,当 pod 重启,重新创建会导致数据丢失,这篇博客介绍存储,主要介绍 Volumes、Persistent Volumes、Storage ClassesContainer 中的文件在磁盘上是临时存放的,这给 Container 中运行的较重要的应用程序带来一些问题。Kubernetes 卷(Volume) 能够解决上面这两个问题。可用:cephfs, configMap, downwardAPI, emptyDir, fc (光纤

2022-06-16 21:09:21 12504 1

原创 k8s入门:StatefulSet 简单使用

第一章:✨ k8s入门:裸机部署 k8s 集群第二章:✨ k8s入门:部署应用到 k8s 集群第三章:✨ k8s入门:service 简单使用StatefulSet 是用来管理有状态的应用,例如数据库。前面我们部署的应用,都是不需要存储数据,不需要记住状态的,可以随意扩充副本,每个副本都是一样的,可替代的。而像数据库、Redis 这类有状态的,则不能随意扩充副本。StatefulSet 会固定每个 Pod 的名字创建 redis-StatefulSet.yaml 文件,添加如下内容,配置文件添加了

2022-06-09 10:27:37 12138 1

原创 k8s入门:service 简单使用

✨ k8s入门:部署应用到 k8s 集群✨ k8s入门:裸机部署 k8s 集群利用 Deployment 可以创建一组 Pod 来提供具有高可用性的服务。虽然每个 Pod 都会分配一个单独的 IP,然而却存在如下两问题,可以通过 service 解决在 K8s 的 yaml 配置文件中,name 属性只能包含小写字母数字字符 和 -,并且端口名称还必须以字母数字字符开头和结尾。参考:https://www.jianshu.com/p/1a75963b5814四、ClusterIP 类型新建 test-

2022-06-08 16:29:20 11898

原创 k8s入门:部署应用到 k8s 集群

部署应用到 k8s 集群如果 dockerhub 上传为公共仓库,那么不需要下面验证,可以直接 docker pull 拉取,而不需要登陆准备 DockerHub 私人仓库,docker login 登陆仓库 ~/.docker/config.json 报错验证文件将准备好的 jar 上传到私人仓库,可参考我另一篇博客 https://blog.csdn.net/qq_41538097/article/details/106861717上传成功可以拉取镜像测试一下k8s集群,从 DockerHu

2022-06-07 18:27:55 14139

原创 VMware 安装 Linux(centos)系统

学习 k8s 时,租用云服务器便宜的性能不行经常卡,贵的划不来,想着本地搭建三个 Linux 虚拟机玩玩基础环境VMware:VMware-workstation-full-16.2.0-18760230Linux:CentOS-7-x86_64-DVD-2009下载 iSO 镜像VMware 下载地址(自行安装):https://customerconnect.vmware.com/en/downloads/details?downloadGroup=WKST-1621-WIN&pro

2022-05-24 19:00:46 12008

原创 k8s入门:裸机部署 k8s 集群

文章目录一、裸机部署 k8s 集群1、基础环境2、添加域名映射①、设置主机名 HostName②、三台服务器添加域名映射3、关闭相关服务①、关闭SELinux②、关闭防火墙3、添加 yum 源①、添加 k8s 的yum源②、添加 docker 的 yum源4、安装 k8s 组件启动 docker、kubelet 服务修改 docker 配置kubeadm 初始化集群(只需要在主节点跑)授权 node 节点访问集群工作节点加入集群安装网络插件部署应用到 k8s 集群k8s集群,从 DockerHub 拉取镜像

2022-05-20 15:32:31 19425 1

原创 Gateway 简单使用

文章目录简介核心概念导入核心依赖Predicate 常用参数配置filter 配置Default FiltersGlobal Filterssentinel + gateway 网关限流1、sentinel 添加网关流控项目2、route 维度①、yaml 配置②、代码配置③、sentinel 控制台④、添加 route 限流3、自定义 API 维度①、代码添加 API②、sentinel 控制台添加 API 分组③、sentinel 控制台④、添加 API 限流sentinel 网关限流处理逻辑1、yam

2022-05-09 21:22:48 14775

原创 zipkin 简单使用

简介zipkin 官网:https://zipkin.io/Zipkin 是一个分布式链路追踪系统。它有助于收集解决服务架构中的延迟问题所需的时间数据1、Sleuth 和 Zipkin 异同Sleuth 和 Zipkin 都是用来做分布式链路跟踪的,Zipkin 包含了 sleuth (指的 spring-cloud-starter-zipkin 包含 spring-cloud-starter-sleuth),Zipkin 分为服务端和客户端,服务端提供了一个 UI 监控界面,服务端指的每个服务2

2022-04-28 17:20:31 45685

原创 Sentinel 简单使用

该文章主要介绍 Sentinel 概念、 springcloud 对 Sentinel 的简单使用官方网站:https://github.com/alibaba/Sentinel/wiki/控制台概述Sentinel 是面向云原生微服务的流量监控,熔断降级组件。能够监控并保护你的微服务。1、Sentinel 的主要特性:2、Sentinel 分为两个部分核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等

2022-04-25 00:39:03 57069

原创 OpenFeign 简单使用

文章目录一、源码简单分析1、导入依赖2、自动导入类3、OkHttpFeignLoadBalancedConfiguration 类4、DefaultFeignLoadBalancedConfiguration 类5、小结二 、OpenFeign 配置 Http 连接池1、配置 Apache httpclient 连接池2、配置 OkHttpClient 连接池三、OpenFeign 简单测试1、SPRING-CLOUD-SERVICE-OPENFEIGN 服务 bootstrap.yaml 配置2、调用测试

2022-04-18 18:49:30 16301 1

原创 spring-cloud-starter-alibaba-nacos-discovery 启动服务发现

Springcloud的RestTemplate 使用服务名报异常 java.net.UnknownHostException添加 @LoadBalanced 注解@Configurationpublic class RestTemplateConfig { @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); }} Respo

2022-04-08 11:50:51 18873 2

原创 spring-cloud-starter-alibaba-nacos-config 启动配置管理

nacos spring-cloud 参考地址: https://nacos.io/zh-cn/docs/quick-start-spring-cloud.htmlSpring Cloud Alibaba Nacos Config 参考地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config版本对应说明: https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明说明

2022-04-07 21:01:35 17289

原创 nacos-discovery-spring-boot-starter 实现服务的注册与发现

nacos-discovery-spring-boot-starter 实现服务的注册与发现

2022-04-07 12:51:54 16779

原创 nacos-config-spring-boot-starter 配置动态变更

官方地址:Nacos Config Spring Boot 0.3.1nacos-config-spring-boot-starter 配置动态变更1、命名空间如果命名空间(namespace)是默认的 public 则可以不指定,如果是其他命名空间必须在 application.properties 中指定如: nacos.config.namespace=2022-4-1-dev,一个项目只能引用一个命名空间,命名空间一般常分为 默认(public 不可删)、自定义(dev、prod、test)

2022-04-01 16:02:11 15988 7

原创 Nacos 下载启动、配置 MySQL 数据库

官方网站:https://nacos.io/zh-cn/docs/quick-start.htmlNacos 快速开始下载地址:https://github.com/alibaba/nacos/releases开启 nacosLinux/Unix/Mac启动命令(standalone代表着单机模式运行,非集群模式):sh startup.sh -m standalone如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:bash startup.sh -

2022-03-30 22:02:42 18176 1

原创 Apache HttpComponents 简单使用

官网 https://hc.apache.org/参考 https://www.cnblogs.com/lrzy/articles/15667814.html简介Apache Commons HttpClient(或被称为 Apache HttpClient 3.x)、Apache HttpComponents Client(或被称为 Apache HttpClient 4.x)HttpComponents 项目就是专门设计来简化 HTTP 客户端与服务器进行各种通讯编程。现在的 HttpComp

2022-03-28 21:45:05 18136

Xmanager Power Suite 7 压缩包,包括Xshell,Xftp,Xlpd。

1、资源描述 压缩包包含所有Xshell软件,包括Xshell,Xftp,Xlpd。 Xmanager Power Suite 7是一款功能强大、体积小巧的远程管理软件,可以让用户Windows环境下浏览远端X窗口系统的工具,方便用户在windows平台下连接远程服务器进行管理操作,支持一键连接到unix、linux服务器系统进行文件的管理操作,提供强大的回话管理控制台和易于使用的X应用程序启动器 2、安装方法: ①、解压任意一个文件 XmanagerPowerSuite-7.0.0018.7z (如果系统提示病毒,点击保留文件) ②、修改计算机系统时间早于 2022.05.01 日 ③、点击 XmanagerPowerSuite-7.0.0018.exe 安装 ④、安装成功 将 NetSarang.7.x.Patch.exe 复制到安装目录下运行,点击应用即可

2022-08-15

Wireshark-win64-3.0.10.exe

Wireshark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。Wireshark拥有强大的过滤器引擎,用户可以使用过滤器筛选出有用的数据包,排除无关信息的干扰。

2020-05-12

InfluxDBStudio-0.1.0.rar

InfluxDBStudio是influxDB可视化工具,有以下功能1.新建连接,填写用户名和密码(默认都是root)2.创建连接后,展开数据库可进行sql操作(只能通过sql语句操作数据)3.支持一些常用函数查询

2020-05-12

空空如也

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

TA关注的人

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