小技术
JustDI-CM
对于可控的事情要保持谨慎,对于不可控的事情,要保持乐观,人只能做自己能力范围内的事情,你要接受这个现实,并且以乐观的心,去应对这一切
展开
-
开发技术-FeignClient 对单个接口设置超时时间
FeignClient 调用某个接口,3s 没有结果就需要停止,处理后续业务。FeignClient 自定义 name 属性。原创 2024-03-20 23:00:00 · 565 阅读 · 0 评论 -
开发技术-Java 获取集合中元素下标并移动至指定位置
某些业务需要特定的元素在列表的最后或者指定位置展示。原创 2024-02-23 15:26:55 · 247 阅读 · 0 评论 -
Java报错-Non-terminating decimal expansion; no exact representable decimal result
在使用 BigDecimal 的 divide() 对两个数相除时,报了如题的错误。其中有的方法还可以传入指定精度和舍入模式。原创 2023-12-15 22:00:00 · 262 阅读 · 0 评论 -
开发技术-批量设置redis过期时间
项目组使用 Redis 太过奔放,许多 key 并没有设置过期时间,导致 Redis 服务器内存压力过大,需要成批次的为 key 设置过期时间。原创 2023-11-14 10:38:41 · 247 阅读 · 0 评论 -
开发-关闭Eureka自我保护机制
当网络故障发生(延时、卡顿、拥挤)时,微服务与 Eureka Server之间无法正常通信,以上行为就变得非常危险,因为微服务本身其实是健康的,此时不应该注销这个微服务。默认情况下,应用服务(Eureka Client)会每隔30秒向 Eureka(Eureka Server) 发送一次心跳检测,超过90秒 Eureka Server 收不到心跳就认为服务挂了,就会将此服务节点从服务清单中删除。在自我保护模式中,Eureka Server 会保护服务注册表中的信息,不再注销任何服务实例。原创 2022-11-29 16:32:36 · 1014 阅读 · 3 评论 -
开发技术-前后端(vue+java)加密传输数据
我这里使用了base64编码了一下,base64是编码工具并不是加密算法,看有些资料认为只使用base64就能加密传输数据,也是离谱。前端 js—AESutils.js。在需要的 Vue 中引入。原创 2022-09-15 21:01:27 · 1630 阅读 · 0 评论 -
开发技术-Java从字符串中提取小数
项目上请求第三方服务,其中有个字段为字符串和小数的混合,类似:武汉0.1333;北京10.25;其它地区110.1需要将其中的小数取出。原创 2022-07-06 13:47:50 · 2624 阅读 · 0 评论 -
开发技术-Java定位并打印异常信息
生产环境报错,查看日志发现报了 NPE 具体的报错信息也没有(公司框架中的异常处理类),所以只能用最原始的那种即:e.printStackTrace()原创 2022-06-29 19:55:32 · 1724 阅读 · 0 评论 -
开发技术-获取10分钟前的时间
SimpleDateFormat:用于日期格式化Calendar:用于时间操作Date:用于获取时间 Java.Utils:Date 时间工具类f代码原创 2022-06-24 15:21:24 · 3193 阅读 · 0 评论 -
开发技术-使用easyexcel导入文件(简单示例)
目录1.引入依赖2.实体类3.业务处理类4.监听类5.controller6.postman 测试7.说明原创 2022-06-22 15:18:16 · 1735 阅读 · 0 评论 -
开发技术-PostMan测试SpringBoot项目接口,出现415报错,Unsupported Media Type(排查过程)
1.项目是SpringBoot框架,里面的 module 分了层级,在最内层的放置业务处理逻辑的 module 中新增了一个影像件上传的 module,controller 层代码如下很普通的一个文件上传功能,将启动类启动后,使用 postman 测试,却出现了 415 错误 从往上查了一些资料,有的说是1)代码注解不对:记录上传文件失败以及使用@requestbody问题_阳光温暖的博客-CSDN博客2)headers 设置的不对:java上传文件 415,【已解决】Mac中Postman去P原创 2022-06-22 09:33:09 · 5324 阅读 · 0 评论 -
开始技术-原子操作类AtomicInteger的简单使用
最近有个需求需要用到线程池,第一次写有没有什么经验。这里记录些遇到的问题,以作记录。1.int count 自增不是线程安全的10个线程,每个线程循环1000次对 count 自增1,运行结果每次都不一样,并且都小于10000。咨询了老王,说有个原子操作类AtomicInteger可以解决这个问题。执行结果: AtomicInteger 还有很多其他的方法,可以实现自增、自减、比较更新等。AtomicInteger 的其他方法,推荐博客......原创 2022-06-10 14:09:44 · 156 阅读 · 0 评论 -
开发技术-SpringBoot使用@Async实现异步执行代码
1.在项目中有些时候,需要异步执行一些代码,除了使用线程、线程池等方式,还可以使用@Async 注解实现2.直接上代码1)配置类:package com.example.demo.async;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.annotation.Bean;import org.springframework.context.annotat原创 2022-05-30 10:26:27 · 653 阅读 · 0 评论 -
开发技术-The temporary upload location [/tmp/tomcat.675057009992090348.13010/work/Tomcat/localhost/ROOT]
SpringBoot 框架,文件上传,先前用的好好的功能,突然报了500错误,具体报错信息如下Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.675057009992090348.13010/work/Tomcat/localhost/ROOT] is not valid这是文件上传时,需.原创 2022-04-20 14:59:20 · 765 阅读 · 0 评论 -
开发技术-Java格式化Formatter类
在看技术文档的时候,发现有String.format以及System.out.printf("%s,快放大%n", "小黑");二者的底层都是 Formatter 类实现的Formatter 类,提供了很多有用的格式化转换符package com.example.demo;import java.util.Date;public class Demo4 { public static void main(String[] args) {// .原创 2022-04-15 14:35:33 · 599 阅读 · 0 评论 -
开发技术-JSON.toJSONString出现{“$ref“:“$[0]“}
import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class RefFastJson { public sta..原创 2022-04-06 20:07:31 · 3559 阅读 · 0 评论 -
开发技术-Windows启动kafka闪退
Windows10上安装了 kafka 和 zookeeper ,用于日常开发。以前用就没有什么问题,今天连接的时候,kafka启动就闪退,zookeeper 上还输出了一行信息远程主机强迫关闭了一个现有的连接估计是先前用的时候,异常关闭导致的,这就需要删除 kafka 和 zookeeper 的日志,然后重启就可以了。zookeeper 的日志,在 zookeeper 安装目录 conf 文件夹下 zoo.cfg 文件的 dataDir 参数kafka 的日志,在 kafka 安装目录原创 2022-04-01 14:56:58 · 4896 阅读 · 0 评论 -
开发技术-Navicat快捷键
项目组上使用的是 MySQL 数据库,大部分伙伴使用 Navicat 连接数据库。在开发过程中,需要经常的使用 Navicat。在这里,记录一些常用快捷键1.打开一个新的查询窗口Ctrl + q2.关闭当前窗口Ctrl + w3.注释语句Ctrl + /4.解除注释Ctrl + Shift + /5.运行窗口中的所有语句Ctrl + r6.运行选中的语句Ctrl + Shift + r7.复制当前行Ctrl + d8.删除当前行Ctrl原创 2022-03-28 20:11:40 · 7291 阅读 · 2 评论 -
开发技术-An I/O error has occurred while writing a response message entity to the container output strea
正常运行的服务,突然报了异常An I/O error has occurred while writing a response message entity to the container output stream.org.glassfish.jersey.server.internal.process.MappableException: java.io.IOException: Connection is closed at org.glassfish.jersey.server.in原创 2022-03-22 11:38:43 · 3890 阅读 · 0 评论 -
开发技术-easyexcel生成表格
目录1.pom配置2.创建实体类3.创建工具类4.业务处理5.postman测试1.pom配置 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>原创 2022-03-21 18:40:46 · 711 阅读 · 0 评论 -
开发技术-idea设置提示不区分大小写
安装了20版的idea,发现提示是区分大小写的,不习惯File->Settings->Editor->Code Completion将Match case的复选框取消即可原创 2022-03-14 19:57:01 · 418 阅读 · 0 评论 -
开发技术-idea设置类和方法注释
1.类注释File->Settings->Editor->Fole and Code Templates->Class/**** @Author: ${USER}* @CreateTime: ${DATE} ${TIME}* @Description: TODO(一句话描述该类的功能)**/2.方法注释File->Settings->Editor->File Templates点击 +* * @autho..原创 2022-03-14 19:46:55 · 1064 阅读 · 0 评论 -
开发技术-常用idea插件推荐,助力开发
目录1.现状2.方法1.现状项目组有小伙伴使用了 lombok 的注解,在看这段代码时,报红,也太流氓了2.方法1)idea 线上安装File->Setting->Plugins在里面搜索安装即可2)线下安装lombok 下载地址:Lombok - IntelliJ IDEs Plugin | Marketplacehttps://plugins.jetbrains.com/plugin/6317-lombok/versions下载至本地后,在 .原创 2022-03-08 17:04:46 · 723 阅读 · 0 评论 -
开发技术-idea隐藏.iml等文件
目录1.现状2.方法1.现状idea加载完项目后,展现了许多代码的文件,例如 iml 文件, .idea 文件夹,看着不太顺眼2.方法进入idea的以下路径File–>Settings->Editor->File Types在后面添加需要隐藏的文件即可...原创 2022-03-01 17:23:33 · 540 阅读 · 0 评论 -
开发技术-.gitignore文件不生效
1.现状昨天复制了一个老项目,改了之后上传到了一个新的 gitlab 项目,初始化项目完成后,发现再用idea提交时,提了一些乱七八糟的文件上去。这是因为项目的 .gitignore 文件没有生效。2.方法在idea的命令控制台执行以下命令git rm -r -f --cached .git add .git commit -m "相关说明"git push...原创 2022-03-01 17:14:50 · 172 阅读 · 0 评论 -
开发技术-gitlab初始化项目
在 gitlab 上新建了一个项目,需要将代码提上去,步骤如下:1.进入代码文件夹,右键,选择 Git Bash2.分别执行以下命令git initgit remote add origin 项目git仓库地址,就是http://XXX.gitgit add .git commit -m "Initial commit"git push -u origin master命令执行完成后,回到 gitlab 刷新项目即可...原创 2022-02-28 15:44:51 · 1483 阅读 · 0 评论 -
开发技术-SpringBoot项目重命名
需要新建一个项目,还是一样的框架。准备复制个老项目改吧改吧,步骤如下:1.复制项目到别的文件夹,然后把复制的项目文件夹重命名2.用idea打开重命名后的项目,找到 File->Project Structure,分别进行如下步骤别忘了 Apply3.找到最外层的pom文件,找到原项目名,然后全局替换...原创 2022-02-28 15:18:09 · 1019 阅读 · 0 评论 -
开发技术-sql语句生成pdm
1.打开已有的 pdm,选择 File->ReverseEnginner->Databases2.选择 DBMS,不过第一次使用这个功能,DBMS 的选项可能是空的这个需要点击后面的文件夹,选择 PowerDesigner 安装目录下的 \Resource Files\DBMS 文件夹点击确定后,返回后,就有 DBMS 选项了选择 DBMS 后,点击确定3.点击带+号的图标,选择写好的建表语句,sql格式点击确定,创建成功...原创 2022-02-23 11:15:16 · 1670 阅读 · 0 评论 -
MySQL-IF()函数
有时候表中存储的某个字段值是两种码值,如:0-代表否,1-代表是返回给前端展示时,又不能是码值,需要代码转换下。其实可以使用IF()函数其语法格式如下:IF(expr1,expr2,expr3)即如果expr1为真,那么IF()返回 expr2,否则返回expr3。SELECT flag,IF ( flag = '1', '是', '否' ) FROM test_1;...原创 2022-01-26 16:36:25 · 1494 阅读 · 0 评论 -
开发技术-git修改用户名和邮箱地址
公司使用gitlab管理代码,后面又使用了一个平台,用于监控开发人员代码的提交。监测的时候需要覆盖每位开发人员git的公司邮箱地址(代码提交时会带过去)查看git用户名和邮箱git config user.namegit config user.email修改git用户名和邮箱git config --global user.name "username"git config --global user.email "email"如果设置错误,提示warning:原创 2022-01-25 11:06:21 · 953 阅读 · 0 评论 -
开发技术-SpringBoot配置文件加载顺序
1.项目config文件夹下2.根目录下3.启动类resources的config文件夹下4.启动类resources1的优先级最高,以此类推优先级高的配置项会覆盖优先级低的原创 2022-01-24 16:23:04 · 158 阅读 · 0 评论 -
开发技术-SpringBoot启动报错:Unregistering JMX-exposed beans on shutdown
新建了一个SpringBoot项目,启动时报标题错误。这是创建项目时没有引入web组件,没有找到Tomcat导致的。在pom文件中,添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>重启项目...原创 2022-01-24 15:58:11 · 266 阅读 · 0 评论 -
开发技术-Error: Invalid or corrupt jarfile
1、现状:正常的发代码,传到服务器后启动报错。奇了怪了,怎么会报这个错,也没改什么东西。比较了一下jar包,发现服务器上的jar包小了。按理说通过xftp上传不会出现这个情况。2、方法:随手打了个 df -h 发现家目录的磁盘空间满了。怪不得清理完空间,重新上传jar包,启动成功。...原创 2021-12-06 21:33:24 · 1924 阅读 · 0 评论 -
开发技术-cant resolve localhost address java.net.UnknownHostException
1、现状:将一个普通的应用部署至新服务器,启动过程中报错,但是最终启动成功了。springboot 启动初始化Redis时,解析localhost,如果hosts文件中没有配置就会出现此错误。2、方法:使用root用户或者管理员权限的用户,修改 /etc/hosts。修改后可以重启机器或者重启Linux的网络服务。hosts文件可能会影响其他服务,谨慎修改。如果hosts不生效,可能与Linux DNS 缓存有关。...原创 2021-11-19 20:12:28 · 1644 阅读 · 0 评论 -
开发技术-org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = -720899)
1、现状:kafka客户端报错---(id: 2147483645 rack: null) dead for groupkafka服务端报错---标题2、方法:有说是hostname没有匹配上的,但是这边的配置信息是直接写的IP,不存在这个问题。还有的说是 socket.request.max.bytes 的值太小,需要修改(kafka的配置文件),默认是100M,那么直接修改为200M---209715200 ,然后重启kafka,但是还是报同样的错误。在排查日志时,发现,ka.原创 2021-11-17 19:29:28 · 3520 阅读 · 0 评论 -
开发技术-no main manifest attribute
1、现状:打了个jar包,启动报错。没有main类,jar包的大小也只有4K。很奇怪啊,也没改什么东西,只是注释掉了自定义jar包位置的配置信息。再检查了一下,发现,将<build>标签中<plugins>都给注释掉了。犯蠢了,赶紧改回来。2、方法:在启动类所在模块的 pom 文件中添加:<build> <plugins> <plugin> <groupId>o原创 2021-11-16 18:11:35 · 1563 阅读 · 0 评论 -
开发技术-Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags
1.现状:新安装的idea,新下载的项目,运行maven clean package 时,出现标题错误。这个一般是依赖的工具版本不匹配引起的2.方法:在idea的左上方File--->Project Structure--->Project SDK改为JDK 1.8即可...原创 2021-11-15 18:26:17 · 2270 阅读 · 0 评论 -
开发技术-Process terminated问题排查
目录问题1:packaging标签问题2:maven版本问题3:setting文件问题4:自定义jar信息新建了一个springboot项目,想打成jar包,执行maven的clean package命令,执行报错:Process terminated问题1:packaging标签检查了pom文件,发现packaging标签值是pom,怀疑是这的问题,改为jar再执行打包命令,还是报错Process terminated问题2:maven版本怀疑是maven ...原创 2021-10-25 17:56:58 · 7302 阅读 · 2 评论 -
开发技术-curl发送get和post请求
说明:curl是利用URL语法在命令行方式下工作的开源文件传输工具。-d/--data HTTP POST方式传送数据。-H/--header 自定义头信息传递给服务器。-X/--request 指定什么命令。原创 2021-10-15 17:01:11 · 1991 阅读 · 0 评论 -
开发技术-RestTemplate发送post和get请求
RestTemplate restTemplate = new RestTemplate(); HashMap<String, String> requestMap = new HashMap<>(); requestMap.put("test", "aaa");//参数 String url = "http://10.XX.XX.XX:8001/app-service";//请求地址 HttpHeaders he.原创 2021-10-13 17:41:45 · 209 阅读 · 0 评论