技能点
文章平均质量分 75
韩_师兄
talk is cheap, show me the code
展开
-
关于Linux中top的使用
登录服务器, 输入命令:top 回车系统会展示当前所有正在运行的进程信息.系统输出的信息很多,主要分为两部分, 第一部分是前面的关于系统整体的统计信息, 第二部分是所有的进程信息.原创 2024-02-23 15:42:32 · 1438 阅读 · 0 评论 -
关于正则中的Pattern和Matcher的使用
java.util.regex包下的Pattern和Matcher都是Java中用于正则表达式匹配的类. Pattern是表示一个正则表达式, Matcher表示一个字符串通过正则表达式匹配的部分, 主要用来对字符串进行查询匹配和替换. 即Pattern主要是将正则表达式编译生成一个Pattern对象. 而Matcher主要是将Pattern对象和待校验的字符串进行匹配操作.原创 2024-02-23 15:37:34 · 552 阅读 · 0 评论 -
关于DecimalFormat的使用
在easyexcel的jar包中, 有两个注解 Numbermat和DateTimeFormat.1 Numbermat注解中引用自DecimalFormat类.DecimalFormat类是jdk中java.text.包下的一个具体子类, 用于格式化十进制数字. 其抽象父类是NumberFormat, 其作用于格式化和解析任何区域设置的数字, 继承于公共父类Format.2 DateTimeFormat注解引用自SimpleDateFormat类。原创 2024-02-21 19:17:38 · 1180 阅读 · 0 评论 -
关于fastjson中JSONPath的使用
JsonPath是一种简单的方法来提取给定JSON文档的部分内容, 提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有想要获得的json内容, 可以在java框架中当作对象查询语言来使用.fastjson的jar包版本中,1.2.0之后的版本支持JSONPath。原创 2024-02-21 17:50:30 · 1650 阅读 · 0 评论 -
关于TypeReference的使用
以常见为例,在com.alibaba.fastjson包下面的TypeReference类,是指Type的Reference,表示某类型的一个指向或者引用.在项目中,有遇到TypeReference的使用,其主要在字符串转对象过程中,对于序列化和反序列化中也有效果,将字符串转换成自定义对象.在JSON字符串转自定义对象过程中, 和对象序列化与反序列化中, 都可以使用TypeReference来指定或引用给某一对象.2 常见序列化和反序列化。1 常见字符串转对象。原创 2024-02-20 10:40:45 · 1407 阅读 · 0 评论 -
关于Future的使用
在日常处理业务中,在某些定时任务处理数据时,因待处理数据量较大,如上千上万数据处理.虽然可以使用线程池异步处理,但是线程池处理速度和队列存放能力有限,为保护线程池稳定,需要控制数据处理频率,常见如分批次处理数据, 在多线程处理中分批次,一般可使用CountDownLatch,Future等.Future 类是异步思想的典型运用. 当我们执行某一耗时的任务时,可以将这个耗时任务交给一个子线程去异步执行,同时我们可以干点其他事情,不用傻傻等待耗时任务执行完成。1 直接继承Thread类.原创 2024-02-19 10:21:44 · 563 阅读 · 0 评论 -
关于Mybatis-Plus中in超过一千处理方式
在mysql和oracle查询中, 使用in条件拼接数据超过一千时, 数据库会报错,为了避免出现数据库报错,需要手动拆分数据, 拼接数据达到in() or in()…的效果, 其中mybatis中的拼接主要是在xml文件中处理,而Mybatis-Plus则可以提供统一的工具类进行处理.通过两次遍历,达到id in (xx,xx,…) or id in (xx,xx,…一般可以归纳为工具类。原创 2024-02-19 10:19:22 · 2338 阅读 · 0 评论 -
关于在网关中白名单配置的使用(AntPathMatcher)
在项目里,经常会有需要添加白名单,黑名单的功能, 而一般的处理方式,都是在网关进行设置配置, Spring中提供的工具包类AntPathMatcher可以很方便处理原创 2023-07-14 10:12:35 · 777 阅读 · 0 评论 -
关于金额(包含外币)转大写的使用
关于金额数字转大写汉字, 功能还是比较常见, 但是涉及到外币的转换还是少见, 需要自己包装加判断实现原创 2023-07-10 10:53:38 · 1098 阅读 · 0 评论 -
关于MapStruct的使用
mapstruct,全称是org.mapstruct.Mapper, 是将接口或抽象类标记为映射器,并通过MapStruct为这个接口或者抽象类生成一个实现类,大大简化了Java bean类型之间转换.优点:mapstruct是在编译时完成Bean转换,1 和传统相比,提升了服务性能2 编译后在target目录,生成对应的xxximp.java文件,方便定位问题缺点:1 必须添加一个接口或者抽象类,才能实现映射通过mapstruct的使用发现,和之前工具类的映射有很多不同.原创 2023-06-25 10:08:29 · 1661 阅读 · 0 评论 -
关于word转pdf功能实现
上述两个方法都可以将word转为pdf文件,各自都用特点.Spire,依赖少,但免费版本限制过多,而收费版本价格不低,直接使用又有警告信息.(使用公司邮箱申请,可免费使用一个月,但不是长久之计);poi文档处理,免费,但依赖多,且各个版本之间可能存在冲突,且对于生成pdf的一些排版,篇幅的处理,效果没有spire好.原创 2023-06-20 11:45:22 · 2480 阅读 · 0 评论 -
Fiddler的入门使用
说明Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。简介Fiddler 是用C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能够使用.net框架语言进行扩展.原创 2022-10-24 20:48:21 · 505 阅读 · 0 评论 -
关于Java中UML图的说明
关于Java中UML图的说明1 类图1 类的表示方法2 类之间的关系1 关联关系1 单向关联2 双向关联3 自关联2 聚合关系3 组合关系4 依赖关系5 继承关系6 实现关系在学习Spring源码过程中,出现了非常多的设计模式等,也因此需要去查看UML图,对于UML图的相关知识,整理一下.统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。UML 从目标系统的不同角度出发,定义了用原创 2022-04-24 22:50:23 · 1058 阅读 · 1 评论 -
关于代码中事务的常用写法
关于代码中事务的常用写法1 事务控制的引入2 事务控制案例1 环境准备1 application.yml文件2 pom.xml文件3 启动类4 Controller控制器5 Service层6 Dao层7 数据库脚本2 结果分析1 不加事务控制2 添加事务注释3 手动添加事务4 手动添加事务2在平常代码中,要保证功能的有效性和数据安全性,通常会对有关联的业务代码进行事务控制,常见的事务控制方法如下1 事务控制的引入在日常操作中,对于一些特定场景,需要保持数据安全和有效性,通过添加事务的控制,避免原创 2022-04-22 20:49:14 · 1338 阅读 · 0 评论 -
关于国产数据库表设计PDManer工具的使用
关于国产数据库表设计PDManer工具的使用一 PDManer简介二 PDManer的使用1 简单案列说明1 界面说明2 内容说明1 数据表2 视图3 关系图4 数据字典一直以来,对于数据库的表设计,都是采用PowerDesigner工具. 最近发现一款国产软件PDManer,在表设计方面,更加轻量化,更加灵活,也提供了更多的附加功能.一 PDManer简介PDManer是一款国产开源的简单好用的数据库建模工具.2018年推出开源公开版,历经数年,截止2022年4月17日推出最新版PDManer元原创 2022-04-20 22:49:39 · 38234 阅读 · 8 评论 -
关于本地环境使用内网穿透工具的操作
关于本地环境使用内网穿透工具的操作一 内网穿透二 ngrok的使用1 添加隧道操作2 ngrok客户端使用在一些特殊的开发场景,如微信小程序的登录等,需要获取微信小程序的回调信息, 而本地电脑开发又无法去获取网络上的回调,所以需要使用内网穿透工具。一 内网穿透内网穿透:也称为 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。以ngrok工具为例介绍内网穿透功能官网地址:https://www.ngrok.cc/n原创 2022-04-07 21:01:48 · 543 阅读 · 0 评论 -
关于反斜杠问题记录
关于反斜杠问题记录一 问题引入二 解决方法在一次偶然测试中, 发现了一个关于反斜杠的小问题, 因对此类特殊字符,平常使用较少,所以花了一些时间去解决问题, 并且觉得此问题比较有趣, 故整理记录一下,方便后续解决同类问题.一 问题引入在一些特殊的应用场景中,需要对数据进行过滤,将一些非法的字符进行拦截,过滤,替换等等, 常见的场景如一些敏感的词语过滤,比如一些游戏ID等不允许特殊词语和字符等,甚至应用在某些项目为防止xss攻击等.如下Demo案例展示, 要求将请求参数即reqStr字符串中的特殊字符替原创 2022-04-01 22:08:50 · 726 阅读 · 0 评论 -
关于IDEA 微服务项目多个启动类如何显示Run Dashboard窗口
1 IDEA中展示Run Dashboard窗口方法一具体步骤:1 选择IDEA运行配置窗口, 编辑配置, 新增一个SpringBoot启动,点击保存,idea窗口会弹出,点击展示窗口.(如之前已经操作过,此时没有弹框,可用方法二)方法二点击标题栏的View,选择Tool Windows窗口, 点击Run Dashboard即可.(在一些版本中,该命名为Services,效果一致,如图二)...原创 2021-11-26 11:22:24 · 2122 阅读 · 0 评论 -
关于Guava-Retry重试工具的使用
关于Guava-Retry重试工具的使用1 guava-retry的简介2 guava-retry的使用1 导入maven依赖2 添加一个重试方法3 添加测试类3 总结官网地址:https://github.com/rholder/guava-retryinghttps://codechina.csdn.net/mirrors/rholder/guava-retrying?utm_source=csdn_github_accelerator1 guava-retry的简介在日常的一些场景中, 很多原创 2021-11-09 22:30:38 · 1378 阅读 · 0 评论 -
IDEA中maven自动导入或删除包设置
IDEA中maven自动导入或删除包设置1 设置本项目自动导入或删除包从File进入点击Settings(或者快捷键Ctrl+Alt+S)说明:自动导入: Add unambiguous imports on the fly (动态添加明确的导入)自动删除: Optimize imports on the fly (即时优化导入)2 设置新项目自动导入或删除包从File进入Other Settings选择Settings for New Projects,选中下面两行....原创 2021-10-19 19:43:33 · 1426 阅读 · 0 评论 -
关于常见的组织树结构实现方法
关于常见的组织树结构代码1 组织树形结构 (递归实现)1 部门组织类2 组织树形类3 树形工具类4 使用说明2 组织树形结构 (非递归实现)1 部门组织类2 树形工具类3 部门和人员的树形结构1 组织用户对象2 用户对象3 部门集合与用户集合合并代码因关于组织树在项目中常见,且功能基本一致,故整理一下之前遇到的相关实现.1 组织树形结构 (递归实现)1 部门组织类@Datapublic class Org { @ApiModelProperty(value = "部门ID")原创 2021-09-26 22:39:46 · 2060 阅读 · 0 评论 -
关于git分支开发的总结
关于git分支开发的总结1 git分支开发图2 git分支开发说明1 分支说明2 分支流程图说明3 Commit通用规范4 总结因博主在多分支开发的情况下遇到一下开发规范问题,所以结合网上资料,总结一下git分支开发流程1 git分支开发图推荐一个在线画图工具: https://www.processon.com/该工具可在线画各种流程图,支持多种格式导出,安利给大家使用.下图就是使用precesson在线画图的,导出的图片文件.2 git分支开发说明1 分支说明对于不同的分支,通常原创 2021-08-25 22:59:07 · 345 阅读 · 0 评论 -
关于Google的Cache使用
关于Google的Cache使用1Cache的概述2 官方文档1 加载2 缓存回收1 基于容量的回收(size-based eviction)2 定时回收(Timed Eviction)3 基于引用的回收(Reference-based Eviction)4 显式回收5 监听器6 什么时候清理?7 刷新8 其他特性1 统计2 asMap视图3 中断3 使用方法因博主最近需要使用本地缓存保存常用但不重要的数据,查询资料后,Google的Guava很适合,记录一下.GitHub官网:https://g原创 2021-08-24 23:43:53 · 6028 阅读 · 1 评论 -
关于数据AES加密的使用
关于数据AES加密的使用1 AES概述2 AES加密方式1 填充2 模式3 常用案列因博主最近接触到敏感数据保护,选择使用AES进行加密,记录一下.1 AES概述1 引入概述密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用。DES使用的是56位密钥,AES可以使用128原创 2021-08-23 22:32:22 · 11453 阅读 · 0 评论 -
IDEA中JDK环境设置
IDEA中JDK环境设置1 问题描述2 问题分析3 问题解决1 点击File,进入Project Structure2 选择Project, 设置项目jdk环境,如1.8. 再设置项目语言等级8.3 选择Modules模块, 选中当前模块,设置语言登录为8.4 最后从File中,进入Settings中,设置IDEA编译的jdk版本,且设置模块的编译版本.4 总结博主最近导入新项目时,使用了jdk8的特性-lambda表达式,结果环境报红,记录一下修复过程.1 问题描述 // 伪代码原创 2021-08-09 08:09:38 · 5406 阅读 · 0 评论 -
事务管理之传播机制
事务管理之传播机制1 事务传播概述2 事务详情1 PROPAGATION_REQUIRED1 单独调用方法B2 方法A调用方法B2 PROPAGATION_SUPPORTS1 单独调用方法B2 方法A调用方法B3 PROPAGATION_MANDATORY1单独调用方法B2方法A调用方法B4 PROPAGATION_MANDATORY1单独调用方法B2方法A调用方法B5 PROPAGATION_MANDATORY1 单独调用方法B2方法A调用方法B6 PROPAGATION_MANDATORY1 单独调用方原创 2021-08-05 21:26:14 · 197 阅读 · 0 评论 -
事务管理之隔离级别
事务管理之隔离级别1 隔离级别引入1 并发访问2 并发访问引出问题2 四种隔离级别3 案列1 脏读1 案例说明1 准备数据2 操作步骤2 不可重复读3 幻读1 隔离级别引入 并发访问,可能导致,脏读,不可重复读,幻读问题.1 并发访问 是指在同一个时间段,有多个用户开启了事务,并且同时访问同一张表中记录,称为事务的并发访问。也就是多个事务在并行的执行。 在理想状态,事务的操作是不存在并发访问问题的. 在实际的使用过程中,因为事务的隔离级别不同,可能导致出现上述三种并发访问问题.2 并发访问原创 2021-08-01 16:13:11 · 376 阅读 · 0 评论 -
事务管理之事务基础
事务管理之事务基础1 什么是事务2 事务的四大特性3 事务的应用场景1 银行转账业务模拟4 事务的提交1 手动提交1 相关命令操作2 手动提交事务3 案列1 提交事务2 回滚事务2 自动提交1 默认提交方式2 案例1 自动提交事务2 关闭自动提交事务3 事务的回滚1 事务回滚的概述2 回滚案例1 案例步骤因最近遇到Spring事务管理问题,故总结记录一下问题1 什么是事务如果一个业务完成,需要执行多条SQL语句.即涉及多个增删改查.必须使用事务.简单来说,事务,就是把这些所有的SQL语句当做一个整原创 2021-08-01 14:06:05 · 1161 阅读 · 0 评论 -
系统端口被占用解决方法
端口被占用解决方法1 Windows环境1 启动windows命令窗口2 查看系统当前所有端口使用情况3 查询指定的端口使用情况4 可通过进程id号查询进程名称5 根据进程id或进程名称杀死进程2 Linux1 查看所有端口号2 查看指定端口号3 查看端口号被那个进程使用4 杀死进程因博主在windows环境下,IDEA突然崩溃,导致程序异常终止,再次启动程序时,提示端口被占用,故记录一下解决该类问题的方法参考资料:https://jingyan.baidu.com/article/fdffd1f原创 2021-07-22 07:50:57 · 6988 阅读 · 14 评论 -
JitPack的使用
JitPack的使用1 JitPack简介2 JitPack使用1 上传代码到仓库,并创建一个release2 进入JitPack官网首页,输入仓库地址,点击Look up3 点击Get it按钮,下面生成maven仓库和依赖4 在项目的pom文件中添加上面两个依赖3 总结JitPack官网官网文档参考资料:https://blog.csdn.net/user11223344abc/article/details/78403537https://www.jianshu.com/p/1599a2d3原创 2021-07-20 08:17:30 · 1223 阅读 · 0 评论 -
mock测试使用说明
mock测试使用说明1 mock简介2 mock的使用1 下载moco的jar包2 启动jar包3 简单案例11 创建配置文件config-get.json2 启动jar包3 测试4 简单案例21 创建配置文件config-post-get.json2 启动jar包3 测试5 配置文件参数说明6 总结因博主最近看测试同学偷偷在搭建mock进行测试,好奇看了一下,记录一下使用过程mock官网下载mock官网文档参考资料:https://blog.csdn.net/qq_32706349/arti原创 2021-07-18 22:27:58 · 901 阅读 · 1 评论 -
Cron表达式使用问题总结
Cron表达式1 Cron表达式简介2 Cron表达式的格式1 表达式每个域支持的值2 特殊字符说明3 使用遇到的问题1 关于问题2 解决方法1 Cron表达式中周域使用英文表示4 总结因博主最近使用定时任务时,关于Cron表达式的使用,出现问题,故记录一下问题,避免大家踩坑1 Cron表达式简介Cron,又称计划任务: 是任务在约定的时间执行已经计划好的工作. 在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的任务。2 Cron原创 2021-07-15 07:33:09 · 986 阅读 · 1 评论 -
BigDecimal的使用
BigDecimal的使用1 常见使用方式构造方法2 BigDecimal中scale使用1 scale说明2 stripTrailingZeros()方法使用3 精度转换3 BigDecimal的运算1 加减乘除2 divideAndRemainder()方法3 compareTo()方法BigDecimal可以理解为一个浮点数, 其大小可任意指定而且精度准确, 故日常用在金额,利息等金钱相关的字段上,因最近使用较多,故记录一下,给大家参考一下,避免其中的问题.1 常见使用方式构造方法// 使原创 2021-07-11 10:18:24 · 1259 阅读 · 4 评论 -
IDEA常用插件
IDEA常用插件1 MyBatis Log1 MyBatis Log每一次调用后台, 都会把执行的sql打印出来,并且将参数填充完整,方便查询sql问题原创 2021-05-30 15:51:01 · 1566 阅读 · 1 评论 -
Jinkens和Gitlab自动部署环境搭建
Jinkens和Git自动部署环境搭建1 Jenkins简介2 Jenkins使用1 准备环境2 Jenkins安装3 初次访问Jenkins1 jenkins配置2 插件安装4 Jenkins任务构建1 在Jenkins首页创建 新任务2 选择 源码管理 -> Git。设置当前Gitlab仓库地址和认证信息3 选择Build选项4 构建任务5 自动化构建1 配置webhook1Jenkins生成token2gitlab配置webhook2 Jenkins配置Gitlab任务触发3测试自动构建效果4原创 2021-05-14 07:55:56 · 1297 阅读 · 3 评论 -
注解的使用
注解的使用1 注解的介绍2 注解的格式3 注解的使用4 案列15 元注解6 案列1plus7 使用场景1 注解的介绍注解:jdk1.5版本的特性, 是一个引用数据类型(类,接口,枚举同一级别)作用:1 对代码进行解释说明,可以生成API文档2 检查代码是否有错误(使用时添加@Override)3 对代码分析,可起到代替配置文件的作用JDK注解说明:@Override 检测方法是否为重写方法jdk1.5版本,支持父类的方法重写jdk1.6版本,支持接口的方法重写@Deorecate原创 2021-05-05 09:48:58 · 177 阅读 · 0 评论 -
Mysql触发器简介
Mysql触发器1 触发器引入2 触发器分类3 触发器作用4 使用语法1 新建2 更新3 删除4 查看5 案列1 准备数据2 创建触发器3 执行下列语句6说明1 触发器引入触发器(TRIGGER): 是Mysql数据库5.0版本后引入的, 触发器是一种类似存储过程的特殊类型, 通过事件触发而执行,在执行insert/update/delete语句之前或之后去执行触发器中定义的SQL语句. 存储过程是需要主动调用执行的.总结: 触发器是被动执行,需要有触发条件,即表有新增/更新/删除操作才会去执行触发器原创 2021-05-04 15:29:19 · 1021 阅读 · 4 评论 -
PowerDesigner常见使用
PowerDesigner常见使用1 导入PowerDesigner的表展示2 PowerDesigner中表之间关系楼主目前PowerDesigner版本为15.1版本,所有操作,不同版本,大同小异.1 导入PowerDesigner的表展示将数据库中的sql脚本导入PowerDesigner软件,如下图所示.常需要的目标效果如下图:操作步骤:选择工具(Tools)下显示参数选择(Display Preference).选择Table里面的Advanced按钮.选择Colum原创 2021-04-19 23:24:59 · 2354 阅读 · 1 评论 -
XML的解析总结
XML的解析总结XML的解析总结1 dom4j解析xml0 dom4j简介1 `SAXReader`2 `Document`3 `Element`1 导入maven坐标2 在`src/resources`目录下创建demo.xml文件3 在`src/java`目录下创建DemoDom4j.java文件2 xpath查找xml0 xpath简介1 选取节点2 选取未知节点1 导入maven坐标2 在`src/resources`目录下创建demo2.xml文件3 在`src/java`目录下创建DemoXpa原创 2021-03-07 10:37:20 · 277 阅读 · 0 评论 -
Sql常见函数记录
Mysql函数记录记录日常中常用的函数,想记录成为函数百科.持续更新ing1 group_concat功能: 将group by产生的同一个分组中的值连接起来,返回一个字符串结果语法: group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )tips: []内为可选, 分隔符不默认是逗号,应用场景: 常见一对多表结构关系,将根据一表方分组,查询对应多表某列数据,以规定的格式拼接成字符串eg:原创 2021-02-21 15:41:59 · 1293 阅读 · 1 评论