demo
文章平均质量分 74
privateobject
is null
展开
-
spring-boot redis stream消息队列demo-及死信简单处理
Redis stream 是 Redis 5 引入的一种新的数据结构,它是一个高性能、高可靠性的消息队列,主要用于异步消息处理和流式数据处理。rocketmq 在 window关机后重启,broker因为json文件损坏无法启动,使用 redis stream 替换的demo说明原创 2024-01-26 15:17:03 · 1260 阅读 · 1 评论 -
【Git】git仓库完整迁移
代码仓库,在公司有两个团队在做,并且gitlab所在环境不互通。有一个团队做的时间久一点,另一个团队想要用并做一些定制。就需要将代码转移到另一个gitlab管理。原创 2023-07-24 18:16:40 · 1337 阅读 · 0 评论 -
java 中 list集合 截取 函数
Java list有几十万条数据,每100条为一组取出解决“java 中 list集合中有几十万条数据,每100条为一组取出来如何实现,求代码!!!”的问题。原文链接:实现java 中 list集合中有几十万条数据,每100条为一组取出/*** 实现java 中 list集合中有几十万条数据,每100条为一组取出* @param list 可穿入几十万条数据的List* @re...原创 2019-12-04 09:59:15 · 4778 阅读 · 2 评论 -
jdk8-获取本机ip、判断ip范围、ip与long互转等
> 在配置nginx的ip白名单时候,会通过ip段进行配置(如 10.10.10.10/24),就在思考这种配置怎么通过代码解析并判断,故通过搜索网络内容,并通过java编写测试代码。代码及说明来源网络,并进行了部分调整。故有疑问请提出来,本人小白一枚,勿喷> 代码内容:获取本机ip、判断ip范围、ip与long互转等原创 2022-12-13 15:30:53 · 498 阅读 · 1 评论 -
java测试示例-生成ULID
ULID全称Universally Unique Lexicographically Sortable Identifier,直译就是通用唯一按字典排序的标识符,特点:UUID兼容、高性能、字母顺序排序、标准编码为26个字符的字符串、使用Crockford的base32算法来提高效率和可读性(每个字符5 bit)、不区分大小写、没有特殊字符串(URL安全,不需要进行二次URL编码)、可单调排序(正确地检测并处理相同的毫秒,所谓单调性,就是毫秒数相同的情况下,能确保新ULID随机部分的在最低有效位上加1位原创 2022-12-06 12:02:30 · 2391 阅读 · 0 评论 -
springBoot集成mybatis使用ResultHandler返回map数据类型
> 在 springBoot 的 web 项目中,平时查询数据返回都是:集合 list 、实体类 bean 、数量 int / long 。如果返回 map ,也是`Map`或`Map`,直接返回`Map`或`Map`会报错,通过查询得知,可以使用 ResultHandler 实现。> ResultHandler,对返回的结果进行处理,最终得到自己想要的数据格式原创 2022-10-17 17:41:25 · 3064 阅读 · 0 评论 -
浏览器-基本认证(Basic Authentication)-摘要认证(digest authentication)=spring boot实现demo
> 平时开发的 java web 网站登录,都是通过表单提交登录信息。有时一些中间件登录是浏览器弹窗,没有看到表单实现代码。故通过查询,发现两种 HTTP 简单认证: 基本认证( Basic Authentication )、摘要认证( digest authentication )等,本次通过 java实现 spring boot 基本和摘要认证。原创 2022-10-09 16:37:46 · 2398 阅读 · 0 评论 -
SpringBoot替换容器内注入的Bean
> 在开发的过程中,经常引入别人写的jar包实现某功能。而别的jar包一般都自动注入Spring容器中,假设都是通过@Bean、@Service或@Component注入的,并且没有加入@ConditionalXXX等注解,导致无法替换掉别人的实现,假设这时就想替换掉,那该如何实现呢?> 1. BeanDefinitionRegistry 是一个接口,它定义了关于 BeanDefinition 的注册、移除、查询等一系列的操作。> 2. BeanDefinitionRegistryPostProcess原创 2022-10-08 17:02:24 · 3767 阅读 · 0 评论 -
java方法-处理命名方式互转(蛇形和驼峰形)-在线测试
> 参数的命名方式:蛇形法 全由小写字母和下划线组成,在两个单词之间用下滑线连接即可, :first_name、last_name驼峰法是当变量名或函式名是由一个或多个单词连结在一起,而构成的唯一识别字时, 第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母, :firstName、lastName> 可读性:蛇形用下划线拉大词距,更清楚易读;驼峰的变量名紧凑,节省行宽易写性:驼峰以大小写为区分,不引入额外的标识符;蛇形统一小写,输入相对方便原创 2022-09-20 16:40:09 · 1327 阅读 · 0 评论 -
Prometheus认证访问-grafana配置-安装mysql和redis的节点监控
> Prometheus 对其安全模型做了修改 , 后续其他的组件,都将支持 TLS 和 basic auth, 同时也列出了最新的安全基准(默认情况下都支持 TLS v1.2 及以上)> htpasswd建立和更新存储用户名、密码的文本文件, 用于对HTTP用户的basic认证> mysql_exporter是用来收集MysQL或者Mariadb数据库相关指标的,mysql_exporter需要连接到数据库并有相关权限。> Prometheus也可以用redis_exporter来监控Redis。.原创 2022-08-17 18:37:58 · 1439 阅读 · 1 评论 -
prometheus基于文件发现及热加载
> Promtheus的时序数据库在存储了大量的数据后,每次重启Prometheus进程的时间会越来越慢。 而在日常运维工作中会经常调整Prometheus的配置信息。> Prometheus提供了在运行时热加载配置信息的功能。> 2. **发送一个POST请求到 /-/reload** ,需要在启动时给定 --web.enable-lifecycle 选项> prometheus支持服务发现(也是运维最佳实践经常采用的):> - **file_sd_configs** ...原创 2022-08-17 11:16:12 · 1157 阅读 · 1 评论 -
nginx代理后打开grafana页面If you‘re seeing this Grafana has failed to load its application files
> 在学习开源监控prometheus和grafana的时候,通过nginx代理无法访问grafana问题记录。在调整grafana的ini文件后,直连grafana是没问题,通过nginx代理访问页面报错如下。> If you're seeing this Grafana has failed to load its application files> 1. This could be caused by your reverse proxy settings....原创 2022-08-16 16:29:02 · 7553 阅读 · 0 评论 -
Prometheus抓取springBoot指标并grafana可视化
> Prometheus是一套开源的监控&报警&时间序列数据库的组合,基于应用的metrics来进行监控的开源工具 。业务集成Prometheus这个事情分为两步> - 第一步业务方Prometheus tragets收集好指标metrics后,以接口的形式暴露出来。> - 第二步Prometheus Server会对业务方暴露的接口发起HTTP调用pull metrics> 最后Prometheus拿到业务方收集好的指标后,以图形化界面展示出来Prometheus web UI、Grafana。原创 2022-08-12 17:23:50 · 968 阅读 · 1 评论 -
GitLab CI/CD 自动化部署-springBoot-demo示例
> CI/CD 的核心概念是持续集成、持续交付和持续部署> - CI 持续集成(Continuous Integration)> - CD 持续交付(Continuous Delivery)> - CD 持续部署(Continuous Deployment)> GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。> GitLab 是支持CI/CD的.........原创 2022-08-10 14:48:15 · 625 阅读 · 1 评论 -
jdk 8-future 异步处理-轮询isDone判断完成-springBoot示例
Future接口用于获取异步计算的结果,可通过get()获取结果、cancel()取消、isDone()判断是否完成等操作。get阻塞方式,任务不是最早结束的就能得到结果值,是按照自定义key的 顺序获取结果。isDone轮询方式,任务是在主线程循环判断,结果顺序是和任务耗时有关,代码较多。个人见解,如有问题请指出。...原创 2022-07-29 10:34:30 · 1936 阅读 · 0 评论 -
spring-java使用Validation参数验证-自定义校验器
> 在开发JAVA服务器端代码时,我们会遇到对外部传来的参数合法性进行验证,而hibernate-validator提供了一些常用的参数校验注解,我们可以拿来使用。> spring-boot-web,内嵌了hibernate-validator,并且hibernate-validator依赖tomcat-el包。在使用webflux容器下,会报错。将 hibernate-validator 改为 spring-boot-starter-validation,其中有jakarta.el替代实现el.....原创 2022-07-19 17:30:22 · 3363 阅读 · 1 评论 -
java-处理文本文件-大量试题重排序
文本文件的内容是试题,并且格式工整,不想用人工排序并追加md的标题。当前使用idea工具,在win10系统中操作,使用java8,使用hutool进行文件读写。原创 2022-07-06 16:00:38 · 107 阅读 · 0 评论 -
centos 7安装podman(类似docker)
Podman 是一个无守护、开源的 Linux 本地工具,旨在使用 open Containers Initiative (OCI) 让容器和镜像更加方便地查找、运行、构建、共享和部署应用程序。Podman 提供了一个命令行接口(CLI),任何使用过 Docker 容器引擎的人都能很快上手 podman。大多数用户可以简单地将 Podman 别名为 Docker (alias Docker = Podman),没有任何问题。与其他常见的容器引擎 (Docker、CRI-O、containerd) 类似,Po原创 2022-06-29 18:36:56 · 2973 阅读 · 1 评论 -
spring-boot-webflux-demo-反应式接口
Spring Framework 5包含一个新 spring-webflux 模块。该模块包含对反应式HTTP和WebSocket客户端的支持以及反应式服务器Web应用程序(包括REST,HTML浏览器和WebSocket样式交互) spring web-flux 支持2种不同的编程模型1. 支持Spring MVC @Controller 这种注解,用法大同小异 2. 函数式 Java 8 lambda 风格的路由函数处理请求...原创 2022-06-28 19:01:10 · 748 阅读 · 0 评论 -
centos-7-安装minio-20220620
csdn-CentOS7安装Miniosystemctl里万恶的203简书-centos7 搭建miniosystemctl start xxxxx.service命令无法正常启动服务地址:https://dl.min.io/server/minio/release/linux-amd64/archive/访问:http://192.168..:9009/login启动报错启动后,查看状态203启动后,查看状态1......原创 2022-06-24 14:07:08 · 3286 阅读 · 0 评论 -
spring boot 的接口form入参-字段映射别名
如何在绑定Spring MVC命令对象时自定义参数名称?spring mvc给参数起别名SpringMVC请求参数别名设置SpringMVC 通过post接收form参数或者json参数Spring boot 参数别名处理springboot中使用servlet注解别名缓存类自定义spring属性编辑器参数解析器注入spring测试代码实体类-使用别名注解测试接口测试记录未使用别名当前级联别名,暂未处理,记录debug截图,有时间调整代码逻辑实现。.....原创 2022-06-15 19:05:09 · 2313 阅读 · 0 评论 -
Linux-centos上安装nacos并延迟自启
介绍在Linux centos 服务器搭建单机nacos。内容来自nacos官网。Nacos 致力于帮助您发现、配置和管理微服务。就时间 2022年5月13日 10:00:11Nacos 的关键特性服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理操作参考nacos官网Linux上安装nacos(完整版)linux下nacos安装如何在 Linux 安装 Nacos 服务下载、上传nacos下载的是编译好的可执行代码下载地址:https://gith原创 2022-05-13 10:20:58 · 678 阅读 · 0 评论 -
Linux-Centos配置nginx开机自启动
linux centos 系统 增加开机自启动,主要是为了解决服务器异常关机后不用人为启动。参考:Linux配置nginx开机自启操作先创建开机自启脚本cd /etc/systemd/systemvi nginx.service内容:[Unit]Description=nginx serviceAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/u.原创 2022-05-11 16:04:03 · 1348 阅读 · 0 评论 -
commons-pool2(2.6.2)实现对象池-jdk8
commons-pool2(2.6.2)实现对象池-jdk8springboot web项目中,有很多 非线程安全类(jdk自带或者第三方包引入),每次都创建一个 不太友好。就使用 commons-pool2 实现对象池处理,有两种实现方式:GenericObjectPool<T>,GenericObjectPoolConfig<T>GenericKeyedObjectPool<T>,GenericKeyedObjectPoolConfig<T>原创 2022-03-29 11:20:30 · 2687 阅读 · 0 评论 -
自定义POI的excel工具类-xls-xlsx
自定义POI的excel工具类-xls-xlsx使用jdk8(java8)实现Excel导出,随意切换 xls和xlsx。自己只是封装了比较常用方法,07版生成还有bug。ε=(´ο`*)))唉jdk版本java version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)mav原创 2022-03-24 18:16:08 · 661 阅读 · 3 评论 -
java-POI的Excel默认字体和样式
java中POI的Excel内置字体和样式java版poi内置的Font和CellStyle,本来以为是没有的,通过代码测试 发现有还不一样。POM引用<poi.varsion>3.17</poi.varsion><!--xls 解析生成--><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId&g原创 2022-03-21 16:57:51 · 1937 阅读 · 0 评论 -
java中CompletableFuture实现业务串行和并行组合执行异步编程
jdk1.8,java8,CompletableFuture,并行,组合,处理业务逻辑,异步编程原创 2022-03-10 11:09:36 · 582 阅读 · 0 评论 -
java清理文件路径-保留数字、斜杠、大小写字母
java代码 处理 输入的路径,防止出现异常字符,双斜杠、符号点.等路径非法字符。代码比较简陋。可能还有其他情况没考虑,对照代码没有贴出来。暂时记录如下参考链接ASCii码表代码 private String clearErrorPath(String path,boolean isRoot){ StringBuilder sb = new StringBuilder(); if( isRoot ){ if( StringUtils..原创 2021-11-21 19:23:11 · 522 阅读 · 0 评论 -
jdk(java)8 日期格式化工具-使用枚举处理
jdk(java)8 日期格式化工具-使用枚举处理在项目开发中,日期格式化是高频的工具类。大部分 工具类 都是 class ,格式化 字符串 直接传入到 方法内,确定是 每次都要 手写 格式化字符串,或者使用 封装好的方法 内嵌格式字符串。后来想了想,觉得使用枚举 定义日期格式化处理,感觉不用手写格式化字符串,并且可以根据需要集中增加 格式化 字符串暂不清楚,为什么这种方式比较少。可能有我想不到的问题吧ヾ(゚∀゚ゞ)工具类代码-示例import java.text.SimpleDateForm原创 2021-11-10 15:48:16 · 9933 阅读 · 7 评论 -
java 限定时间内多次调用目标函数-模拟调度任务
java 限定时间内多次调用目标函数-模拟调度任务最近,spring boot项目中用到了调度任务,执行特定任务代码。使用的xxl-job处理调度。但是 每次都执行一次目标功能,每次只处理固定数量数据(调用第三方接口限制了数量),造成数据处理过慢,尤其是在需要大量数据需要处理(十万或百万),但是又不是经常有大量数据。就考虑,怎么在一个调度周期内尽可能多的处理数据量,提升数据消化速度。一开始想到的是,压缩调度周期,由原来的几分钟改为1分钟或更短,但是调度调用日志就很多,且大部分时间都是没有数据处理。原创 2021-11-08 13:53:23 · 532 阅读 · 1 评论 -
js 去掉字符串前后缀的多个0
js 去掉、替换 字符串 前后 重复 字符```'0012300123000'.replace(/\b(0+)/gi,"")"12300123000"'0012300123000'.replace(/(0+)\b/gi,"")"0012300123"```原创 2021-06-02 08:24:52 · 1958 阅读 · 0 评论 -
Centos7 Docker 创建 hello 镜像
在centos7环境下使用docker-ce社区版,创建hello镜像的记录参考链接:根据Dockerfile创建hello docker镜像如何创建一个 Docker 镜像代码操作yum install -y gcc glibc glibc-static #安装c环境pwd/root/winsonzhao/hello-zylvim hello.c #编辑c文档...原创 2020-04-03 17:31:15 · 334 阅读 · 0 评论