
Java
文章平均质量分 83
以实战为线索,科普Java中常用的知识点
码农研究僧
计算机研究生、全栈领域优质创作者、阿里云专家博主、CSDN内容合伙人、万码优才推广合伙人、资深技术砖家、专业铲除bug贡献者。❥(^_-)商业合作&考研软考毕设等学习交流❥(^_-)
展开
-
java对接oracle存储过程基本知识(附Demo)
Java 通过 JDBC 连接 Oracle 数据库并调用存储过程的方式主要有两种:使用 CallableStatement 直接调用存储过程(原生 JDBC)使用 MyBatis 映射存储过程(推荐)原创 2025-04-01 19:45:07 · 1382 阅读 · 0 评论 -
详细分析Java 微信公众号的推送基本知识(附Demo)
WxMpService 是 公众号 API 的核心接口,用于调用微信提供的所有功能原创 2025-03-31 16:22:19 · 1013 阅读 · 0 评论 -
详细分析Java中的发送邮件JavaMail API 以及Hutool MailUtil.send (附Demo)
如果只是发送简单文本邮件用于测试或内部使用,JavaMail 无附件方式即可。正式项目或平台,建议使用 Hutool 的 MailUtil,大幅简化开发量,同时支持丰富的配置和功能。原创 2025-03-31 08:00:00 · 976 阅读 · 0 评论 -
Java 在线图片 URL 转换为 Base64 以及反向解析成图片
别将超长 Base64 直接写进 .java 文件中,太容易超过限制;可使用工具类将 Base64 写入文件或数据库;或者考虑直接处理图像文件,不中转 Base64原创 2025-03-27 15:46:21 · 1108 阅读 · 0 评论 -
为什么 Spring 容器不会注入 static 字段
Spring 不能注入 static 字段,因为它是注入到对象(实例)上的,而 static 是属于类的,属于 JVM 管理,不在对象实例上原创 2025-03-26 22:23:48 · 494 阅读 · 0 评论 -
详细分析HttpClient的基本知识(附Demo实战思路)
【Java异步优化实战】基于HttpClient实现图片识别请求的封装、异步与重试机制详解原创 2025-03-25 18:56:12 · 1210 阅读 · 0 评论 -
Java 中处理邮件附件:本地文件 vs 在线 URL
默认情况下,文件会存储在 系统临时目录,可以使用 getAbsolutePath() 查看。如果需要指定路径,可以修改 downloadFileFromUrl() 方法,将文件存储在自定义目录。发送邮件后建议删除文件,避免临时文件堆积原创 2025-03-19 08:00:00 · 1257 阅读 · 0 评论 -
mzt-biz-log通用日志使用说明(附实战Demo)
LogRecord 类是日志记录的核心数据模型,包含了日志的基本信息。LogRecord 注解是用于方法上,用于自动记录操作日志。注解的属性提供了灵活的配置项,如成功和失败的日志模版、日志类型等原创 2025-03-18 08:00:00 · 1740 阅读 · 0 评论 -
Spring Boot Actuator 自定义健康检查(附Demo)
Actuator 提供了健康检查功能,可以通过 /actuator/health 访问可以实现 HealthIndicator 自定义健康检查,如检查外部服务状态可以单独配置 Actuator 端口,确保管理端口和主业务端口隔离原创 2025-03-18 08:00:00 · 699 阅读 · 0 评论 -
详细分析Java中的@Trans注解,用于数据翻译(附Demo)
@Trans注解是一个强大的数据翻译工具,通过多种翻译类型和灵活的配置方式,能够简化数据转换逻辑,提升开发效率。它适用于ORM、API接口、数据转换等多种场景,特别适合需要字段翻译和动态数据处理的项目。原创 2025-03-17 08:00:00 · 879 阅读 · 0 评论 -
Spring Boot 解析 LocalDateTime 失败?Uniapp 传输时间变 1970 的原因与解决方案
具体逻辑是通过前端展示给用户看,后续将其数值带到后端,进行添加,最后以LocalDateTime格式但发现数据一直都是1970原创 2025-03-10 08:00:00 · 843 阅读 · 0 评论 -
Java对象字段拷贝最佳实践:BeanUtils、Lombok Builder、MapStruct 深度解析(附Demo)
手动 set 适用于少量字段,但维护成本高BeanUtils.copyProperties 适用于字段一致的对象转换,但性能一般Lombok @Builder 适用于构建新对象,可读性高MapStruct 是最佳选择,性能高、功能强大,适合复杂映射原创 2025-03-02 19:36:27 · 1053 阅读 · 0 评论 -
详细分析Java中的@EqualsAndHashCode基本知识(附Demo)
@EqualsAndHashCode 是 Lombok 提供的一个注解,用于自动生成 equals() 和 hashCode() 方法。它的作用主要包括:equals() 方法:用于比较两个对象是否相等(判断两个对象的属性值是否相等,而不仅仅是引用相等)hashCode() 方法:用于生成对象的哈希值,保证相同对象的哈希值一致,以支持哈希集合(如 HashSet、HashMap)的正常工作原创 2025-02-06 11:15:58 · 985 阅读 · 0 评论 -
深入解析 MapStruct:高效 Java 对象映射工具详解(附Demo)
MapStruct 是一个 Java 的代码生成器,专门用于对象映射,可以将一个 Java Bean 自动转换为另一个 Java Bean,而无需手动编写转换逻辑它的主要特点是基于注解、编译时生成代码、高效无性能损耗,广泛应用于 DTO(数据传输对象)和实体对象之间的转换原创 2025-02-06 08:00:00 · 1277 阅读 · 0 评论 -
Spring Boot 中的事件发布与监听:深入理解 ApplicationEventPublisher(附Demo)
ApplicationEventPublisher 是 Spring 框架中一个功能接口(@FunctionalInterface),用于发布事件是 Spring 的事件驱动模型的核心部分,开发者可以通过实现这个接口或通过 Spring 提供的现成实现来发布和管理事件原创 2025-01-26 16:31:10 · 1387 阅读 · 0 评论 -
了解 magic-api的基本用法 附实战代码
magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口。 无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发原创 2025-01-22 22:23:41 · 1161 阅读 · 0 评论 -
Spring中的@Cacheable 注解基本知识点
`@Cacheable` 是 Spring 提供的注解,用于声明一个方法的返回结果会被缓存当方法被调用时,Spring 会先检查缓存中是否存在该方法的结果如果缓存存在,则直接返回缓存结果;如果不存在,则执行该方法并将返回值存入缓存原创 2025-01-16 11:03:59 · 690 阅读 · 0 评论 -
Redis 中 TTL 的基本知识与禁用缓存键的实现策略(Java)
TTL 是 Redis 中用于表示键的剩余生存时间的一个命令(Time To Live),通过命令 TTL key 可以查看某个键的剩余有效时间原创 2025-01-16 10:26:32 · 1356 阅读 · 0 评论 -
MyBatis-Plus中isNull与SQL语法详解:处理空值的正确姿势
区分 NULL 和空字符串在数据库中,NULL 和 “” 是不同的。如果需要同时查询两种情况,必须显式使用 IS NULL 和 = 条件MyBatis-Plus 默认行为MyBatis-Plus 不会自动将空字符串(“”)视为 NULLSQL 默认比较规则避免使用 = NULL 或 != NULL,改用 IS NULL 或 IS NOT NULL空值赋值处理插入数据时,如果字段需要为空,应显式插入 NULL 而非 “”,以确保查询逻辑一致原创 2024-12-16 22:03:31 · 1359 阅读 · 0 评论 -
Java 从查询超时到性能提升 (实战讲解)
单独分析代码中的对算法有所阻塞的位置!后续在分析对DB中的阻塞位置!最后研究数据是否过载,服务查询超时问题通常发生在以下场景:原创 2024-12-11 19:29:50 · 657 阅读 · 0 评论 -
数据库设计文档Screw的基本知识 附Demo
Screw 是一个用于自动生成数据库设计文档的工具,通常用于从现有的数据库中提取表结构、字段、索引等信息,生成文档格式(如 HTML、Word、Markdown)供开发人员或其他相关人员查看最主要是支持多种数据库,包括 MySQL、Oracle、SQL Server 等,并且能够根据数据库的元数据生成文档原创 2024-12-05 08:00:00 · 1505 阅读 · 0 评论 -
详细分析 Java Stream 中 collect() 附 实用示例
之所以总结这些,是因为在实战中太容易遇到!collect() 是流操作中功能最强大和灵活的终端操作之一,可以通过 Collector 实现自定义的收集逻辑配合 Collectors 提供的工厂方法,可以轻松完成列表、集合、映射的构建,以及分组、分区和统计计算在日常开发中,collect() 常被用于数据结构转换(如 toList、toSet)和统计分析(如 summarizingInt、joining 等)原创 2024-11-23 08:00:00 · 549 阅读 · 0 评论 -
Java 8 流式 API 将实体类列表转换为视图对象列表(附Demo)
使用了 Java 8 的流式处理 API,通过 map 方法将实体对象列表转换为视图对象列表。这种方式常用于将数据库实体类转换为前端展示需要的简化视图对象,避免暴露敏感数据或不必要的字段原创 2024-11-22 08:00:00 · 968 阅读 · 0 评论 -
详细分析Guava库中的注解@VisibleForTesting,用于标记提醒私有(附Demo)
@VisibleForTesting 是 Guava 库中的一个注解,用来标记那些原本应该具有较低可见性(如 private 或 protected)的方法或字段,只是为了测试的目的被提升为 public 或 package-private(包级可见)这种做法可以帮助开发者在编写单元测试时暴露一些只在测试中使用的代码,而不必改变代码的正常结构和设计原创 2024-11-12 08:00:00 · 2325 阅读 · 0 评论 -
详细分析Java中FilterChain过滤器的基本知识
FilterChain 是 Java 中 Servlet 过滤器机制的重要组成部分,定义了过滤器链的执行顺序和执行逻辑FilterChain 主要用于控制多个过滤器的依次执行,直到所有过滤器都完成后再交由最终的目标资源(如 Servlet 或 JSP)处理请求原创 2024-11-11 08:00:00 · 1236 阅读 · 0 评论 -
区分MVC、MVP、和MVVM三种软件架构模式
选择架构时可根据项目规模和需求决定:若是简单界面和交互,可以使用 MVC若是复杂应用,MVP 使得代码更模块化若 UI 动态更新频繁且数据绑定方便,MVVM 更适合原创 2024-11-09 08:00:00 · 533 阅读 · 0 评论 -
详细分析Java中@JsonIgnore注解的基本知识,用于排除特定元素(附Demo)
@JsonIgnore 是 Jackson 序列化库中的注解,用于在序列化和反序列化 JSON 数据时忽略类的某些字段、方法或构造器这一注解的核心作用是在生成或解析 JSON 数据时排除特定元素,确保数据隐私、减少网络传输量、或忽略不需要的字段原创 2024-11-08 08:00:00 · 1064 阅读 · 0 评论 -
详细分析Java8中的Duration时间类基本知识(附Demo)
Duration 类是 Java 8 引入的时间类,用于在秒和纳秒的精度上表示时间间隔主要用于描述两个时间点之间的时间长度,可以在多种时间单位(天、小时、分钟、秒、毫秒等)进行表示和操作原创 2024-11-08 08:00:00 · 761 阅读 · 0 评论 -
详细分析SpringMVC中的@RequestPart注解基本知识
@RequestPart 注解主要用于在 Spring Boot 中接收 HTTP 请求中的"部分"数据,通常在处理多部分请求(如文件上传)时使用与 @RequestBody 不同,@RequestPart 适用于 multipart/form-data 类型的请求,而 @RequestBody 通常用于 application/json 类型的请求原创 2024-11-06 08:00:00 · 709 阅读 · 0 评论 -
了解 MybatisPlus中@InterceptorIgnore防止拦截器拦截 基本知识(附Demo)
@InterceptorIgnore 是 MyBatis-Plus 提供的一个注解,允许在 Mapper 类或方法上指定需要忽略的插件和拦截器,提供了灵活的方式来控制在特定操作中不应用某些拦截器,从而满足特定的业务需求原创 2024-11-07 08:00:00 · 1543 阅读 · 0 评论 -
详细分析 MyBatis 参数映射与使用(附Demo)
参数传递方式:对象属性:使用对象作为参数,通过对象的属性进行查询简单属性:直接将参数作为方法参数,使用时引用参数名使用场景:对象属性:适合多个相关属性传递的情况简单属性:适合少数参数的情况,特别是不相关联的参数原创 2024-11-02 08:00:00 · 656 阅读 · 0 评论 -
自定义中文排序在Java中的实现与注意事项
在Java中,中文排序通常涉及到使用Collator类来处理字符串的比较,确保根据汉字的拼音顺序进行排序以下是详细分析和示例代码:(上述链接文章已经说清楚了,但先讲解一遍浅显的知识)Collator类:用于比较字符串,特别适用于处理不同语言的排序Locale:指定语言环境,影响排序规则compare方法:用于比较两个字符串,根据指定的语言环境返回排序结果原创 2024-10-23 08:00:00 · 1075 阅读 · 0 评论 -
Maven Helper:概念、作用及依赖冲突分析
Maven Helper 是一个在 Maven 项目中用于帮助开发者更好地管理和理解项目依赖关系的工具通常作为 IDE 插件存在,特别是在 IntelliJ IDEA 中,能够为开发者提供更加直观的依赖图和冲突信息基本的作用如下:可视化依赖关系:Maven Helper 可以生成项目依赖树,帮助开发者清楚地看到各个依赖的层次关系依赖冲突检测:当项目中存在多个版本的同一依赖时,Maven Helper 能够识别这些冲突,并提供解决方案简化管理:通过可视化和交互式的方式,开发者能够快速定位和处理原创 2024-10-24 08:00:00 · 1737 阅读 · 0 评论 -
Mybatis 中<where>的用法注意事项(附Demo)
详细分析mybatis中where的用法,不同版本有所差异。随着之后的升级,对应的格式也有所改变原创 2024-10-22 08:00:00 · 1821 阅读 · 0 评论 -
Java 分页实战详解
人为设定分页的API,实战讲解常用API原创 2024-10-22 08:00:00 · 2496 阅读 · 0 评论 -
Spring Security 基础配置详解(附Demo)
HttpSecurity 是 Spring Security 的核心类之一,负责配置基于 HTTP 的安全性,提供了用于定义安全规则、身份验证、授权、会话管理、跨站请求伪造(CSRF)保护等一系列功能的 API原创 2024-10-15 08:00:00 · 1488 阅读 · 0 评论 -
详细分析 Spring CORS 配置 (附Demo)
CorsRegistry 是 Spring 框架中用于配置跨源资源共享(CORS)支持的一个类CORS 允许服务器指示哪些来源(域)可以访问其资源,以防止潜在的跨站点请求伪造(CSRF)攻击原创 2024-10-15 08:00:00 · 1178 阅读 · 0 评论 -
详细分析 Spring Framework 中的 ConfigurableApplicationContext 和 Environment (附Demo)
ConfigurableApplicationContext是Spring框架中用于描述和管理应用程序上下文的接口,它扩展了ApplicationContext接口,提供了一些额外的功能,特别是在配置和管理上下文方面原创 2024-10-14 08:00:00 · 873 阅读 · 0 评论 -
HashMap加载因子0.75的设计原理及阈值设定分析
加载因子是HashMap中一个关键参数,定义为当前已存储元素的数量与HashMap容量的比例。默认值0.75被认为是时间和空间的良好平衡HashMap的默认加载因子0.75是通过经验和性能测试确定的原创 2024-10-12 08:00:00 · 731 阅读 · 0 评论 -
详细分析Java8中的StringJoiner | 对比StringBuilder(附Demo)
StringJoiner 是一个用于构建由分隔符连接的字符串序列的工具,在Java 8中引入,旨在简化字符串连接的过程原创 2024-10-09 08:00:00 · 1198 阅读 · 0 评论