
Java
文章平均质量分 74
HaHa_Sir
守时,守约,守信!感恩!积少成多,积沙成塔,学无止境,戒骄戒躁!
展开
-
Java中 Map集合 compute 、computeIfAbsent 、 computeIfPresent、putIfAbsent 、getOrDefault 方法的区别
Java中 Map集合 compute 、computeIfAbsent 、 computeIfPresent、putIfAbsent 、getOrDefault 方法的区别computeIfAbsent 和 putIfAbsent 方法区别get 和 getOrDefault 方法区别:原创 2023-10-19 11:13:39 · 1153 阅读 · 0 评论 -
Oracle 时间多少秒以后 oracle interval 多少分钟之前 Oracle日期1小时后 Java时间多少秒以后 Java日期多少天之前
1、Oracle中,实现获取多少时间之后、之前,可以通过 INTERVAL 函数来实现 ,其中数值 > 0 ,则为之后;数值 < 0 , 则为之前。SYSDATE + INTERVAL '10' 单位单位 可以数值是:YEAR 年MONTH 月DAY 日HOUR 时MINUTE 分SECOND 秒2、在java程序中,可以使用 DateUtils.addXXX ,实现获取多少时间之前、之后。原创 2023-07-30 14:58:15 · 1154 阅读 · 0 评论 -
Java实现对象复制合并 Java 对象合并 java对象复制 null值不复制, 目标对象有值 不覆盖
Java实现对象复制合并 Java 对象合并 java对象复制 null值不复制, 目标对象有值 不覆盖hutool工具中,已经有对应的 BeanUtil 可以实现上述操作,且功能更强大,下面的案例中,将以 hutool BeanUtil 方式,实现Java 对象合并原创 2023-07-01 08:30:00 · 3706 阅读 · 2 评论 -
Java 对象复制 Java对象复制6种情况 效率对比 BeanUtils 对象复制 Dozer 复习复制 MapStruct对象复制
在Java开发中,经常会遇到对象的复制转换操作1、Spring BeanUtils2、Apache BeanUtils3、Dozer4、Hutool BeanUtil5、cglib BeanCopier 6、MapStruct原创 2023-06-12 16:40:17 · 6929 阅读 · 3 评论 -
Java Retry 重试 Java 重试机制 Spring Retry 重试机制 Java Spring Retry 实现代码重试
Java Retry 重试 Java 重试机制 Spring Retry 重试机制 Java Spring Retry 实现代码重试原创 2023-04-01 13:30:33 · 2450 阅读 · 0 评论 -
Java 设计模式 --- Template 模式 Java Template 模式 Java 模板设计模式
1、 若又有一个任务需要执行,直接继承 BaseTaskTemplate 类即可,重写 exec 方法;需要配置锁资源 , 重写 beforeExec 和 afterExec 方法;需要配置 开关 , 重写 setEnable 方法,加上 @Value 注解即可2、beforeExec 、afterExec 方法,是参考 线程池 ThreadPoolExecutor 的 实现, 如下:Spring @Value 赋值。原创 2023-04-01 12:43:11 · 1099 阅读 · 0 评论 -
Java 定时线程池各个方法的区别 Java周期执行线程池各个方法的区别 ScheduledExecutorService schedulerService
Java JDK提供的java.util.concurrent.Executors 线程池工具类中,有四个线程池创建的方法,分别是: 本文将整理 newScheduledThreadPool 定时线程池中各个方法的区别。 只执行一次,可以根据实际需要,有返回值和无返回值。 固定速率执行, 当方法执行时间 > period 时,则会按照 方法执行时间 周期的速率进行执行 ; 当方原创 2023-04-01 12:08:45 · 1044 阅读 · 0 评论 -
java8 stream reduce 方法用法 java stream reduce 方法使用方法
java8 stream reduce 方法用法 java stream reduce 方法使用方法在使用Stream的reduce方法时,发现该方法有 3个重载方法,分别是: 一个参数、两个参数、三个参数的,那么这3个重载方法的区别和用法呢, 本文将研究3个重载方法之间的区别,理清 一个参数、两个参数、三个参数 的使用场景。原创 2023-03-01 08:30:00 · 6357 阅读 · 0 评论 -
Java List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率
List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率面试的时候,有个常见的问题:“List集合如何去除重复元素”。 常见的回答是:“set集合,for循环对比,stream distinct”,那这些常见去重方法,哪个一个更好,哪一个效率更高呢?原创 2023-03-01 08:00:00 · 1609 阅读 · 0 评论 -
Spring @RequestBody注解 和 @RequestMapping注解 header 传参的区别
1、前端以json形式传参,使用@RequestBody 注解,即可接收到参数;与header属性是否设置是无关的。2、深度的学习:@RequestBody 实现json序列化的原理;@RequestMapping 各个属性的作用。原创 2023-02-05 23:11:09 · 1181 阅读 · 0 评论 -
Java 以数据流的形式发送数据request Java 数据封装到request中
在做微信支付结果通知的时候,看到一个描述:微信会把相关支付结果及用户信息通过数据流的形式发送给商户 ,那么java如何通过数据流的形式发送数据呢? java request stream , request.getReader()原创 2023-01-30 22:50:03 · 2147 阅读 · 0 评论 -
Java8 Optional 类常用方法 Java8 Optional orElse 、orElseGet 、orElseThrow 方法区别
无论 value 是否为null,都会执行 orElse 里的方法只有 value=null 时,才会执行 orElseGet 里的方法建议平时使用orElseGet 方法少用 orElse 方法!原创 2023-01-13 09:31:29 · 4666 阅读 · 0 评论 -
Java XML转换为JSON XML解析 转换为JSON Java 实现JSON转换为XML json转xml
java XML转换为JSON XML解析 转换为JSON Java 实现JSON转换为XML json转xml。原创 2022-12-30 18:40:01 · 2574 阅读 · 6 评论 -
【Exception】 Java Lambda List转换Map报错 触发异常 IllegalStateException: Duplicate key
在使用Java8 lambda 将List转换为Map时,遇到报错:IllegalStateException- Duplicate key .... 在使用lambda进行 list转换为map过程中,遇到 key重复的情况下,就会抛出异常 IllegalStateException- Duplicate key ... 1、在使用 lambda 进行list转换map时,要注意 可能会出现key重复的情况,日常开发中,原创 2022-12-05 16:40:18 · 1996 阅读 · 0 评论 -
Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法
若需要对 list进行截取,可以使用subList方法,进行生成 SubList的内部类,那么 ArrayList 和 内部类 ArrayList$SubList 有啥区别和关联呢java.util.ArrayList#subList 方法,特点如下:根据索引截取,取值区间是:前闭后开 生成的 ArrayList的内部类 SubList原创 2022-11-14 11:17:31 · 5705 阅读 · 0 评论 -
Java 多线程 Runnable 与 Callable 接口的区别 Runnable 和 Callable 区别 线程池 ThreadPoolExecutor的 submit和execute方法区别
runable 遇到异常时:会抛出异常callable 遇到异常时: 不会抛出异常callable 解决遇到异常的问题: 方法内 进行 try-catch需要获取返回值时,也可以通过: futureTask.get() ,处理异常;坏处是:会形成阻塞,异步变同步。try {}3、同理:线程池的 executor.execute() 方法会主动抛出异常;executor.submit() 方法不会抛出异常。Runnable#run: 方法体内,必须处理异常,不可以向外抛出异常。原创 2022-11-04 08:53:07 · 682 阅读 · 0 评论 -
Java List排序 java ListMap 排序 Java listmap 模拟 oracle 排序 Java listmap 模拟 mysql 排序
对 Listmap的结果集进行排序,类似于模拟 数据库中的Order By 排序。那么主要的需求有: 排序方式 ASC/DESC ; null 值处理:NULL FIRST / NULL LAST 。 在Java 中要实现以上相应的功能,对List进行排序,会遇到对应问题: 元素中有 null ,排序时候会抛出 NPE 、 null 元素放在 最前、最后面的问题。原创 2022-11-01 11:14:23 · 1402 阅读 · 4 评论 -
两个List循环效率对比 List转Map 循环效率对比 Listmap 循环 效率对比
一、情景描述1、在微服务开发中,如: 查询用户列表 userList,需要关联查询 每个用户下面的文件信息,由于数据库层隔离,不能直接进行 left join ,则需要通过关联查询 文件服务,来获取每个用户下的文件信息,伪代码如下:List userList = userService.getList(xx); List userFileList = fileService.getList(userIdList);2、再通过 关联的id,进行匹配; 一般进行匹配的方式有2种,原创 2022-11-01 10:46:25 · 1879 阅读 · 0 评论 -
poi 读取 excel 总行数 ,总列数 注意事项 lastRowNum 、lastCellNum
poi 读取 excel 总行数 ,总列数 注意事项 lastRowNum 、lastCellNum原创 2022-10-10 07:30:00 · 5224 阅读 · 0 评论 -
list.size() 方法频繁调用性能测试 优化程序结构,尽量减少方法的重复调用
1、大量数据情况下,频繁调用 list.szie()方法,会造成一定的性能损耗;可以将 list.size()方法,赋值到单独变量中,避免频繁调用,以达到提升性能的效果。2、使用test3方法,赋值到单独的变量中,效率最高。原创 2022-10-06 13:18:29 · 1193 阅读 · 0 评论 -
Java 异常中 e.getMessage() 和 e.toString() e.printStackTrace()的区别
一、概述 在java异常体系中,要打印异常信息,可以通过:e.getMessage() 、 e.toString() e.printStackTrace() 等方法打印出 一些 异常信息。已知的是这些方法都可以打印异常信息,但是这些方法打印的异常信息 都不相同,那么问题来啦: 这些方法打印异常信息的区别是?日常开发工作中,该用哪个方法打印异常信息呢?二、代码理解 1、 Junit 单元测试 --- 模拟异常信息输出 1.1、输出结果如下:原创 2022-10-01 08:00:00 · 7938 阅读 · 0 评论 -
Java 获取类中所有字段 转换为 json字符串 Java 类中字段转换为json字符串 javabean 字段 转换为 jsonStr
最近开发工作中,需要将类中的所有字段获取出来,并转换为json字符串,予以存储起来,用于poi excel导出,可以根据实际需要,增、减字段,来调整导出列的需求。本文将 使用 反射的方式,获取类中的字段,存储到map中,再使用Fastjson转换为json字符串,用于输出存储。原创 2022-10-01 07:30:00 · 3298 阅读 · 0 评论 -
Spring Boot 文件上传 报错:FileNotFoundException Spring 异步文件上传 FileNotFoundException
一、问题描述 在使用Spring Boot做文件上传的过程中,遇到上传文件报错 FileNotFoundException 问题,查了一圈,都是说要配置上传文件路径问题,经过仔细的分析和测试,发现不是配置路径的问题 (在主线程中,没配置路径,可以正常实现上传!),而是用了异步上传的问题导致的。 报错信息如下:二、模拟实现 1、使用 异步线程上传文件,抛出 FileNotFoundException 异常 1.1、运行结果:三、问题解决原创 2022-09-25 23:08:52 · 3364 阅读 · 2 评论 -
Spring Boot 异步线程静态获取request对象为空 RequestContextHolder 为空 Java 异步线程获取request为空
1、在写异步线程代码时,一定要注意异常情况的捕获和处理;若未正确的捕获或处理异常,会导致程序没有达到预期的执行结果,且没有任何异常输出,造成出现问题,难以排查的情况。原创 2022-09-25 22:46:38 · 6619 阅读 · 0 评论 -
Spring 静态属性赋值 @value 注入静态属性 @Value注解用法
Spring 静态属性赋值 @value 注入静态属性 @Value注解用法 @Value设置默认值原创 2022-09-18 22:35:52 · 5260 阅读 · 2 评论 -
Java 守护线程的作用 Java 守护线程线程
Java 守护线程的作用 Java 守护线程线程一、概述在看java线程相关的内容时,有一个 daemon thread 守护线程的概念,看方法注释内容,大意是:将此线程标记为守护线程或用户线程。当运行的所有线程都是守护线程时,Java虚拟机将退出。Marks this thread as either a daemon thread or a user thread. The Java Virtual Machine exits when the only threads running are all原创 2022-09-18 21:23:40 · 1149 阅读 · 0 评论 -
Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码
1、本示例是简单记录了使用 zxing生。 Java 生成二维码 zxing生成二维码 条形码 服务端生成二维码 Java生成条形码原创 2022-09-14 11:49:34 · 1451 阅读 · 0 评论 -
Spring Boot 配置读取顺序 apollo 配置读取顺序
Spring Boot 配置读取顺序 apollo 配置读取顺序 .和 关联公共 properties , 要读取其他 私有的 properties , 需要使用。: application 优先于 ,profiles。,优先于 私有 其他 properties。2、apollo Namespace:私有。注解进行指定,否则读取不到配置。原创 2022-09-08 09:49:02 · 4969 阅读 · 2 评论 -
Java Excel 复制单元格 poi Excel 复制单元格 Java Excel 复制行 Java Excel 复制 sheet 页 poi excel copy
1、本文记录 poi excel 实现 单元格cell的复制 、 row行复制 、 sheet 页复制;一般应用的场景:excel 模板中 可能需要进行的复制操作。Java Excel 复制单元格 poi Excel 复制单元格 Java Excel 复制行 Java Excel 复制 sheet 页 poi excel...原创 2022-09-01 09:00:00 · 8369 阅读 · 5 评论 -
Java Excel 合并单元格 Java Excel 实现尾部添加数据 Java Excel 合并单元格 添加数据 poi excel 合并单元格
最近的工作中,遇到一个需求,在生成的Excel表格后,需要在尾部添加 一个合并的单元格数据。Java Excel 合并单元格 Java Excel 实现尾部添加数据 Java Excel 合并单元格 添加数据原创 2022-09-01 08:30:00 · 4084 阅读 · 0 评论 -
Java8的 lambda Stream的 map 和 flatmap 方法区别 map和flatMap方法的用法
今天在看java lambda stream的时候,发现2个方法map 和 flatMap 方法很相似,都是遍历集合,返回对象,本着刨根问底的决心,来对比下 这2个方法的相同点和区别。原创 2022-08-17 22:51:58 · 3204 阅读 · 0 评论 -
Java8的 lambda Stream的 peek 和 foreach 方法区别 peek和foreach用法
最近在项目开发过程中,发现 Stream流的peek方法也可以遍历元素,平时开发过程中,遇到要遍历集合中的元素,都是 foreach 方法遍历,突然出现一个peek也可以遍历,好奇心驱使,要搞清楚:Stream的 peek 和 foreach 方法区别。常见的 list集合元素遍历方法:...............原创 2022-08-14 09:15:00 · 7092 阅读 · 0 评论 -
Java 集合分页 Java List集合分页 List 分页 Java List集合笛卡尔积
在Java开发中,若单次展示的数据量太大,会造成程序响应缓慢,就需要用到分页功能,每一页展示一定量的数据,分多次展示...那么在List集合中,如何实现分页功能呢?本文将以3种方式,分别是。......原创 2022-08-02 08:00:00 · 6978 阅读 · 9 评论 -
Java List 集合取 交集、并集、差集、补集 Java集合取交集、Java集合并集
1、在日常开发中,经常会遇到对2个集合的操作,例如2个集合之间取相同的元素(交集),2个集合之间取不相同的元素(差集)等等。。。2、本文系统性的整理,Java中集合。原创 2022-08-01 22:53:55 · 55969 阅读 · 10 评论 -
Java Enum 枚举用法 遍历枚举 获取枚举对象
Java Enum 枚举用法 遍历枚举 获取枚举对象.java enum 优化if else 语句原创 2022-08-01 20:49:26 · 11066 阅读 · 0 评论 -
Java List集合排序 Java8 List集合排序方法 Java Lambda集合排序
一、概述 Java中集合排序,在Java8之前,可以通过 Collections类的sort方法进行排序;Java8之后,新增 lambda和stream ,都增加了相关的排序方法,本文将整理下常见的三种排序方法。 分别是:二、准备工作 1、创建一个User类,相关属性如下: 2、单元测试类,准备工作三、List接口中sort方法排序 1、List.sort方法排序 2、多条件排序四、Stream中的原创 2022-06-22 17:52:27 · 5716 阅读 · 0 评论 -
Java trim()方法无效 java trim()无法去除空格 Java去除中文空格 Java去除全角空格
Java trim()方法无效 java trim()无法去除空格 Java去除中文空格 Java去除全角空格原创 2022-06-13 21:00:00 · 5517 阅读 · 3 评论 -
Java 反射判断类中是否包含某个方法 Java反射判断类中是否存在某个属性(字段)
Java 反射判断类中是否包含某个方法 Java反射判断类中是否存在某个属性(字段)一、前言在java中,可以通过反射获取类中的所有属性和方法,要判断类中是否包含某个方法或某个属性,使用常见的 getMethod() / getDeclaredMethod() 和 getField() / getDeclaredField() 即可获得对象方法、属性;再判断对象是否为null,即属性是否存在。这里有一个问题,若当前类的父类的私有属性、私有方...原创 2022-05-03 18:33:46 · 10736 阅读 · 1 评论 -
Java反射 getMethods 和 getDeclaredMethods 方法的区别
Java反射 getMethods 和 getDeclaredMethods 方法的区别一、前言Java反射中,获取某个方法对象,有2个方法分别是:getMethods 和 getDeclaredMethods , 这2个方法后者比前者多了一个 Declared ,那么这2个方法有啥区别呢?二、结论1、getMethods:获取当前类或父类或父接口的 public 修饰的字段;包含接口中 default 修饰的方法 (JDK1.8)。...原创 2022-05-03 18:24:23 · 6546 阅读 · 0 评论 -
Java反射 getFields和 getDeclaredFields 方法的区别
Java反射 getFields和 getDeclaredFields 方法的区别一、前言Java反射中,获取一个类中的属性(字段),有2种方法分别是:getFields和 getDeclaredFields , 这2个方法后者比前者多了一个 Declared ,那么这2个方法有啥区别呢?二、结论1、getFields:获取当前类或父类或父接口的 public 修饰的字段。2、getDeclaredFields:获取当前类的所有字段...原创 2022-05-03 18:13:43 · 10889 阅读 · 0 评论