日常记录
文章平均质量分 61
慌途L
随手记录,错误之处敬请指出。
展开
-
SpringBoot | 自定义Aspect
SpringBoot | 自定义Aspect原创 2023-01-03 16:01:52 · 23 阅读 · 0 评论 -
Java | 使用ZIP打包下载图片文件
Java | ZIP打包下载文件原创 2022-12-21 11:38:34 · 342 阅读 · 0 评论 -
Git | 配置命令、项目命令、常见问题、git-crypt加密解密
这里写目录标题@[TOC](这里写目录标题)一、Git安装和配置1.linux上安装git:2.查看git配置信息3.查看git用户名、密码、邮箱的配置4.设置git用户名、密码、邮箱的配置5.设置git用户名、密码、邮箱的配置(全局配置):6.git生成公钥:7.查看密钥(linux):8.查看密钥(windows):二、操作项目-常用命令汇总1.常用命令2.git子模块命令:2.git报错:命令command not found四、扩展:git-crypt加密解密1.How to Encrypt Rep原创 2022-03-14 12:25:04 · 1793 阅读 · 1 评论 -
不要再问我怎么设置Postman的环境变量和全局变量了
最近有同事问我怎么设置postman的环境变量和全局变量token,避免每次更换环境进行接口测试还需要手动改请求地址,也避免每次token后失效重新获取的token还需要手动替换。比如我们有三个环境,本地、测试、正式,一般正式不对外进行开放。下面就开始实操:一、设置环境变量(图片较多,尽量说的详细点)1.示例首先,打开新版的postman(旧版和新版有一点小区别,就是环境变量后面的图标可能变了),如下图:刚开始的时候我新建了一个请求,测试登录,看右上角是没有环境变量的,然后那个眼睛的图标其.原创 2022-01-06 10:06:29 · 14186 阅读 · 0 评论 -
Exception | 优雅的输出Exception异常信息
这两种输出方式一直在用,趁着无聊把这个发出来,顺便自己记录一下,大家视不同情况使用。通常e.getMessage()并不能获取全部的错误信息,需要用到e.printStackTrace()查看完整错误信息,但是这个方法是void 只能在控制台输出。注意:e.printStackTrace()要尽量少用或不用,可能会导致锁死有两种方式推荐1.logger方式一个直接通过logger打印出来,这个方法是最简便的import org.slf4j.Logger;import org.slf4j..原创 2021-11-18 20:45:00 · 4477 阅读 · 0 评论 -
阿里云服务器挖矿病毒解决方法
公司一直用的阿里云服务器进行生产环境的部署,但是最近某一台服务器上的CPU使用率一直高达95%以上,经过排查项目和代码、定时脚本等,都未发现问题根源,但是有一个文件的占用很高排查:查看CPU占用率在服务器上使用命令:top -c 查看进程运行的信息列表再按下大写的:P 使进程按照CPU使用率排序类似下图(这里只做演示,非实际情况):然后可以看到 /usr/local/lib/.libs 占用cpu过高再接着就是杀进程(这里要排除不是自己的项目所涉及到的)但是每次杀完之后,CPU就降了下去原创 2021-04-01 11:55:33 · 4476 阅读 · 8 评论 -
Shell 脚本参数传递时有 \r 换行符问题
最近用Nodepad++写Shell脚本进行参数动态传递时,发现有时候参数携带了\r换行符,编辑器里也是Shell脚本的语言。本来一看就知道是换行符的问题,偏偏有的脚本不带\r符号,有的又带,真的迷!问题原因:Unix体系里,每行结尾只有"<换行>”,即"\n";Windows体系里面,每行结尾是"<换行><回 车>”,即"\n\r”。所以当从Windows上把脚本放入Linux上后,会把"\n\r”一起带入解决方法:博主使用第二种方法解决了问题,第一原创 2020-10-25 21:44:55 · 7003 阅读 · 3 评论 -
关于Feign报错:feign.FeignException: status 400 reading
feign.FeignException: status 400 reading一、问题 feign请求接口报400二、解决方法因为前面接口调用的时候是好的,后面增加了很多参数传递,然后就报了400;经过排查字段的正确性和网上找了一些方式尝试,发现当传递的数据少时接口正常,所以应该是 springboot 内置 tomcat 的 http 请求头参数被限制的大小问题。默认是8k:修改此参数的大小即可:...原创 2020-08-11 18:41:18 · 13631 阅读 · 1 评论 -
SpringBoot 使用分页插件 PageHelper 分页无效
SpringBoot PageHelper.startPage(pageNum, pageSize) 分页无效最近使用github.pagehelper的分页插件无效,找了网上的解决方便,做个记录问题原因:由于SpringBoot的版本变换,所以导致很多maven依赖也需要更新解决方法:现在都用spring-boot 2.x.x 版本了,所以需要更换老版本的maven依赖,只需要将下面的maven依赖换掉即可spring-boot 1.x.x 的版本:<!-- 分页工具 .原创 2020-08-04 19:12:09 · 1169 阅读 · 1 评论 -
Java | 使用 3DES 进行加密解密 (附源码)
Java | 使用 3DES 进行加密解密 (附源码)本文主要用了两个参数进行加密解密,一个key:秘钥,一个iv:偏移量;如果不想要偏移量的,可以适当去除,使用cipher.init()方法,只传入两个参数即可;cipher.init(Cipher.ENCRYPT_MODE, deskey);还需要将:(这里只改动 CBC -> EBC)private static final String CIPHER_ALGORITHM = "DESede/CBC/PKCS5Padding";.原创 2020-07-28 20:52:56 · 7525 阅读 · 7 评论 -
JDK 自带可视化性能监控工具 jconsole:监视和管理控制台
Java 自带性能监控工具:监视和管理控制台 jconsole 的使用https://blog.csdn.net/defonds/article/details/45064297原创 2020-08-20 17:16:21 · 679 阅读 · 1 评论 -
MySQL本机 IP 连接不上,而用 localhost 和127.0.0.1可以连接 | 解决方法
grant all privileges on . to ‘用户名’@‘IP地址’ identified by ‘密码’;all privileges 所有权限 也可以写成 select ,update等. 所有库的所有表 如 databasename.*用户名 随便起IP 数据库所在的IPidentified by ‘密码’ 表示通过密码连接执行完上述命令后用下面的命令刷新一下权限flush privileges;...原创 2020-07-16 16:45:19 · 2524 阅读 · 1 评论 -
Java8 | 串行流 Stream 与并行流 parallelStream
JDK8 | 串行流 Stream 与并行流 parallelStream一、串行 Stream 流1.获取串行流的两种方式:所有的 Collection 集合都可以通过 stream 默认方法获取流:list.stream();Stream 接口的静态方法 of 可以获取数组对应的流:Stream.of(6,1,5,4,3);// 集合获取流// Collection接口中的方法: default Stream<E> stream() 获取流List<String&.原创 2020-07-02 17:23:55 · 5614 阅读 · 0 评论 -
Linux 上运行jar包命令 | 防止终端关闭停止运行
Linux 上运行jar包命令 | 防止终端关闭停止运行今天被公司的实习生问到过,随手记录一下1.运行jar后关闭终端窗口还可运行,用以下命令执行即可:nohup java -jar XXXXX.jar &nohup表示不挂断地运行命令&表示这个命令放在后台执行2.运行后使用命令即可看到linux上运行的java程序:jps结果:...原创 2020-07-02 15:16:20 · 1416 阅读 · 1 评论 -
MySQL | 查看是否被锁以及解锁
1.查看当前有那些表是打开的,In_use列表示有多少线程正在使用某张表,Name_locked表示表名是否被锁show OPEN TABLES where In_use > 0;2.1.显示哪些线程正在运行:只列出前100条show processlist;2.2.显示哪些线程正在运行:全列出show full processlist;3.杀掉指定mysql连接的进程idid为第二步的第一列的idkill id...原创 2020-07-01 17:10:27 · 3625 阅读 · 1 评论 -
Stream流 | Collectors.toMap 根据key收集自身对象(同时防止key重复)
Lambda表达式 | Collectors.toMap 根据收集自身对象日常开发中我们通常会想将 List 集合根据某个成员变量为 key 值将其转成 Map 集合,如下:GroupInfoEntity.java@Datapublic class GroupInfoEntity{ /** 组织架构ID */ private Long id; /** 组织架构名称 */ private String name; /** 组织架构父ID */ private Long parentId;原创 2020-06-24 15:59:18 · 10775 阅读 · 0 评论 -
JDK8:日期时间LocalDateTime、LocalDate、TemporalAdjuster的使用
JDK8新特性:日期时间相关APILocalDateTime、LocalDate、LocalTime常用方法(1.)获取默认时区的当前时间(2)指定具体的日期时间(3)获取具体的年月日时分秒、星期、天数等(4)日期大小判断(5)某个月或者某年有多少天(6)直接修改、增加、减少年月日时分秒(7)时间类型转换日期解析和格式化:DateTimerFormatter计算日期时间差 Duration 和 Period时间调整器:TemporalAdjuster 和 TemporalAdjuste原创 2020-06-17 11:53:18 · 560 阅读 · 0 评论 -
刷新浏览器后不进行任何点击操作时,不播放声音 | 解决方案(VUE-Element)
以下代码可能过长,请耐心查阅前言最近项目中有播放背景声音的一个功能,后面发现刷新浏览器后,不对页面进行任何点击操作,浏览器不播放声音。作为一个后端开发,突然搞这么一个前端解决方案是有点懵逼的,下面是和一名前端大佬讨论的结果。解决方案:1.将提供给用户的浏览器的播放声音权限打开,然后重新打包浏览器发出去;2.给用户一个弹窗提示,点击按钮,打开浏览器声音权限或直接跳转到设置声音的页面;(经过测试发现实现不了,因为系统部署在服务端,而打开的是本地浏览器的配置,无法实现这个功能)3.置顶一个..原创 2020-06-12 19:02:00 · 5392 阅读 · 2 评论 -
高危安全漏洞Fastjson | 新发现高危autotype开关绕过安全漏洞
前言Fastjson <=1.2.68版本存在远程代码执行漏洞,漏洞被利用可直接获取服务器权限。漏洞详情Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean 。本次漏洞发现,其autotype开关的限制可被绕过,然后链式地反序列化某些原本是不能被反序列化的有安全风险的类。漏洞实际造成的危害与 gadgets 有关,gadgets中使用的类必须不在黑名单中,本漏洞无法绕原创 2020-06-12 17:59:26 · 3058 阅读 · 1 评论 -
推荐另外一款好用的IDEA插件:CamelCase(变量名转换驼峰)
推荐另外一款好用的IDEA插件:CamelCase(变量名转换驼峰)前言:这个插件可以方便我们快速切换变量名的形式先看效果:多选行是IDEA默认的,后面变量名的转换是此插件的效果安装Ctrl+Alt+S 快速进入设置界面,选择Plugins,进入插件市场下载搜索: CamelCase 即可看到快速使用:默认快捷键:Shift+Alt+U–...原创 2019-12-20 18:26:12 · 4793 阅读 · 0 评论 -
推荐一款好用的IDEA插件:probie(菜鸟翻译)
推荐一款IDEA插件:probie(菜鸟翻译)前言:这款插件可以帮助英语没那么好的开发者快速的定义类、方法、参数,同时也可以帮助我们翻译英文注释,提升效率。安装Ctrl+Alt+S 快速进入设置界面,选择Plugins,进入插件市场下载搜索:probie,即可看到此插件的介绍和示例说明快速使用:默认快捷键 alt p右键 probie translate...原创 2019-12-20 17:59:49 · 1818 阅读 · 0 评论 -
Redis - increment 递增方法 | 处理防重复和并发问题
redis incr | 处理防重复和并发问题一、问题1.有时因为网路原因,在页面下单或其他操作,会发生重复提交问题2.针对秒杀、抢购、多个用户同时下单的情况(不过redis针对秒杀只是其中的一环)二、incr 递增函数介绍Redis Incr 命令将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。如...原创 2019-08-11 15:51:20 · 59085 阅读 · 9 评论 -
BigDecimal 加减乘除 | 比较大小 | 取最大最小值 | 保留小数位 | 附上计算工具类
个人记录:最近用BigDecimal比较多,对精度要求高,记录一下BigDecimal 加减乘除 | 比较大小 | 取最大最小值 | 保留小数一、加减乘除BigDecimal num1 = new BigDecimal(2);BigDecimal num2 = new BigDecimal(6);BigDecimal num3 = null;-- 加 2+6 num3 =...原创 2019-01-23 21:07:35 · 8809 阅读 · 1 评论 -
Map集合转Json格式时保留null值的解决办法
Map 转 json格式 保留null值的解决办法开发中遇到将map数据转json格式,然后map中含null值的键值对都被转没了,所以记录一下,以下是解决方法使用fastJson进行转换import com.alibaba.fastjson.JSONMap&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;...原创 2019-01-07 21:56:36 · 9990 阅读 · 0 评论 -
Java 元注解 | 个人记录
个人记录Java 元注解记录 @Retention @Target @Document @Inherited@Retention:注解的保留位置@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含@Retention(RetentionPolicy.CLASS) // 默认的保留...原创 2019-01-12 10:52:50 · 173 阅读 · 1 评论 -
jmeter下载 | 安装教程
jmeter下载和安装教程jmeter基于java环境运行,所以必须先安装 JDK,JDK 详细安装教程参考:https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html一、jmeter下载下载链接:https://pan.baidu.com/s/1nH7hePOPjvZZfYKKooXGTA提取码:yf8h下载解...原创 2018-12-25 22:05:19 · 2424 阅读 · 1 评论 -
springboot集成grpc报错:io.grpc.StatusRuntimeException: UNAVAILABLE
使用 springboot 集成 grpc 和 protobuf 时出现以下错误:1. io.grpc.StatusRuntimeException: UNAVAILABLE2. Caused by: com.google.api.gax.grpc.ApiException: io.grpc.StatusRuntimeException: UNAVAILABLE: HTTP/2 error...原创 2018-12-07 20:55:55 · 50787 阅读 · 1 评论 -
springboot集成grpc报错:io.grpc.StatusRuntimeException: INTERNAL: Connection closed with unknown cause
使用springboot集成grpc和protobuf时出现的错误:io.grpc.StatusRuntimeException: INTERNAL: Connection closed with unknown causeat io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:141)at io.grpc.stub.S...原创 2018-12-07 20:36:05 · 18807 阅读 · 3 评论 -
Could not initialize class sun.awt.X11GraphicsEnvironment
Could not initialize class sun.awt.X11GraphicsEnvironment登录页面二维码图片被撕裂,显示不了,直接访问图片地址,报错Could not initialize class sun.awt.X11GraphicsEnvironment解决方案:在Tomcat中bin目录下的catalina.sh中添加“-Djava.awt.hea...原创 2018-11-28 20:12:51 · 1501 阅读 · 0 评论 -
项目启动报错:Caused by: com.atomikos.recovery.LogException: Log already in use? tmlog in ./
今天在同一个环境启动两个项目时报错,因为两个项目同时涉及到分布式事物和切换数据源相关。一、启动项目时报错示例:Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2018-11-30 17:35:10.585 ERR...原创 2018-12-07 21:13:03 · 6655 阅读 · 4 评论 -
springboot集成redis时报错:org.springframework.data.redis.serializer.SerializationExceptionng
springboot项目使用redis报错:org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedExcept...原创 2018-11-29 12:53:40 · 51643 阅读 · 12 评论 -
MyBatis映射实体时将BigDecimal值映射为科学计数法
个人记录MyBatis映射实体时将BigDecimal值映射为科学计数法一、错误显示实体:返回:即数量为:1e-8二、解决办法1. 在实体或返回实体中加一个String类型的字段2. 在sql查询的时候将原来 BigDecimal 的值使用 concat() 函数转换,如下图...原创 2019-01-19 17:19:15 · 10707 阅读 · 1 评论 -
MySQL 转时区 | 将 Date 类型的UTC时间转 北京时间
个人记录MySQL 转时区 | 将 Date 类型的UTC时间转 北京时间使用 CONVERT_TZ() 函数,如下所示:select CONVERT_TZ('2019-01-19 09:26:00','+00:00','+08:00');--结果:2019-1-19 17:26:00...原创 2019-01-19 17:33:03 · 5403 阅读 · 1 评论 -
Windows 安装ubuntu 并使用 xshell 连接
安装opensshsudo apt-get install openssh-server2. 查询openssh是否已经运行ps -e | grep ssh显示sshd,则已经运行,否则执行:v/etc/init.d/ssh start3. 假如连接本地虚拟机中的ubuntu,需要更改虚拟机网卡设置,变成桥接网卡,并重启虚拟机。打开Xshell,在连接设置中输入ubuntu的...原创 2019-08-09 19:16:55 · 1759 阅读 · 0 评论 -
微信小程序 | 隐藏底部菜单栏 json中的tabBar
个人记录微信小程序 | 隐藏json中的tabBar一、小程序的app.json中的底部菜单设置底部菜单栏:代码:{ "pages": [ "pages/index/index", "pages/login/login" ], "window": { "backgroundTextStyle": "light", "navigati...原创 2019-05-22 18:51:49 · 13948 阅读 · 3 评论 -
Linux 上 Mysql 常用操作命令
个人记录Linux 上 Mysql 常用操作命令一、连接数据库输入:mysql -uroot -p然后输入密码二、注意每次都要加结尾符号:";"- show databases; --查看所有数据库- use 数据库名字; --进入到某个数据库- show tables; --查看上面use命令进入数据库的所有表- describe 表名; --显示数...原创 2019-05-16 19:09:21 · 439 阅读 · 1 评论 -
Docker(四)| 删除镜像和容器
个人记录Docker 删除镜像和容器一、命令使用 docker --help 可以查看所有命令docker rm 容器ID(CONTAINER ID) --删除容器docker rmi 镜像ID(IMAGE ID) --删除镜像二、步骤先查看...原创 2019-04-18 17:42:16 · 917 阅读 · 1 评论 -
Boot2Docker(二)| redis安装
Doker redis安装一、安装包(包含虚拟机和redis客户端)百度云:链接:https://pan.baidu.com/s/1Z3zLkPLuZwHbwUhATfQYbg提取码:9ibe安装可以看里面的安装教程,不懂的可以评论1.1 安装好后在桌面可以看到这两个图标双击 Boot2Docker Start,即可打开对应的命令窗口,等待窗口加载完成,在窗口中使用命令 boo...原创 2019-04-18 18:26:44 · 469 阅读 · 0 评论 -
Python 的随机函数 Random
random()random()方法:返回随机生成的一个实数,它在[0,1)范围内运用random()方法的语法:import random #random()方法不能直接访问,需要导入random模块,然后通过random静态对象调用该方法random.randomrandom.random()方法用于生成一个0到1的随机浮点数:0&lt;=n&lt;1.0import ra...转载 2019-01-30 16:20:17 · 2369 阅读 · 1 评论 -
mysql的for update详解
参考博客: https://blog.csdn.net/u011957758/article/details/75212222原创 2019-01-16 18:45:28 · 693 阅读 · 0 评论