Java学习笔记
文章平均质量分 50
令人作呕的溏心蛋
人生何处不青山
展开
-
Java中PostgreSQl一大批数据(3000+)插入数据库,后台直接报错An I/O error occurred while sending to the backend.
Java中PostgreSQl一大批数据(3000+)插入数据库,后台直接报错An I/O error occurred while sending to the backend.原创 2024-05-08 09:01:53 · 187 阅读 · 1 评论 -
在Java中假设我有一个List<String>列表,有两个数据在里面分别是04:00:00和12:00:00,如何比较大小保留最小的或最大的其中一个
【代码】在Java中假设我有一个List列表,有两个数据在里面分别是04:00:00和12:00:00,如何比较大小保留最小的或最大的其中一个。原创 2024-04-25 17:17:13 · 93 阅读 · 0 评论 -
Java中使用List的stream流19中常用方法操作以及使用常用的filter、map、distinct、count、collect、skip、limit等方法进行数据列表的处理以及数据列表的分页
【代码】Java中使用List的stream流19中常用方法操作以及使用常用的filter、map、distinct、count、collect、skip、limit等方法进行数据列表的处理以及数据列表的分页。原创 2024-04-25 14:41:28 · 326 阅读 · 0 评论 -
Java中double数值保留两位小数的四种实现方式
【代码】Java中double数值保留两位小数的四种实现方式。原创 2024-04-25 14:21:04 · 258 阅读 · 0 评论 -
Java中使用List的stream流实现分页,有时候我们的需求并不能使用mybatis或mysql去实现分页,我们就需要处理好数据后使用stream流去处理分页
Java 9 或更高版本中使用 toList() 方法。如果你使用的是 Java 8,则可以使用 collect(Collectors.toList()) 方法来替换 toList()。使用 skip() 和 limit() 方法。skip(n) 方法用于跳过前 n 个元素,而 limit(n) 方法用于限制元素的数量为 n。结合这两个方法,你可以实现分页效果。将.toList() 替换成 .collect(Collectors.toList());原创 2024-04-19 10:08:55 · 183 阅读 · 0 评论 -
Java 判断两个Date类型的时间是否大于6天
cardDeviceTrajectoryInfo.getGpstime().toInstant() 是表中最后一条数据的时间,并转换成Instant对象。new Date().toInstant() 是获取当前时间,并转换成Instant对象。原创 2024-04-17 14:58:55 · 166 阅读 · 0 评论 -
Linux中判断某个Docker容器服务的内存是否超过临界值,比如到达10G,则在凌晨4点执行定时任务执行重新构建命令
监测NAME是blade-jiangxinzhougarden的服务,如果内存(MEM USAGE)超过10G则在凌晨4点执行重新构建命令。原创 2024-03-14 16:00:17 · 397 阅读 · 0 评论 -
使用Java自带的VisualVM监控远程服务器部署在Docker容器中的Java项目并使用Mat在线工具排查服务器内存泄露或内存溢出的原因
事情是这样的,我们项目最近应业主的要求迁移到了新的服务器,起初一切正常,部署、上线、测试都没有问题,项目大概运行了一周的工作日时间都没出现问题,直到周六那天,项目经理打电话过来说服务器崩了,图片上传不了,验证码加载不出来等各种问题。。。然后火速连到服务器查看了一下Docker 命令中用来显示容器资源利用情况,发现这个Java服务一直在持续的上涨到15G左右(正常也就几百兆),以至于涨到服务器挂掉了。。。额,我初步怀疑是定时任务太多的问题。原创 2024-03-13 16:14:46 · 1287 阅读 · 0 评论 -
在Java中内存泄漏(Memory Leak)和内存溢出(Memory Overflow)的区别
内存泄漏指的是程序中已经不再使用的内存没有被正确释放或回收的情况。这种情况下,内存中仍然存在一些对象占用空间,但由于程序无法访问到这些对象,导致这部分内存无法被重新利用,随着时间的推移会造成系统可用内存逐渐减少。原创 2024-03-13 16:14:05 · 398 阅读 · 0 评论 -
Java中将List集合数据转成带反斜杠的字符串格式
【代码】Java中将List集合数据转成带反斜杠的字符串格式。原创 2023-12-14 14:06:49 · 949 阅读 · 0 评论 -
Spring Boot中有很多个定时任务@Scheduled(cron = “0 0 0 * * ?“),怎么通过.yml配置一下,可以控制所有定时任务开启或者不开启?
然后,在你的定时任务类中使用@ConditionalOnProperty注解,根据配置的属性值来决定是否启用定时任务。要通过.yml配置文件控制所有定时任务的开启或关闭,你可以使用Spring Boot的属性配置功能。这样子我们只需要在.yml文件中的控制true开启或false不开启即可。原创 2023-12-13 15:17:38 · 722 阅读 · 0 评论 -
解决mybatis-plus中,当属性为空的时候,update方法、updateById方法无法set null,直接忽略了
在实体类对应的字段上加注解@TableField(strategy=FieldStrategy.IGNORED),忽略null值的判断即可。需要注意的是使用该注解后这个属性就会全局忽略null值的判断。我们会发现sql中indexId这个属性也set为null了。sql语句中没有了set indexId这一属性。当indexId set 22的时候是可以set的。但是当我们indexId为空的时候。既然属性都没了,表是肯定没做修改的。那么表自然也会修改成null值。我们发现sql语句也是正常的。原创 2023-12-06 15:05:48 · 816 阅读 · 0 评论 -
Java中通过List中的stream流去匹配相同的字段去赋值,避免for循环去查询数据库进行赋值操作
接着,使用forEach方法遍历equipmentDeviceMessageInfo列表,根据phone匹配userMap,如果找到匹配项,则将对应的name赋值给equipmentDeviceMessageInfo中的name字段。:上面两个列表怎么使用流,根据equipmentDeviceMessageInfo中的phone字段去匹配userList 中的phone字段再获取userList 中是name赋值给equipmentDeviceMessageInfo 中的name。原创 2023-10-16 15:21:58 · 1145 阅读 · 0 评论 -
Java中的Date类型、LocalTime类型、LocalDate类型、LocalDateTime类型有什么区别?
类型在处理日期和时间上存在一些问题,因为它不是线程安全的,且大部分方法已被标记为过时。因此,在Java 8及以后的版本,引入了新的日期和时间API。类型是在旧版Java中引入的,用于表示日期和时间。它包含了年、月、日、时、分、秒等信息,但不包含时区信息。类型包含日期和时间信息,并且在处理时需要注意其线程安全性和过时方法的使用。提供了丰富的方法用于处理日期和时间操作,如日期时间的加减、格式化、比较等。在编写Java代码时,推荐使用新的日期和时间API中的。这四种类型的区别主要在于其所包含的信息和使用方式。原创 2023-10-16 14:18:27 · 494 阅读 · 0 评论 -
解决net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “>=“ <OP_GREATERTHANEQUALS>
Sql在Navicat里面能执行,但是在项目中却执行不了报错。直接在Mapper接口对应的方法上加上这个注解就好了!原创 2023-09-21 13:15:37 · 364 阅读 · 0 评论 -
springboot中entity层、dto层、vo层通俗理解三者的区别
用于返回数据给前端,也就是说当我们在写业务的时候,前端不一定要全部的数据,他有可能只需要三四个,或者更少的数据,这时候我们就需要用到vo了,我们只需要在vo里面写三四个属性就好了,直接把这个vo返回给前端。:用于后端接收前端返回的数据,一般是post请求,前端会给我们返回一个json对象,我们这个dto就用于接收这个json对象,dto的每个属性名和json对象的key是对应的。:这个类的属性是跟数据库字段一模一样的(驼峰命名),当我们使用MyBatis-Plus的时候经常用得到。原创 2023-09-02 14:29:03 · 1865 阅读 · 1 评论 -
Mybatis Plus中使用LambdaQueryWrapper进行分页以及模糊查询对比传统XML方式进行分页
return Page类型可以得到数据的总数,你也可以通过.getRecords()方式获取List集合。传统的XML方式只能使用limit以及offset进行分页,通过判断name和bindState是否为空,不为空则拼接条件。只需要在Service实现类中直接调用Mybatis Plus的方法即可进行操作。这样子,我们就可以通过Mybatis Plus得到分页数据了!原创 2023-08-18 09:18:15 · 2542 阅读 · 0 评论 -
在Java中如何使用List集合实现分页,以及模糊查询后分页
【代码】在Java中如何使用List集合实现分页,以及模糊查询后分页。原创 2023-08-11 13:25:31 · 501 阅读 · 0 评论 -
MyBatis动态传入表名以及#{}和${}的区别
总结一下,就是当我们需要拼接的变量上不能带单引号时,就必须使用${},其他情况都尽量使用#{}的方式,因为${}会有sql注入的问题。而如果我们使用${}的方式编写的sql时,${} 是进行sql拼接,${} 对应的变量是不会被加上单引号 ’ ’ 的。参数user上会带着单引号,而单引号在mysql中会被识别为字符串,select一个字符串肯定是会报错的。在mybatis中如果我们使用#{}的方式编写的sql时,#{} 对应的变量自动加上单引号 ’ ’原创 2023-07-26 15:37:55 · 458 阅读 · 0 评论 -
在Java中自定义的注解是如何使用的?为什么别人的注解源码里面什么都没有也可以执行?
Target 和 @Retention 代表元注解。@Target 用于描述注解的使用范围(也就是说这个注解是否可以在类上面使用、是否可以在方法上面使用等)。@Retention 表示需要在什么级别保存该注释信息,用于描述该注解的生命周期 (SOURCE < CLASS < RUNTIME) 默认:RUNTIME。/*** @Target 和 @Retention -> 元注解。原创 2023-06-04 17:03:06 · 240 阅读 · 0 评论 -
Java、MySQL中所有类型的默认字节和所占位数
【代码】Java、MySQL中所有类型的默认字节和所占位数。原创 2023-04-23 17:05:24 · 753 阅读 · 1 评论 -
Java多线程学习笔记
前言:笔记是参考B站up主遇见狂神说,图片、代码都是哦。因为最近特别喜欢他教的课程,所以就一边跟着学习,一边在blog写笔记~(图片、代码来源狂神说Java,侵权必删!)狂神说Java学习路线B站网站:https://www.bilibili.com/read/cv5702420原创 2022-05-12 23:51:30 · 113 阅读 · 0 评论 -
JVM学习笔记
前言:笔记是参考B站up主遇见狂神说,图片、代码都是哦。因为最近特别喜欢他教的课程,所以就一边跟着学习,一边在blog写笔记~(图片、代码来源狂神说Java,侵权必删!)狂神说Java学习路线B站网站:https://www.bilibili.com/read/cv5702420原创 2022-05-12 23:50:38 · 101 阅读 · 0 评论 -
JavaSE、JavaWeb、JavaEE、以及进阶所需要学习的知识内容
JavaSE:Java基础,我们入门所学的基础语法循环判断之后还有面向对象、网络编程、多线程、注解和反射、JVC、JUC等等。学习地址:https://www.bilibili.com/video/BV12J41137huJavaWeb:pojo层(pojo=entity=domain):实体类dao层:业务逻辑层、直接操作数据库service层:服务层、负责业务调度dao层、对外提供功能servlet层:转发、重定向、控制页面的跳转jsp/html层:web页面代码编写搭建web项目,需原创 2022-03-05 10:58:09 · 14174 阅读 · 0 评论 -
Java面向对象学习笔记
构造器有参构造:一旦定义了有参构造,无参构造就必须显示定义构造器:和类名相同没有返回值作用:new本质在调用构造方法初始化对象的值封装(属性私有 get/set)提高程序的安全性,保护数据隐藏代码的实现细节统一接口系统可维护增强了class Student{ //属性私有private private int id; private String name; private String sex; //使用get、set提供原创 2021-09-25 23:48:58 · 132 阅读 · 0 评论