
Java
Java
Aimyone
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java 关于JSON序列化时LocalDate字段格式问题
Java 关于JSON序列化时LocalDate字段格式问题原创 2025-06-17 13:59:55 · 221 阅读 · 0 评论 -
com.alibaba.fastjson2 和com.alibaba.fastjson 区别
com.alibaba.fastjson2 和com.alibaba.fastjson 区别原创 2025-05-22 15:52:33 · 834 阅读 · 0 评论 -
动态类加载方式引入第三方资源jar包
动态类加载方式引入第三方资源jar包原创 2025-05-12 14:25:22 · 296 阅读 · 0 评论 -
Java 类内部方法调用会使 AOP 环绕逻辑后于业务代码执行
Java 类内部方法调用会使 AOP 环绕逻辑后于业务代码执行原创 2025-04-08 16:54:19 · 361 阅读 · 0 评论 -
xxl-job 分布式任务调度平台使用,图文版
xxl-job 分布式任务调度平台使用,图文版原创 2024-01-11 11:47:01 · 580 阅读 · 0 评论 -
Java 支持表情包存储 Incorrect string value: ‘\\xF0\\x9F\\x98\\x8A\\xF0\\x9F...‘
Java 支持表情包存储 Incorrect string value: ‘\\xF0\\x9F\\x98\\x8A\\xF0\\x9F...‘原创 2024-01-05 14:16:49 · 925 阅读 · 0 评论 -
excel导出,post还是get请求?
excel导出,post还是get?原创 2023-12-20 18:21:53 · 1585 阅读 · 0 评论 -
Java8 新特性Optional
Java8 新特性Optional原创 2023-08-25 17:20:03 · 233 阅读 · 0 评论 -
Java 多文件压缩与解压
Java 多文件压缩与解压原创 2023-07-19 16:16:42 · 1226 阅读 · 0 评论 -
Java 过滤器拦截器
Java 过滤器拦截器原创 2023-04-20 14:52:15 · 273 阅读 · 0 评论 -
递归函数,根据子节点向上查询父节点
递归函数,根据子节点查询父节点原创 2022-09-19 15:43:06 · 642 阅读 · 0 评论 -
Java 不同数据类型内容比较,是否相同
Java 不同数据类型内容比较,是否相同原创 2022-09-19 15:00:06 · 589 阅读 · 0 评论 -
Java stream常用方法
Java stream常用方法原创 2022-07-20 15:38:32 · 553 阅读 · 0 评论 -
liquibase初次使用
liquibase使用步骤:1,先在src/main/resources/liquibase/master.xml中配置包信息<?xml version="1.0" encoding="utf-8"?><databaseChangeLog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.liquibase.org/xml/ns/dbchangelog"原创 2022-07-13 14:18:20 · 690 阅读 · 0 评论 -
Java 读取yml文件数据并使用
Java 读取yml文件数据并使用原创 2022-06-21 14:49:45 · 5842 阅读 · 0 评论 -
多线程并发协作模型——生产者,消费者模型
多线程并发协作模型——生产者,消费者模型生产者:生产产品,放入队列中消费者:消费产品1,解藕生产者只关注生产,转载 2020-10-24 16:48:53 · 768 阅读 · 0 评论 -
多线程 互斥锁、自旋锁、读写锁、乐观锁、悲观锁
1,为什么要加锁?多线程访问共享资源的时候,避免不了资源竞争而导致数据错乱的问题,所以我们通常为了解决这一问题,都会在访问共享资源之前加锁。加锁的目的就是保证共享资源在任意时间里,只有一个线程访问,这样就可以避免多线程导致共享数据错乱的问题。2,有哪些锁?互斥锁、自旋锁、读写锁、乐观锁、悲观锁3,如何定义这些锁?3.1 互斥锁、互斥锁加锁失败后,线程会释放 CPU 给其他线程;比如当线程 A 加锁成功后,此时互斥锁已经被线程 A 独占了,只要线程 A 没有释放手中的锁,线程 B 加转载 2021-09-07 11:20:51 · 466 阅读 · 0 评论 -
时间工具(当月第一天,最后一天,当天最早和最晚,季度,年月日时分秒)
时间工具类 public static Date getMaxMonthDate(String date) { //格式化为年月 Calendar calendar = null; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); calendar = Calendar.getInstance();原创 2022-04-29 17:31:42 · 714 阅读 · 0 评论 -
Java 定时任务@Scheduled使用
一,注解@Scheduled1、fixedRate配置了上一次任务的开始时间到下一次任务的开始时间的间隔,每次任务都会执行;示例:@Scheduled(fixedRate = 5 * 60 * 1000)任务A开始之后再过5分钟执行任务B2、fixedDelay配置了上一次任务的结束时间到下一次任务的开始时间的间隔,每次任务都会执行;示例:@Scheduled(fixedDelay = 10 * 60 * 1000)任务A结束之后再过10分钟执行任务B3、cron表达式配置转载 2022-04-20 17:34:01 · 6365 阅读 · 0 评论 -
Jdk8之Function简单使用
1,为什么要用Jdk8之Function通用函数,减少冗余代码,保持代码清晰2,如何使用Function规则:•1、方法入参一致。•2、方法返回参数一致。•3、方法体处理逻辑几乎一致3,使用展示3.1 旧方法: @Resource UserDao userDao; public List<User> loadBindIds(List<Long> ids){ List<SimpleInfoDTO> listUs原创 2022-04-15 11:24:19 · 1328 阅读 · 0 评论 -
Java List集合分页
Java list分页原创 2022-04-08 17:47:38 · 835 阅读 · 0 评论 -
java 枚举常用方法
1,代码public enum ResponseEnum { /** * 成功返回 * */ SUCCEED(0, "成功"), UNKNOWN(1001, "未知错误"), ; private static Map<String, ResponseEnum> messageMap; private final Integer code; private final String des原创 2022-04-06 17:42:39 · 1127 阅读 · 0 评论 -
Java static关键字使用详情
1,static关键字有什么用?被static关键字修饰的属性/代码块/方法,将由对象级提升到类级,在类加载时就准备完成,而不需要创建对象简单来说,就是没加之前一个对象一份,加了static之后,所有对象共享一份类加载只做一次,以下情况都会类加载:类名.new对象程序加载,如:Class.forName( )静态成员可以用对象. 调用,但推荐 类名. 调用2,图示没有static的时候添加了static后代码://注意:所有lombok注解都不会对static关键词原创 2022-02-25 11:25:46 · 297 阅读 · 0 评论 -
Java 密码复杂度校验
1,需求复杂性:用户的密码中必须包含的字符类型,默认为中弱:必须包含小写字母中:必须包含小写字母、数字强:必须包含小写字母、数字、大写字母、特殊字符(鼠标移入的提示文字相同)注:检查密码复杂度,仅新增账户、重置密码时生效,已有账户密码不检查;当密码不符合复杂度时,根据强弱设置动态提示:“当前密码复杂度不符合,请包括大小写字母、数字、特殊字符”2,代码2.1 密码校验工具类:import cn.hutool.core.util.StrUtil;import com.google.c原创 2022-02-15 16:24:57 · 8478 阅读 · 4 评论 -
Excel 百万数据导出 csv格式
1,引入Excel 2003及以下的版本。一张表最大支持65536行数据,256列。也就是说excel2003完全不可能满足百万数据导出的需求。Excel 2007-2010版本。一张表最大支持1048576行,16384列;补充,关于CSV1.1 什么是csv?纯文本格式1.2 csv有哪些优点?数据存储量小功能强大兼容excel2,代码依赖引入: <!-- easypoi start --> <dependency>原创 2022-01-27 16:53:50 · 2961 阅读 · 1 评论 -
JNA入门
1,什么是JNA?JNA全称Java Native Access,是一个建立在JNI技术之上的Java开源框架。2,JNA有什么用?Java开发过程中,有时候会需要和C,C++等交互,JNA相当于中间的适配器3,如何使用JNA?简单示例:import com.sun.jna.Library;import com.sun.jna.Native;import com.sun.jna.Platform; /** Simple example of JNA interface mapping原创 2022-01-21 17:02:24 · 1652 阅读 · 0 评论 -
前端 后端 MD5加盐
1,为何要加密?明文在网络中传输,容易被黑客破解,存在数据泄露危险2,什么是md5加密?MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),32位MD5算法无法防止碰撞,存在被暴力破解的风险,所以引入加盐处理盐为自定义的一串随机数,如 tsydkd加盐做法:按照一定的规则,将数据和盐进行组合,使用MD5算法加密组合后的数据例如:加密组合公式md5(数据+盐)或者md5(盐+数据+盐)3,加密代码3.1 前端加密代码:引入js插件加盐原创 2022-01-21 15:45:20 · 5827 阅读 · 0 评论 -
pdf文件预览 浏览器窗口名修改
pdf文件【后端修改】1,效果图2,后端代码 public static void renamePdfTitle(File file, String fileName, HttpServletResponse response) { if (file != null && file.exists()) { try (OutputStream outputStream = response.getOutputStream();原创 2022-01-12 18:08:48 · 5135 阅读 · 1 评论 -
Java File使用 / IO流
File类1,一般用于文件的信息获取,移动和删除操作,包含文件夹public class FileMethods { public static void main(String[] args) { ///////////////文件信息// File f=new File("D:\\chromeDownload\\男孩写作业透明底图.png"); //项目下的文件 File f=new File("demo/src/原创 2022-01-07 17:30:39 · 477 阅读 · 0 评论 -
Java 安全 后端返回文件流
1,起由业务流程:上传文件——服务器保存文件——根据路径访问文件这种根据路径定位文件,并对文件进行查看的方式对文件安全有很大威胁,一旦知道其他文件的路径,很有可能会造成文件泄露2,改进所以,当前端请求访问文件的时候,发出请求并携带token,验证token确认为合法用户之后,根据请求执行后端的代码(代码逻辑:根据路径读取文件,输出文件流,响应给前端)3,配置文件配置上存文件的保存路径4,代码: import org.apache.commons.io.IOUtils; @Va原创 2021-12-28 17:14:29 · 11908 阅读 · 0 评论 -
微服务网关 gateway
使用手册:https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/1,gateway作用1,统一入口2,过滤请求3,负载均衡2,工作图示3,操作步骤1,引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-原创 2021-12-24 11:40:23 · 2111 阅读 · 0 评论 -
Java 字符串匹配 支持多种类型数据
1,简单字符匹配替换代码: public static void main(String[] args) { Pattern pattern = Pattern.compile("123"); Matcher matcher = pattern.matcher("hello www123 123"); System.out.println(matcher.replaceAll("")); System.out.println(ma原创 2021-12-23 17:26:10 · 380 阅读 · 0 评论 -
Java 为空,null,空白格判断
1,代码public static void main(String[] args) { System.out.println(StringUtils.isEmpty("")); System.out.println(StringUtils.isEmpty(" ")); System.out.println(StringUtils.isEmpty(null)); System.out.println("-----------------原创 2021-12-07 16:08:27 · 327 阅读 · 0 评论 -
JWT认证实现
1,jwt认证流程图2,token组成Header+Playload+Signature头部(Header),格式如下:{ “typ”: “JWT”, “alg”: “HS256” } 头部存储认证类型和加密算法,将此json使用Base64编码可得到如下个格式的字符串:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9有效载荷(Playload):{ "role": [], "iss": "baidu", "exp": 1638841050,原创 2021-12-07 10:33:48 · 4251 阅读 · 0 评论 -
Java AOP切面日志处理
1,引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 2,配置日志切面@Aspect@Component@Slf4j@Order(1)public class LogOperatio原创 2021-12-06 15:55:10 · 3376 阅读 · 0 评论 -
java 邮件发送
1,引入依赖 <dependency> <groupId >com.sun.mail</groupId> <artifactId >javax.mail</artifactId> <version>1.6.2</version> </dependency> 2,配置发件人信息mail.setting 配置内容:# 邮件服务器的SMT原创 2021-11-30 17:08:38 · 632 阅读 · 0 评论 -
Java 数值千分位并保留两位小数 BigDecimal类型
1,效果图2,代码 BigDecimal jehjcost = StringUtil.isEmptyOrLength0(list.get(j).get("code")) ? BigDecimal.ZERO.setScale(2) : new BigDecimal(list.get(j).get("code").toString()).setScale(2, RoundingMode.DOWN); DecimalFormat df2 = new DecimalFormat("###,##0.00转载 2021-08-11 13:47:54 · 1690 阅读 · 0 评论 -
Java 根据年月 获取当月最后一天
Java 根据年月 获取当月最后一天转载 2021-07-09 15:56:41 · 23134 阅读 · 3 评论 -
Java 获取项目部署的相对路径
1,代码public class ApplicationHome { public static String getApplicationHome() { String applicationHome = System.getProperty("application_home"); String application_home = applicationHome == null ? System.getenv("application_home") : a原创 2021-06-21 10:16:25 · 1316 阅读 · 0 评论 -
Java 计算两个时间差值 天,毫秒
代码: public static void main(String[] args) { String date1="2021-01-05 12:00:00"; String date2="2021-01-01 12:00:00"; long daysBetween1= dayInterval(date1,date2); System.out.println("天数差:"+daysBetween1); //天数差:-3 lo原创 2021-06-17 15:25:42 · 651 阅读 · 0 评论