Java开发
JustDI-CM
对于可控的事情要保持谨慎,对于不可控的事情,要保持乐观,人只能做自己能力范围内的事情,你要接受这个现实,并且以乐观的心,去应对这一切
展开
-
开发技术-Java BigDecimal 精度丢失问题
精度丢失原创 2024-07-13 11:48:00 · 284 阅读 · 0 评论 -
开发技术-Java集合(List)删除元素的几种方式
对 List 集合进行删除时,可使用迭代器,最简单的是使用 List 集合的 removeIf()/*** @Description: TODO(一句话描述该类的功能)System . out . println("原list:" + JSON . toJSONString(list));// 有问题的删除 for(int i = 0;i ++) {原创 2024-06-23 15:11:07 · 1510 阅读 · 2 评论 -
开发技术-FeignClient 对单个接口设置超时时间
FeignClient 调用某个接口,3s 没有结果就需要停止,处理后续业务。FeignClient 自定义 name 属性。原创 2024-03-20 23:00:00 · 1014 阅读 · 0 评论 -
Java开发与配置用到的各类中间件官网
开发配置时用到了一些官网地址,记录一下。原创 2024-03-08 17:27:42 · 487 阅读 · 0 评论 -
开发技术-Java 获取集合中元素下标并移动至指定位置
某些业务需要特定的元素在列表的最后或者指定位置展示。原创 2024-02-23 15:26:55 · 326 阅读 · 0 评论 -
Java【lambda表达式】语法及使用方式介绍
📕各位读者好, 我是小陈,这是我的个人主页📗小陈还在持续努力学习编程, 努力通过博客输出所学知识📙 希望我的专栏能够帮助到你:JavaSE基础: 基础语法, 类和对象,封装继承多态, 接口, 综合小练习图书管理系统等Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)由于正在更新 Java【EE初阶】部分中多线程。转载 2024-01-10 20:14:06 · 69 阅读 · 0 评论 -
Java报错-Non-terminating decimal expansion; no exact representable decimal result
在使用 BigDecimal 的 divide() 对两个数相除时,报了如题的错误。其中有的方法还可以传入指定精度和舍入模式。原创 2023-12-15 22:00:00 · 348 阅读 · 0 评论 -
开发技术-批量设置redis过期时间
项目组使用 Redis 太过奔放,许多 key 并没有设置过期时间,导致 Redis 服务器内存压力过大,需要成批次的为 key 设置过期时间。原创 2023-11-14 10:38:41 · 352 阅读 · 0 评论 -
开发技术-根据集合中对象的某个属性值进行分组
还搞了个死循环,后来项目组的二宝看了下说你可以用 stream 流,一行代码就可以了。对啊,先前用过,忘求了。昨天写代码的时候,遇到了如题的业务场景,一开始是用的笨方法(下方代码中有描述),一不注意。原创 2023-03-30 11:14:42 · 276 阅读 · 0 评论 -
开发技术-Java实体类链式赋值简单示例
从代码就可以看出,链式编程代码简洁、可读性强,不过听说不好调试,第一次用,我去试试。省力一点,可以使用插件 GenerateAllSetter 一键生成。@Builder 是 lombok 的注解,需要加在实体类上。当实体类的字段非常多时,就会产生大量的类似代码。这是个非常普通的实体类。当然还是有些麻烦的。原创 2023-03-17 11:40:27 · 2807 阅读 · 2 评论 -
开发技术-SpringBoot FeignClient 调用application/x-www-form-urlencoded 格式的 POST 请求
【代码】开发技术-SpringBoot FeignClient 调用application/x-www-form-urlencoded 格式的 POST 请求。原创 2023-02-28 15:49:20 · 2441 阅读 · 0 评论 -
开发技术-Java switch case 的简单用法
还是按照书本上的来吧,别整幺蛾子。int a = 2;");break;");break;");break;");} } }2!原创 2023-02-09 10:48:18 · 2479 阅读 · 2 评论 -
图解线程状态,看完浑身通透
不过如果你仔细看我上面的文章,有一句话提到了,jdk 中锁的实现,是基于 AQS 的,而 AQS 的底层,是用 park 和 unpark 来挂起和唤醒线程,所以应该是变为 WAITING 或 TIMED_WAITING 状态。但是在 Java 层面,JVM 认为等待 IO 与等待 CPU 执行权,都是一样的,人家就是这么认为的,这里我仍然不讨论其好坏,你觉得这么认为不爽,可以自己设计一门语言,那你想怎么认为,别人也拿你没办法。这部分是最复杂的,同时也是面试中考点最多的,将分成三部分讲解。转载 2022-10-12 14:00:17 · 445 阅读 · 0 评论 -
开发技术-前后端(vue+java)加密传输数据
我这里使用了base64编码了一下,base64是编码工具并不是加密算法,看有些资料认为只使用base64就能加密传输数据,也是离谱。前端 js—AESutils.js。在需要的 Vue 中引入。原创 2022-09-15 21:01:27 · 1742 阅读 · 0 评论 -
【Java基础-3】吃透Java IO:字节流、字符流、缓冲流
有人曾问fastjson的作者(阿里技术专家高铁):“你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?”高铁答道:“因为热爱本身,就是奖励啊!”这个回答顿时触动了我。想想自己,又何尝不是如此。写作是个痛苦的过程,用心写作就更加煎熬,需字字斟酌,反复删改才有所成。然而,当一篇篇精良文章出自己手而呈现眼前时,那些痛苦煎熬就都那么值得。如果这些博文能有幸得大家阅读和认可,就更加是莫大的鼓舞了。技术人的快乐就是可以这么纯粹和简单。点波关注不迷路,一键三连好运连连!转载 2022-09-13 19:52:47 · 121 阅读 · 0 评论 -
Java基础之try-with-resource语法糖
版权声明:本文为博主原创文章,遵循版权协议,转载请附上原文出处链接和本声明。转载 2022-09-07 09:10:33 · 756 阅读 · 0 评论 -
开发技术-Java从字符串中提取小数
项目上请求第三方服务,其中有个字段为字符串和小数的混合,类似:武汉0.1333;北京10.25;其它地区110.1需要将其中的小数取出。原创 2022-07-06 13:47:50 · 2685 阅读 · 0 评论 -
开发技术-Java定位并打印异常信息
生产环境报错,查看日志发现报了 NPE 具体的报错信息也没有(公司框架中的异常处理类),所以只能用最原始的那种即:e.printStackTrace()原创 2022-06-29 19:55:32 · 1774 阅读 · 0 评论 -
开发技术-获取10分钟前的时间
SimpleDateFormat:用于日期格式化Calendar:用于时间操作Date:用于获取时间 Java.Utils:Date 时间工具类f代码原创 2022-06-24 15:21:24 · 3350 阅读 · 0 评论 -
开发技术-使用easyexcel导入文件(简单示例)
目录1.引入依赖2.实体类3.业务处理类4.监听类5.controller6.postman 测试7.说明原创 2022-06-22 15:18:16 · 1853 阅读 · 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 · 5598 阅读 · 0 评论 -
开始技术-原子操作类AtomicInteger的简单使用
最近有个需求需要用到线程池,第一次写有没有什么经验。这里记录些遇到的问题,以作记录。1.int count 自增不是线程安全的10个线程,每个线程循环1000次对 count 自增1,运行结果每次都不一样,并且都小于10000。咨询了老王,说有个原子操作类AtomicInteger可以解决这个问题。执行结果: AtomicInteger 还有很多其他的方法,可以实现自增、自减、比较更新等。AtomicInteger 的其他方法,推荐博客......原创 2022-06-10 14:09:44 · 171 阅读 · 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 · 685 阅读 · 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 · 775 阅读 · 0 评论 -
开发技术-postman可以请求通,代码请求不通
使用 FeignClient 调用第三方的接口,在测试环境是没有问题的,但是调用对方的生产环境,出现了 400 错误<html><body><h1>400 Bad request</h1>Your browser sent an invalid request.</body></html>联系了对方,并没有找到问题在哪。然后使用 postman 请求对方生产环境时,是可以正常返回的。就很奇怪,同一个 jar 只有请求地原创 2022-04-19 19:54:53 · 27807 阅读 · 2 评论 -
Java线程的6种状态及切换(透彻讲解)
版权声明:本文为转载文章。 ...转载 2022-04-18 15:50:48 · 523 阅读 · 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 · 617 阅读 · 0 评论 -
开发技术-SpringBoot配置文件加载顺序
1.项目config文件夹下2.根目录下3.启动类resources的config文件夹下4.启动类resources1的优先级最高,以此类推优先级高的配置项会覆盖优先级低的原创 2022-01-24 16:23:04 · 165 阅读 · 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 · 280 阅读 · 0 评论 -
开发技术-@FeignClient调用请求超时
在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务要进行比较繁杂的业务计算,那后台很有可能会出现Read Timeout这个异常,因此定制化配置超时时间就有必要了。1. Feign Client Configuration# 默认开启feign.httpclient.enabled=false# 默认关闭feign.okhttp.enabled=true# 默认关闭f转载 2022-01-12 10:07:19 · 1777 阅读 · 0 评论 -
开发技术-修正二维码白边
1、现状:在前后端代码都一样的情况下,不同服务器上,生成二维码白边间距不一样。扒拉了下先前伙伴写的代码,定义了二维码整体的宽和高,但是并没有定义最外围白边的区域。从网上找了一段代码,亲测可用 /** * 缩小生成二维码白边框(删除白边 重新添加新白边) * * @param matrix * @return */ private static BitMatrix reduceWhite(BitMatrix matrix, in原创 2021-12-15 14:26:17 · 2048 阅读 · 0 评论 -
开发技术-java.lang.NoSuchMethodError,,,,,setTestFiled(Ljava/lang/String;)V
1、现状:在原有的实体类中增加一个字段,同时生成该字段的 getter setter然后在已有的逻辑中为该字段赋值,报错如题。奇了怪了,也没有什么多余的操作, Ctrl 点击实体类,进去查看,明明有 setter。网上找了找,说是依赖jar包冲突,导致该实体类有多个,然后全项目搜索实体类,没有同名的类啊。搞了半天,又是重新 import 实体类的,又是执行 mvn clean install ,又是重启idea的。到最后快要放弃的时候,尝试将 pom 文件中该实体类的依赖(实体类统一在原创 2021-12-14 10:45:13 · 649 阅读 · 0 评论 -
开发技术-Error: Invalid or corrupt jarfile
1、现状:正常的发代码,传到服务器后启动报错。奇了怪了,怎么会报这个错,也没改什么东西。比较了一下jar包,发现服务器上的jar包小了。按理说通过xftp上传不会出现这个情况。2、方法:随手打了个 df -h 发现家目录的磁盘空间满了。怪不得清理完空间,重新上传jar包,启动成功。...原创 2021-12-06 21:33:24 · 2024 阅读 · 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 · 1701 阅读 · 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 · 1585 阅读 · 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 · 2387 阅读 · 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 · 7538 阅读 · 2 评论 -
开发技术-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 · 216 阅读 · 0 评论 -
开发技术-返回前端字段为空的解决方法
1.需求:Java后端返给vue前端一个实体类,当实体类中的字段值为null时,该字段不返回,导致前端取值时报undefined错误。2.方法:利用反射,获取实体类中的属性名,判断属性值,为null时,利用set方法赋值为空字符串“”,代码如下:private Pojo getcheckMapValue(Pojo model) throws Exception { Field[] field = model.getClass().getDeclaredFields(); // 遍原创 2021-09-30 09:38:29 · 1575 阅读 · 0 评论 -
开发技术-springboot调用第三方接口超时
1.项目使用的是OpenFeign调用的第三方接口,但是报出了超时的问题。查了一些资料,有说需要设置ribbon的参数:ribbon: ReadTimeout: 60000 ConnectTimeout: 60000不过这个并不管用,ribbon是负载均衡使用的,对自己的服务(注册在eureka上的),可以起到作用。对于第三方并不起作用。2.老王查了资料,建议换一个http请求的框架,例如forest。然后做了一个demo1)引入依赖 <dep原创 2021-03-22 17:57:37 · 2280 阅读 · 2 评论