java
文章平均质量分 85
涝山道士
希望能写出通俗易懂、能让大家更好理解的博文。
展开
-
【Java8】java.time 根据日期获取年初年末、月初月末、日初日末
记录日常开发中Java 8时间API的常用的日期转换代码。:下文中,都以LocalDateTime为例,在不声明的情况下如下方法一般都适用于Java8中LocalDate、LocalDateTime、OffsetDateTime、ZonedDateTime等时间类,不适用某些类时会在文中有提醒。原创 2023-10-16 15:02:45 · 2694 阅读 · 0 评论 -
java list列表按指定规则进行排序 自定义排序规则
在Java、MySQL中自定义权重生成规则来确定排序,大部分语言的排序都是根据权重大小进行排序的。在正序排序中,值越少权重越大,即小于0的会排在前面。要实现自定义规则的话,那么我们只需修改权重值的生成规则即可。原创 2023-08-28 07:00:00 · 1310 阅读 · 0 评论 -
java.time包使用指南
java.time包为处理日期、时间和时区提供了一个强大的解决方案。在这篇文章中,我们将探索它的关键类和它们的功能。如Instant、LocalDateTime、ZoneId、ZoneOffset、Date、OffsetDateTime、ZonedDateTime、Duration等等。通过了解这些类,你可以轻松的操作和计算日期和时间的能力,处理时区问题,并执行各种基于时间的操作。如实例化、转换和操作不同的时间对象,如何计算持续时间,调整时区,解析和格式化日期时间字符串,以及处理夏令时的转换。原创 2023-05-30 13:41:34 · 1609 阅读 · 0 评论 -
Java8 掌握Date与Java.time转换的核心思路,轻松解决各种时间转换问题
本文提供了时间类的转换,包括Date转LocalDateTime、Instant,LocalDateTime、Instant转Date,Date转java8其它时间类,Java8其它时间类转Date,Java8时间类——Instant、LocalDateTime、OffsetDateTime、ZonedDateTime互转等。原创 2023-05-01 09:00:00 · 2193 阅读 · 0 评论 -
Java 8 Optional在实际业务场景中的运用
如果Optional仅支持非空校验,那么使用场景其实有限的,索性Optional还支持非空校验外的其它校验来过滤数据。因此本文将不会对Optional的各个方法进行详细的阐述,只会说明Optional在实际场景中如何使用,并提及一些Optional方法的注意事项。本文描述了Optional在实际业务场景中的用法,并且涉及到了Optional的各个方法:ofNullable、filter、ifPresent、map、orElse、orElseGet等。原创 2023-02-08 18:26:24 · 1343 阅读 · 1 评论 -
【Java8 Stream】:探秘Stream实现的核心:Collector,模拟Stream的实现
等源码的解析,模仿Stream的思路自己写了一个使用Collector的流程,方便理解。本篇还处于待完善阶段,目前仅仅是使用了自己的方法来实现Stream对流的处理。1 执行入口,根据特征判断是否使用多线程,并对每个线程的结果进行合并,最后将合并的结果转为最终返回值。Collector的实现类很简单,它将用于存储用户输出的各项函数。模拟Stream,使用Collector实现一个简单的年龄计算。模拟Stream,使用Collector实现一个简单的年龄计算。一个简单的Collector实现类。原创 2022-11-02 10:03:40 · 643 阅读 · 0 评论 -
Stream Collectors.groupingBy的四种用法 解决分组统计(计数、求和、平均数等)、范围统计、分组合并、分组结果自定义映射等问题
基于Java8介绍Java stream Collectors.groupingBy 功能 使用 方法,对java Collectors.groupingBy()的可用方法进行一一举例介绍,如stream分组 stream分组计数 stream分组求和 stream分组聚合等,基于stream collect() 和 收集器 Collectors原创 2022-10-28 16:30:34 · 70001 阅读 · 10 评论 -
分析通过jmap等命令获取的JVM heap dump文件中,Class name列 [Z [B [C [L [D [F [I [J [S字符的含义
heap dump文件解析[Z [B [C [L [D [F [I [J [S等字符的含义Class.getName()方法的返回内容基本类型如何获取到Class类型信息原创 2022-10-09 17:26:20 · 4765 阅读 · 0 评论 -
【高频面试】Java String 面试题总结 欢迎指正和补充
String相关问题总结1. String 是否可以被修改2. String的值不可以被修改,为什么又可以被重新赋值呢,这是否有所矛盾?3. 直接赋值和new的区别4. String中equals()和==的区别原创 2022-10-07 13:49:21 · 1492 阅读 · 0 评论 -
一文了解Spring boot + open api 3.0 + knife4j的集成实例,提供开发时常用的API配置
spring boot 集成 open api 3.0,其基于swagger 2开发,且由官方维护。通过knife4j增强其功能,在方便前后端接口调用的同时,也能快速生成离线文档。原创 2022-09-20 17:53:25 · 9591 阅读 · 1 评论 -
解决Request header field XXX is not allowed by access-control-allow-headers in preflight response
Access to XMLHttpRequest at 'http://B.com/path/a' from origin 'http://A.com' has been blocked by CORS policy: Request header field且老接口服务时,要求header里必须要有AC-User-Agent字段。新建一个过滤器,在过滤器中设置允许AC-User-Agent为合法请求头。网站主域名是A.com,老接口服务的域名是B.com。在这种情况下,前端调用B.com出现了上述问题。原创 2022-08-24 11:59:27 · 10152 阅读 · 2 评论 -
win10搭建redis主从环境:cmd启动多个Redis服务端,设置Redis服务器之间的主从关系
打开服务器后,保持cmd窗口的打开,一旦关闭那么该服务器也将停止。如果启动时出现以下问题,可能是因为端口号被其它redis服务占用,修改当前conf的端口配置主从关系设置后,出从服务器输出了如下日志:步骤如下:此时,从服务器启动时,将会自动连接主服务器,并接受主服务器全量同步数据主服务器独立运行,有所有CRUD操作,并且会将变动同步给从服务器从服务器只读设置值时,会抛出如下异常主服务器连接,从服务器断开时主服务器,不再同步数据给此从服务器,其它均不受影响从服务器连接,主服务器断原创 2022-07-07 14:33:37 · 914 阅读 · 2 评论 -
【Spring Boot集成Redis】基础配置 使用Redis Repository简化RedisTemplate操作
spring boot 集成redis 使用Redis Repositories简化RedisTemplate简化操作Redis Repositories 可以让我们在Redis哈希类型中转换和存储Java实体,支持自定义映射策略和二级索引。原创 2022-07-06 14:16:51 · 1272 阅读 · 0 评论 -
超详细的Java8 Stream使用方法:筛选、排序、最大值、最小值、计数求和平均数、分组、合并、映射、去重等
Stream流式操作的常用使用方法关于函数编程的原理可以参考:Java 8函数式编程#Lambda表达式#方法引用超详细的Java8 Stream使用方法:筛选、排序、最大值、最小值、计数求和平均数、分组、合并、映射等涉及Stream中的如下方法:stream()、filter、peek、map、collect、Collectors.toList()、skip、limit、sorted、max、min、distinct、reduce、sum、average、Collectors.groupingBy原创 2022-04-11 11:08:58 · 22775 阅读 · 3 评论 -
【@Transactional注解】彻底搞懂propagation传播机制
在Spring事务中,各个逻辑事务的关系可以是并列、覆盖或包含。理清这些关系,对于@Transactional注解的使用将大有脾益原创 2022-02-14 15:39:31 · 3174 阅读 · 0 评论 -
Java 捕获并处理线程异常:Thread线程异常捕获、ThreadPoolExecutor线程池异常捕获
Thread.UncaughtExceptionHandler捕获线程异常ThreadPoolExecutor#afterExecute方法捕获线程池异常以及两者实现的原理原创 2022-01-13 13:10:19 · 3857 阅读 · 0 评论 -
【Mybatis源码解析】深入了解<select>等标签的实现流程(一)
在mybatis源码中,执行xml<select><update><insert><delete>语句的执行流程从总体上看,大约有两个步骤:1. 创建MappedStatement2. 创建会话(SqlSession)并执行SQL。Mybatis中有两种方法生成MappedStatement:1. 注解方式(MapperAnnotationBuilder)2. xml方式(XMLMapperBuilder)原创 2022-02-09 10:25:02 · 2317 阅读 · 2 评论 -
【Mybatis源码解析】 parameterType类型别名的运用和实现原理(包含<typeAliases>、@Alias)
parameterType为什么可以不写?mybatis处理parameterType和resultType属性源码是怎么样的parameterType类型别名解析@Alias注解的原理与使用mybatis.type-aliases-package配置的作用<typeAliases>标签的使用原创 2022-01-10 17:18:09 · 1902 阅读 · 1 评论 -
LinkedBlockingQueue 链式阻塞队列的使用方法和原理
相关性文章:了解BlockingQueue 大体框架和实现思路并发相关文章:ReentrantLock源码 解析AQS锁加锁释放锁的实现机制CAS算法详解 ABA问题以及解决办法目录概览使用方法源码解析说明队列容器结构图next三种情况入队操作出队操作关键成员变量初始化put方法put方法几个关注点总体分析count属性并发问题唤醒消费者take方法总结概览1. 基于链表的可选有界阻塞队列。根据F..原创 2021-12-03 17:21:21 · 7376 阅读 · 0 评论 -
【学习笔记】Java 8函数式编程#Lambda表达式#方法引用
全文目录函数式编程:Functional programming函数式编程的一些基本概念函数式编程的定义:程序的副作用:函数编程与数学函数:设计函数式编程应该遵循的原则:First-Class and Higher-Order Functions纯函数不变性引用透明函数式编程的作用:函数式接口说明:函数式接口的定义:JDK中的函数式接口:实例:Lambda表达式:Lambda Expressions概念:结构:语法规则:方法引用:Method Reference定义:方法引用种类:参考函数式编程:Func原创 2021-06-02 00:22:01 · 299 阅读 · 0 评论 -
谈谈对Java构造函数的理解
Java构造函数,关于子类实例化时如何调用父类构造函数的以及子类构造函数中对父类构造函数的引用原创 2021-04-25 13:52:55 · 770 阅读 · 0 评论 -
Spring AOP与注解搭配 使用自定义注解Annotation实现@Valid@NotEmpty数据校验的功能
一. 前言本文涉及aop以及自定义注解两个功能点,早在几个月前就想总结aop专题和注解的相关知识点。不过由于前几个月加班严重,所以一直没时间。蹭着初验完毕的空闲期做个总结。文章的思路来源于几个月前公司的业务:对于每个调用本服务的接口做验证,并提取相应的数据,以此数据为依据对相应的文件做处理。二. 实现1. 大体思路2. 自定义注解3. 使用AOP切面实现注解功能三. 后续自定义注解的注解参数解析AOP切面参数简析...原创 2020-11-12 17:50:14 · 810 阅读 · 0 评论 -
Java API加密 从sign签名验证到RSA、AES数据加密的实际应用
前言在新一轮需求中,我方系统需要与某一系统进行数据传输,由于这些数据需要保证安全不外泄,并在后期交付时要做等保检测,因此在设计接口实现时,需要保证数据传输的安全性。一般来说,API接口的安全性能一般要考虑以下几点:1. 接口请求来源合法。2. 数据传输途中不能被篡改。A. 请求参数不能被篡改。B. 返回结果不能被篡改。3. 数据加密返回,保证数据安全。4. 防重放攻击。即将拦截请求的参数,重新用于接口调用。5. 防伪装攻击。这种情况一般是token被劫持时,攻击者伪.原创 2020-11-03 11:21:09 · 2067 阅读 · 4 评论 -
用Feign实现第三方的HTTP请求
最近,在使用spring cloud框架时,发现feign也能实现三方请求,而且实现很简单,请求接口的结构很清晰,便果断学习一波。记录一下。本次使用的依赖仅有openfeign。1. 开门见山,Feign调用的简单实现maven依赖 <!-- openfeign依赖 --> <dependency> <groupId&...原创 2020-04-21 14:53:09 · 6568 阅读 · 3 评论 -
深入理解Java反射机制原理、使用方法
一、反射基础1. 反射的用途2. 了解反射的底层运作直接使用类使用反射总结3. 反射的缺点二、在Java中使用反射1. 获取类型信息1.1. Object.getClass()1.2. XXX.class1.3. Class.forName()1.4. Integer.TYPE1.5. 通过反射类ClassAPI获取类2. 获取类的成员变量2.1. 获取字段:2.2. 获取方法:2.3. 获取构造器:3. 操作java.lang.re原创 2021-11-02 17:16:02 · 9288 阅读 · 2 评论