java笔记
文章平均质量分 50
水豚少年的码农生活
Java开发工程师一枚
展开
-
java8中groupingBy时自定义Map类型
java8中groupingBy时自定义Map类型1、场景2、解决方案1、场景业务中,需要对数据根据日期排序后再根据某个字段分组groupingBy,但是在测试时发现,groupingBy会打乱之前排序好的内容,查看groupingBy的底层发现,默认会分组成HashMap的类型。2、解决方案为了让分组后的数据不变化排序的顺序,所以需要用LinkedHashMap来存放数据。即使用三参数的groupingBy,指定返回有序的LinkedHashMap。Collectors.groupingB原创 2022-01-06 19:39:32 · 2666 阅读 · 0 评论 -
springboot中接口post请求时分页处理
springboot中接口post请求时分页处理1、背景2、解决方案1、背景在前端请求springboot接口时,page分页多为get请求,然后在get请求中定义参数@PageableDefault Pageable pageable即可,如:@GetMapping(value = "/page")public Page<VO> queryPage(@PageableDefault Pageable pageable) { return service.queryPage(pa原创 2021-11-25 11:19:03 · 2586 阅读 · 0 评论 -
《Java编程思想》读书笔记
《Java编程思想》读书笔记读《Java编程思想》的一些心得1、一切皆对象到底存在了什么地方2、操作符3、初始化与清理4、复用类5、接口读《Java编程思想》的一些心得 《Java编程思想》,也叫《Thinking in Java》。 首先,这是一本非常非常非常好的一本书,是值得二刷、三刷、四刷的书。奈何我读书技巧不够,读的太慢,导致我还未读完这本书。但就目前我读完的地方而言,已经是受益颇多,也刷新了我太多的认知。大学的时候,也有学过Java相关的内容,但是老师讲的并不深刻,亦可能是我理解的不原创 2021-09-22 21:50:09 · 594 阅读 · 0 评论 -
Java 汉字获取拼音或首字母工具类
Java 汉字获取拼音或首字母工具类期望结果input:时间output: shijian或sj1、Maven依赖<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version></depen原创 2021-08-28 12:50:20 · 574 阅读 · 0 评论 -
java中静态方法调用spring管理的类的方法
java中静态方法调用spring管理的类的方法1、场景2、解决方法1、场景有时候为了美观(比如isXXX返回boolean),会想把方法写成静态的,但是方法中又需要调用service或者dao去关联数据,如果直接像下面这么写,会注入失败,获取到的是null@Autowiredprivate SysRoleService sysRole;public static boolean isSuperAdmin() { UserDetail user = getUser();原创 2021-07-29 10:04:50 · 675 阅读 · 0 评论 -
解决mq发消息比存数据库快的问题的另一种方法-亲测
解决mq发消息比存数据库快的问题的另一种方法-亲测1、背景描述在一个事务中,既做了插入数据库的操作,又做了向mq生产者发消息的操作,这个时候,mq生产者接收消息过快,导致mq消费者立刻消费,而在消费时,做了查询刚刚插入数据库的那条记录的操作,就会查不到导致空指针异常。2、解决方案使用spring的ApplicationEvent、ApplicationListener事件监听来达到延迟效果,就是在插入数据库的那个事务里,不再直接发消息给mq生产者,而是推送一个事件,在监听事件执行时,延迟几秒再发原创 2021-07-09 16:53:19 · 916 阅读 · 0 评论 -
java中排序比较器 Comparator 考虑为null的情况
java中排序比较器 Comparator 考虑为null的情况public class Comptor { public static void main(String[] args) { List<Bean> objects = new ArrayList<>(); Random random = new Random(1); for (int i = 0; i < 10; i++) { ob转载 2021-07-08 12:07:29 · 2631 阅读 · 0 评论 -
java动态设置List<实体类>属性值-多数据时高效率方法
java动态设置List<实体类>属性值-多数据时高效率方法1、思路2、完整代码问题描述:30万个实体类集合,List size=30w 开始是用转Map的形式,速度极低,直接导致程序卡死,后换了一个方法。有另个List动态存放实体类的属性名,如果这个集合中不存在List的属性,那么就需要将所有实体类的这个不存在的属性设置成其他值或者null。1、思路参考Java 根据字段名称获取字段值, 根据字段名称设置字段值java获取对象属性类型、属性名称、属性值首先获取实体类的所有属原创 2021-03-12 12:01:11 · 3471 阅读 · 1 评论 -
《Java 8实战》学习笔记 -持续更新
《Java 8实战》学习笔记** 第一部分 **第三章、Lambda表达式1、基础概念BeforeComparator<Apple> byWeight = new Comparator<Apple>() { public int compare(Apple a1, Apple a2){ return a1.getWei...原创 2020-12-23 23:15:50 · 351 阅读 · 0 评论 -
Linux中后台挂载启动jar包
Linux中后台挂载启动jar包nohup java -jar spacecloud.jar >spacecloud.log 2>&1 &原创 2020-06-15 17:59:05 · 882 阅读 · 0 评论 -
记java中用BigDecimal来解决数据类型不同及精确度高的相乘问题(多用于钱的计算)
记java中用BigDecimal来解决数据类型不同及精确度高的相乘问题(多用于钱的计算)1、加减问题2、乘除问题3、BigDecimal下的构造函数4、BigDecimal下的常用方法5、相除时的舍入方法1、加减问题//valueOf用于转换原始值BigDecimal priceNumBigAfter = BigDecimal.valueOf(priceNum);BigDecimal b...原创 2020-04-07 21:01:31 · 473 阅读 · 0 评论