![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Java学习道路上的一些总结和问题
liuhuapeng0304
00后Java工程狮一枚,喜欢瞎琢磨
展开
-
传入一个日期获取这个日期当前所在的自然周区间
【代码】传入一个日期获取这个日期当前所在的自然周区间。原创 2024-07-09 10:40:47 · 916 阅读 · 0 评论 -
List.jsonobject 取里面某个字符串进行排序
需要正序obj1和obj2调换方向就可以。原创 2024-06-06 16:45:22 · 145 阅读 · 0 评论 -
判断某个日期是否在某个时间段内【包含起止时间】
【代码】判断某个日期是否在某个时间段内【包含起止时间】原创 2024-04-11 09:21:28 · 241 阅读 · 0 评论 -
easyexcel加粗边框
【代码】easyexcel加粗边框。原创 2024-02-29 16:26:17 · 536 阅读 · 0 评论 -
easyexcel字体加粗
【代码】easyexcel字体加粗。原创 2024-02-29 14:43:35 · 827 阅读 · 0 评论 -
Object转List
工作中经常会遇到一个map存key为string类型 value存object,方便我们下文代码获取数据。上述这种情况就是,一个map存在多个类型。下文获取需要将object转为list。原创 2024-02-22 09:46:47 · 1000 阅读 · 0 评论 -
Java正则只取中文和英文
【代码】Java正则只取中文和英文。原创 2024-02-19 13:33:14 · 166 阅读 · 0 评论 -
获取两个时间之间的所有日期
【代码】获取两个时间之间的所有日期。原创 2024-01-11 14:23:41 · 478 阅读 · 0 评论 -
mybatis as 后可以用占位符吗
先说结论 肯定是可以的。原创 2024-01-08 17:32:49 · 405 阅读 · 0 评论 -
获取起止时间内的所有自然周
【代码】获取起止时间内的所有自然周。原创 2024-01-08 17:30:11 · 468 阅读 · 0 评论 -
MybatisPlus saveBatch报空指针
根据源码 发现报错是一个类型校验,Java bean是string 表里是decimal类型。使用mybatisPlus的saveBatch批插,结果报空指针。以为是批插的list有空对象,经过排查没有空对象。原创 2023-12-22 09:40:06 · 694 阅读 · 0 评论 -
数据库日期类型dateTime,java用Date接收结果多一个.0
MySQL数据库表里数字段时date类型的字段,Java用string接收会莫名多一个.0。2.用substring截取。1.字段换成date。原创 2023-12-04 16:38:50 · 361 阅读 · 0 评论 -
easyExcel校验上传的文件表头
【代码】easyExcel校验上传的文件表头。原创 2023-09-18 13:25:16 · 1414 阅读 · 0 评论 -
springboot+java email发送邮箱报错javax.mail.MessagingException: Can‘t send command to SMTP host
一般这种报错如果不是配置问题,那就是邮箱发送频繁了。具体的邮箱发送上限限制也没有查到。也没时间去问企业微信客服,仅供参考~原创 2023-09-12 18:01:45 · 3390 阅读 · 1 评论 -
BigDecimal加减乘除工具类
【代码】BigDecimal加减乘除工具类。原创 2023-09-12 13:52:47 · 238 阅读 · 0 评论 -
inputStream重复使用消费easyExcel
【当然我也可以每个线程多次下载,但是每次都要连接ftp服务器,自己没有测试过性能,但是觉得不太雅观】但因为是多线程去跑同一个excel 解析多个sheet。就导致流被一个线程消费后别的线程无法使用。从FTP服务器上下载的文件流只能被easyexcel消费一次。clone流,或者把流放到缓存里。我这里采用的是clone多个流出来。方法使用很简单,就不多赘述。原创 2023-06-28 15:48:14 · 1204 阅读 · 0 评论 -
Map的map.get(Object key)方法传入数据类型 坑
我有一个map 是 string object 类型,另一个map是 integer object 类型。然后根据stirng的map去匹配integer的map。map.get 发现不是一个类型 不会报错,但是会影响最后结果。改成object,object 或者转成integer再去比较。原创 2023-06-27 17:57:52 · 1120 阅读 · 0 评论 -
快来 ,一起复习一下反射
反射是在运行状态中,对于任意一个类,都能获取该类的所有属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性,这种动态获取类信息以及动态调用对象内容就称为Java的反射机制。原创 2023-06-01 10:44:40 · 2002 阅读 · 0 评论 -
快来,一起复习一下乐观锁悲观锁
乐观锁和悲观锁 只是用来形容并发的侧重程度,并不是具体到某个具体的锁。更侧重于一种思想参考。原创 2023-05-31 16:33:34 · 158 阅读 · 0 评论 -
快来,一起复习一下分布式
分布式系统指的是通过网络连接让多台计算机协同解决单台计算机所不能解决的计算、存储等问题,多台计算机之间通过 RPC 方式通信。总体来说,还是利大于弊的。不像之前的单体服务发布需要等到凌晨三四点。现在微服务可以各自负责各自的模块,发布速度也会很快。原创 2023-05-31 14:33:36 · 1394 阅读 · 0 评论 -
快进来,一起复习一下松耦合紧耦合
个人感觉耦合不单单指代码,也可以用来形容服务间的耦合程度。比如:单体服务:客户端请求进来直接就是服务器。(这就是服务商的紧耦合),这样虽然方便,快捷,减少了开发投入。但是可控性以及稳定性都会下降很多。可以在服务器和客户端之间加一层代理层,这样可以分发请求,也可以提高服务的稳定性以上皆是鄙人的拙见,如有误导,非有意,请指出。原创 2023-05-30 14:19:10 · 2234 阅读 · 0 评论 -
SimpleDateFormat线程不安全问题
在多线程中使用全局变量时一定要考虑到线程安全问题,若不确定是否存在线程安全问题的公共变量,则不要冒然使用,可以做一些测试和资料分析,或者使用局部变量。原创 2023-02-28 09:57:45 · 560 阅读 · 0 评论 -
@DateTimeFormat@JsonFormat注解详解
JASKSON在序列化时间时是按照国际标准时间GMT进行格式化的,而在国内默认时区使用的是CST时区,两者相差8小时,因为我们是东八区(北京时间),所以我们在格式化的时候要指定时区(timezone)。解析后存入DB中的则为:2023-02-23 09:46:12,查询时返回的数据则为:“2023年02月23日 09时46分12秒”@JsonFormat注解是属于Jackson的一个时间格式化注解,用于格式化时间。中国时间(Asia/Shanghai) = 格林尼治时间(GMT)+ 8。原创 2023-02-23 10:02:42 · 1034 阅读 · 0 评论 -
CSV导出报错input length=1
导出的时候报错 input length = 1。但是这个报错是编码报错 很奇怪。新的写法加了一个缓存区。到处百度大概意思是 内存缓存区太小,导出。csv导出报错 input length =1。原创 2022-12-29 11:53:39 · 2339 阅读 · 0 评论 -
MySQL varbinary类型字段 java怎么取
最近遇到,从MySQL取出二进制后string接收乱码。查了半天资料,处理方式如下:如下:,A是 byte[]类型原创 2022-12-29 11:43:18 · 358 阅读 · 0 评论 -
使用自定义注解校验list的大小
这样使用后,如果前端传递过来的listsize大小超出限制,会给提示。自定义注解实现类(可以自行修改maxSize的取值大小)原创 2022-07-27 09:40:43 · 1428 阅读 · 2 评论 -
MySQL varbinary类型字段 java怎么取
最近遇到,从MySQL取出二进制后string接收乱码。查了半天资料,处理方式如下:如下:,A是 byte[]类型原创 2022-06-23 17:07:11 · 673 阅读 · 0 评论 -
SpringBoot如何配置多数据源?
导入依赖spring依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.9.RELEASE</version> <relativePath/> <!-- lookup parent fr原创 2022-05-26 10:26:22 · 1336 阅读 · 0 评论 -
java Map key-value 反转
1.Stream工具处理集合问题,如果开发环境是Java 8+,多使用Stream,Stream 是用函数式编程方式在集合类上进行复杂操作的工具。1.List转MapMap<String, String> collect = list.stream().collect(Collectors.toMap(obj -> obj.getXXX(), obj -> obj.getYYY()));2.Map的Key,Value翻转Map<String, String&原创 2022-05-18 09:25:46 · 10715 阅读 · 1 评论 -
Java MD5加密
/** * MD5 加密 * @param text * @return */ public static String encrypt(String text) { StringBuilder sb = new StringBuilder(""); try { MessageDigest md = MessageDigest.getInstance("MD5"); md.upd.原创 2022-03-24 15:13:58 · 634 阅读 · 0 评论 -
Java post 表单请求和json请求第三方接口
1、表单请求public final <Q, R> R getRequest(HttpExecutor httpExecutor, String uri, Class<R> clazz) { R response = null; List<NameValuePair> headers = new ArrayList<NameValuePair>(); headers.add(new BasicNameValu原创 2022-03-24 11:41:17 · 2581 阅读 · 2 评论 -
List之list数组使用List<String[]>
想要的结果“result”:[[ “列1”,“列2”,“列3”],[“列1”,“列2”,“列3” ]] public static void main(String[] args) { String[] array = {"java", "c"}; String[] array1 = {"java", "c"}; String s = Arrays.toString(array); System.out.println(s);原创 2022-03-23 15:29:05 · 3744 阅读 · 0 评论 -
Java 使用Fastjson将Json字符串转为泛型对象
1、导入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version></dependency>2、泛型类/** * 返回泛型类 * @author liuhuapeng * @version 1.0 * @date 2022原创 2022-03-23 10:36:38 · 5496 阅读 · 0 评论 -
Lists.partition集合分组使用以及注意事项
1.介绍Lists.partition是com.google.common.collect包下的一个方法。作用是将目标集合按照传入的size分组。2.使用场景一般用于固定大小的集合处理,比如:我有两百个商品类型,要求前一百个一种处理方式,后一百个一种处理方式。3.用法pom文件<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</原创 2022-02-15 10:18:56 · 17535 阅读 · 0 评论 -
@Valid注解作用,为什么@NotNull会失效呢
作用@Valid,主要是用来校验绑定的参数是否符合预订的要求用法:通常用于controller层,入口处bean校验,如:非空校验下面这个例子,就是用于非空校验 @PostMapping("/queryStoreList") @ApiOperation(value = "查询店铺列表") @RequireLogin public Response<List<HapiQueryStoreListResp>> queryStoreList(@Req原创 2022-01-18 13:50:42 · 3466 阅读 · 0 评论 -
apollo配置用map接收
apollo配置如下。用key value接收Java代码@Value("#{${agent.partner.storeGroup}}")private Map<Integer,Integer> storeMap;这样获取就可以取到了。原创 2021-12-29 17:01:47 · 2173 阅读 · 0 评论 -
HashMap使用containsKey问题
背景:从map中匹配到一个key值,取到他对应的value使用: public static void main(String[] args) { Map<Integer, Integer> integerMap = new HashMap<>(); Integer bb = 1000; Long cc = 1000L; integerMap.put(bb,111); System原创 2021-12-29 16:36:00 · 1384 阅读 · 0 评论 -
Java 内部类详解
什么是内部类?在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类。内部类本身就是类的一个属性,与其他属性定义方式一致。内部类的分类有哪些内部类可以分为四种:成员内部类、局部内部类、匿名内部类和静态内部类。静态内部类定义在类内部的静态类,就是静态内部类。public class Outer { private static int radius = 1; static class StaticInner { public void vis原创 2021-12-23 09:22:18 · 481 阅读 · 0 评论 -
BeanUtils.copyProperties的用法
作用把a对象赋值到b 对象,不同于传统的get、set,可以节省很多行代码使用方法BeanUtils.copyProperties("已经有值的对象", "需要赋值给的对象"); 注意事项b中的存在的属性,a中一定要有,但是a中可以有多余的属性;a中与b中相同的属性都会被替换,不管是否有值;a、 b中的属性要名字相同,才能被赋值,不然的话需要手动赋值;Spring的BeanUtils的CopyProperties方法需要对应的属性有getter和setter方法;如果存在属性完全相同原创 2021-12-09 10:40:01 · 667 阅读 · 2 评论 -
SpringBoot单元测试
Spring Boot 中使用 JUnitSpring 框架提供了一个专门的测试模块(spring-test),用于应用程序的集成测试。 在 Spring Boot 中,你可以通过spring-boot-starter-test启动器快速开启和使用它。加入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-te原创 2021-12-09 10:25:49 · 1157 阅读 · 0 评论