自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Executors面试题

你可以通过配置类创建一个自定义线程池,作为所有异步任务的默认执行器。

2025-05-29 15:23:15 150

原创 some面试题2

BeanDefinition加载]↓[实例化]↓[依赖注入]↓[Aware接口处理]↓[BeanPostProcessor 前置]↓↓[BeanPostProcessor 后置]↓[使用中...]↓↓[销毁完成][加载] → [验证] → [准备] → [解析] → [初始化] → [使用] → [卸载]阶段是否由JVM主导是否可扩展是否必须加载✅✅(可通过自定义ClassLoader)✅验证✅❌✅准备✅❌✅解析✅❌✅初始化✅❌。

2025-05-27 21:38:08 881

原创 some java面试题

处理方式:对于Exception,我们通常可以通过try-catch语句捕获并处理,从而让程序有机会恢复正常执行。而对于Error,一般情况下不应试图捕获,因为它们往往指示着非常严重的问题,程序在这种情况下很难或不可能恢复。目的Exception用于指示那些程序设计者认为是正常的可预见的问题,并提供了处理这些问题的机会。而Error则是为了指出那些严重的、通常是不可恢复的问题,提醒开发者注意并修正潜在的设计或实现缺陷。

2025-05-25 11:15:51 672

原创 springboot+mybatis或mybatisplus在进行%name%的前后模糊查询时如何放防止sql注入

直接在 MyBatis 的 SQL 映射文件中使用是不可行的,因为它不能正确地将百分号作为通配符处理。正确的做法是利用 SQL 函数如CONCAT或者在 Java 端预先拼接好带有百分号的字符串,再通过#{}占位符安全地传递给 SQL 查询。这样既能达到前后模糊匹配的效果,又能有效防止 SQL 注入攻击。

2025-05-19 23:00:41 1095

原创 Linux 常用命令

这些命令是Linux系统中常用的基本操作命令,掌握它们可以有效地管理和操作文件和系统。除了之前提到的那些基础命令,这里还有一些额外的Linux命令和概念。wget 文件URL。命令名 --help。passwd 用户名。

2025-05-19 22:10:19 736 1

原创 spring中bean的生命周期

类似于,你可以指定一个销毁方法。System.out.println("5.3 自定义 destroy-method: 自定义销毁逻辑");XML 配置方式:或者使用@Bean✅做了什么?提供了灵活的销毁逻辑配置方式。1. Bean 被实例化(构造方法调用)2. 属性注入:setMessage(Hello)3.1.1 setBeanName: Bean 名称是 myBean3.1.2 setApplicationContext: 应用上下文已设置。

2025-05-19 17:00:17 751

原创 MySQL 的undo log、redo log 和 binlog

Undo Log关注的是事务回滚和MVCC,主要服务于事务的原子性和隔离性。Redo Log确保事务一旦提交就不会丢失,专注于事务的持久性。Binlog则是从整体数据库层面提供了一个完整的变更历史记录,支持复制、恢复等功能,并且它的存在是跨存储引擎的。三者共同工作,保障了MySQL的ACID特性,特别是在高并发和故障恢复场景下发挥着重要作用。

2025-05-12 15:28:01 487

原创 SQL中COUNT(*)、COUNT(1) 和 COUNT(列名)的区别

观点是否合理说明COUNT(主键)COUNT(1)✅主键可利用索引,速度快COUNT(1)COUNT(列名)✅非主键列需判断 NULLCOUNT(1)COUNT(*)⚠️多数情况不成立,取决于数据库COUNT(主键)最优✅特别适合 MySQL单列表用COUNT(*)最优✅语义清晰,数据库优化好如你引用的文章来自CSDN,这类文章通常基于实践经验总结,有一定参考价值,但最好结合自己使用的数据库文档进一步验证。

2025-05-09 16:35:26 901

原创 只使用 Tomcat 而不使用 Nginx 是否可行

这就像你开车可以不用导航也能到达目的地,但有了导航会更高效、更安全。如果你有具体的项目需求,我也可以帮你判断是否需要引入 Nginx,以及如何合理配置它们之间的协作方式。欢迎继续提问!

2025-05-09 16:34:44 831

原创 java接口和抽象类

抽象方法默认方法(default静态方法(static常量(私有方法(从 Java 9 开始)嵌套类型(类、接口、枚举)随着 Java 版本的更新,接口的功能越来越强大,已经从单纯的抽象方法集合演变为一种支持多继承和代码复用的工具。在 Java 中,抽象类(Abstract Class)是一种不能被实例化的类,通常用于定义通用的行为和属性,并由子类继承和实现。抽象类可以包含多种类型的内容,既可以有抽象方法(未实现的方法),也可以有具体实现的方法和字段。抽象方法(abstract。

2025-04-27 17:46:29 964

原创 java HashMap

HashMap的put计算键的哈希值并扰动。确定桶索引。检查桶是否为空。处理哈希冲突(链表或红黑树)。检查是否需要扩容。插入或更新键值对。这种设计使得HashMap在理想情况下能够实现接近 O(1) 的时间复杂度,但在极端情况下(如大量哈希冲突)可能会退化为 O(n) 或 O(log n)。

2025-04-26 17:37:55 397

原创 springboot项目通过AOP+ rabbitMQ处理日志

解耦:日志处理逻辑与业务逻辑分离。异步:日志记录不会阻塞主业务流程。扩展性:日志可以轻松地扩展到其他系统(如ElasticSearch、Kafka等)。如果有其他需求或问题,请随时补充说明!

2025-04-25 17:11:38 283

原创 Docker部署SpringBoot后端

通过以上步骤,你就可以成功地使用 Docker 部署 Spring Boot 后端项目!如果有更多复杂需求(如多模块项目、微服务架构),可以进一步扩展 Docker 和 Docker Compose 的配置。

2025-04-25 11:28:38 935

原创 Spring Boot中使用Hibernate/JPA

在Spring Data JPA中,如果默认的查询方法(通过方法命名规则生成的查询)无法满足需求,可以通过@Query注解编写自定义SQL或JPQL(Java Persistence Query Language)查询。通过@Query注解,可以在Spring Data JPA中灵活地编写自定义SQL或JPQL查询,满足复杂的业务需求。JPQL适用于面向对象的查询,而原生SQL适用于直接操作数据库表。使用@Modifying和处理更新和删除操作。分页和排序可以通过Pageable和Sort参数实现。

2025-04-24 10:45:06 440

原创 Redis面试总结

延迟双删是一种简单有效的缓存与数据库一致性解决方案,尤其适用于高并发场景。虽然它不能完全消除数据不一致的可能性,但通过两次删除操作和适当的延迟,可以显著降低数据不一致的风险。对于大多数业务场景来说,延迟双删是一种性价比很高的选择。在 Spring Boot 中,Redis 和 Redisson 可以结合使用,以充分利用 Redis 的高性能和 Redisson 提供的高级功能(如分布式锁、分布式集合等)。以下是详细的步骤和示例代码。

2025-04-21 19:33:49 952

原创 redis+springcache

通过结合 Redis 和 Spring Cache,可以快速实现基于 Redis 的分布式缓存功能。Spring Cache 提供了简洁的注解方式,降低了缓存管理的复杂性。根据实际需求,还可以进一步优化 Redis 的配置,例如设置不同的缓存过期时间、序列化方式等。

2025-04-21 17:33:21 391

原创 SQL查询语句

如果有其他需求或需要进一步解释,请告诉我!

2025-04-19 17:43:44 203

原创 用户权限校验AOP + JWT + RBAC

/ 所需权限名称。

2025-04-18 10:51:27 420

原创 mybatis面试

MyBatis 的延迟加载是一种强大的优化工具,特别适合处理复杂的对象关系和大数据量场景。但在使用时需要注意事务管理、性能优化以及潜在的问题(如 N+1 查询)。合理地结合延迟加载和立即加载,才能充分发挥 MyBatis 的性能优势。

2025-04-14 11:17:53 562

原创 spring 拦截器和过滤器的区别

如果你的需求主要是记录 HTTP 接口请求的日志,

2025-04-13 17:19:40 1030

原创 gateway微服务网关过滤器和限流

创建一个自定义的全局过滤器来实现IP黑白名单拦截逻辑。@Component// 模拟从配置文件加载黑白名单@Override// 获取客户端IP地址// 如果启用了白名单,则优先检查白名单if (!if (!

2025-04-11 11:19:55 1008

原创 nginx限流(令牌桶算法/漏桶算法)

在 Nginx 中,令牌桶算法和漏桶算法是两种常见的限流策略,主要用于控制流量以保护服务器免受过载的影响。这两种算法可以通过 Nginx 的模块(如。通过合理配置令牌桶或漏桶算法,你可以有效地保护服务器免受流量峰值的影响,同时确保服务的可用性和稳定性。模块也可以实现类似漏桶的效果,通过调整参数来控制流量。指令来实现基于令牌桶算法的限流。在 Nginx 中,可以使用。

2025-04-11 10:31:54 509

原创 springMVC (视图阶段和前后端分离阶段)

Spring MVC 是 Spring 框架中用于构建 Web 应用的核心模块,它基于经典的 MVC(Model-View-Controller)设计模式。在传统的 Spring MVC 中,前端和后端是紧密结合的,后端负责处理业务逻辑并生成视图(HTML 页面),然后将视图返回给客户端浏览器进行渲染。Controller 负责调用服务层(Service)处理业务逻辑,并返回一个模型数据(Model)和视图名称(View Name)。接收到请求后,根据请求路径找到对应的控制器(Controller)。

2025-04-10 11:33:42 681

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除