自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (1)
  • 收藏
  • 关注

原创 POI Excel 通用工具类

【代码】POI Excel 通用工具类。

2025-11-06 00:43:46 110

原创 基于 Spring Boot + Nacos + Dubbo 的完整自定义鉴权过滤器实现方案

*** 基于Dubbo SPI的自定义鉴权过滤器*/@Activate(group = CommonConstants.PROVIDER, order = 100) // 仅在服务端生效@Component@Override// 1. 从上下文获取调用信息// 2. 打印调用信息System.out.println("收到调用请求 - 方法: " + methodName + ", 客户端IP: " + clientIp + ", 应用名: " + appName)

2025-10-31 00:45:07 364

原创 23种设计模式之策略模式

策略模式

2025-10-29 01:12:32 634

原创 达梦数据库连接配置yaml 文件配置

首先需要在项目中引入 Druid 连接池和达梦数据库的 JDBC 驱动依赖。

2025-10-23 23:37:51 454

原创 达梦数据库怎么查看连接情况

在达梦数据库中,查看连接(会话)情况主要通过或。

2025-10-23 23:16:33 660

原创 分析SpringApplication类中ConfigurableApplicationContext方法

SpringApplication 中与创建:根据应用类型选择合适的实现类。配置:通过初始化器、环境设置、注册启动类等,为上下文 “搭骨架”。刷新:触发 Spring 核心的 Bean 加载、初始化、依赖注入等流程,完成 “填内容”。启动:执行启动后逻辑,通知应用已就绪。整个过程通过事件驱动()和扩展点(等)保证了高度的灵活性,是 Spring Boot “自动配置” 能力的基础。

2025-09-27 12:52:28 780

原创 SpringBoot 的启动原理

SPI 机制:通过加载初始化器、监听器、自动配置类,实现 "插件化" 扩展。事件驱动:通过在启动各阶段发布事件(如),允许监听器介入启动过程。自动配置:在refresh()阶段,通过加载中的自动配置类(如),结合条件注解实现按需配置。内嵌容器:通过扩展点创建内嵌 Web 服务器(Tomcat 等),无需外部容器部署。通过以上机制,SpringBoot 实现了 "零配置" 启动,大幅简化了 Spring 应用的开发与部署。

2025-09-27 12:48:51 739

原创 Spring Boot 详细介绍

Spring Boot 的发展始终围绕 “简化开发” 和 “适应技术趋势” 两大主线:从解决传统 Spring 应用的配置痛点,到拥抱响应式编程、云原生、现代 Java 特性,它已成为 Java 企业级开发(尤其是微服务、云原生应用)的事实标准。其成功的核心在于 “约定大于配置” 的设计哲学,以及与 Spring 生态(Spring Cloud、Spring Data 等)的无缝衔接,未来将持续聚焦性能优化和云原生适配,巩固其在 Java 开发领域的核心地位。

2025-09-27 12:45:42 794

原创 springboot 简介

springboot 简介

2025-09-27 12:43:08 334 1

原创 ​new species of flying reptile1 discovered in Scotland​

这种新发现的翼龙被命名为 “雾翼龙(Ceoptera)”,在苏格兰盖尔语中指 “薄雾”。侏罗纪中期时代的化石极其罕见,这一发现改变了人们对该时期飞行爬行动物的认识。尽管这些化石于2006年被发现,但考古学家们在经过多年的辛勤工作后才得以将化石从坚硬的岩石中提取出来以对其进行分类。在侏罗纪中期,当时苏格兰仍是亚热带岛屿的一部分,这种飞行爬行动物就曾在恐龙头顶上空飞翔。科学家们在一片海滩上的石灰岩中发现了它的翅膀、肩膀、腿部和脊骨部分的化石。为了保护它们,这些脆弱的化石被装进研究人员的背包中进行运输。

2025-09-15 00:07:06 423

原创 深入理解 Spring @Async 注解:原理、实现与实践

生产环境中,我们应始终自定义线程池,通过@Bean注解创建java运行/*** 自定义异步线程池*/// 核心线程数:线程池维护的最小线程数量// 最大线程数:线程池允许创建的最大线程数量// 队列容量:用于缓冲等待执行的任务// 线程活跃时间:超出核心线程数的线程的最大空闲时间(单位:秒)// 线程名称前缀:便于日志跟踪// 拒绝策略:当任务数量超过最大线程数+队列容量时的处理策略// 初始化线程池@Async开启异步支持,注册关键处理器。

2025-09-15 00:02:58 1017

原创 一文读懂 Java 注解运行原理

首先要定义注解本身 —— 就像设计便利贴的格式:要写哪些信息(比如 “事务出问题要回滚哪些异常”“事务传播规则”)。Java 中定义注解需要用@interface关键字,还要加 “元注解”(描述注解的注解),告诉 JVM 这张 “便利贴” 的规则(比如贴在方法上、活到老程序运行时):java// 元注解1:这张便利贴只能贴在“方法”上// 元注解2:这张便利贴要活到老程序运行时(关键!// 元注解3:子类能继承父类的这张便利贴@Inherited。

2025-09-14 23:58:44 649

原创 Java 事务失效场景全解析

代理机制限制(非 public 方法、同类内部调用)异常处理不当(捕获未抛出、未配置 rollbackFor)事务属性配置错误(传播机制不合理)基础环境问题(数据库不支持、未被 Spring 管理)并发场景下的事务隔离问题在实际开发中,需结合业务场景合理配置事务属性,同时注意编码规范,避免上述陷阱,才能确保事务机制有效运行,保障数据一致性。

2025-09-14 23:36:17 1010

原创 对于程序员来说python和java 哪个未来更有优势

对于程序员来说,。两者在各自领域的不可替代性和发展潜力决定了它们将长期共存,但技术趋势和市场需求的分化正在重塑开发者的选择逻辑。

2025-09-14 01:10:17 902

原创 Spring Boot 的自动配置原理

启动触发包含,开启自动配置。导入选择器通过@Import导入。加载候选类通过从加载所有对应的自动配置类。过滤配置类排除用户指定的类(exclude属性)。通过条件注解(如)筛选符合当前环境的配置类。注册 Bean:生效的自动配置类()通过@Bean向容器注册组件,完成自动配置。通过这套机制,Spring Boot 实现了 "引入 starter 依赖即可自动配置组件" 的便捷性,开发者无需手动编写大量 XML 或 Java 配置。

2025-09-14 00:58:43 980

原创 电商系统商品表设计:基于 “主表 + 子表” 的灵活方案

在实际落地时,需重点关注 “表结构规范”(如字段命名、外键设计)、“索引优化”(针对高频查询场景)与 “扩展策略”(新增类型的低成本适配),确保方案能长期支撑业务增长。“主表 + 子表” 设计方案通过 “共性字段集中存储、个性字段分类隔离”,平衡了 “数据规范性” 与 “业务灵活性”,成为解决多类型商品存储的最优选择之一。业务需求:首页商品推荐需展示所有类型的上架商品,无需区分类型,但需显示 “类型标识” 与 “核心个性信息”(如实物显示库存,虚拟显示有效期)。

2025-09-14 00:41:15 661

原创 数据库按商品类型分成多个表是否可行?

优先不拆分若商品类型差异小(共性字段多、个性字段少),用 “主表 + 子表”;若个性字段不用于查询,用 “单表 + JSON 扩展”;核心原因:多表设计会增加查询复杂度和维护成本,不符合 “简单优先” 原则。仅在以下场景拆分商品类型差异极大(共性字段 <30%,个性字段> 70%);不同商品类型的查询完全独立(如 “实物商品管理” 和 “虚拟商品管理” 是两个独立模块,几乎不查 “所有商品”);新增商品类型频率极低(避免频繁建表)。

2025-09-14 00:35:08 612

原创 微服务搭建(SpringBoot + Dubbo + Nacos)

UserSeviceImpl 使用 @DubboService 注解 暴露服务。Controller中使用 @DubboReference 进行依赖注入。Application 类加 @EnableDubbo。

2025-08-30 22:18:02 609 2

原创 记录一百家java面试题001:某银行面试题

面试题

2025-08-30 10:40:58 167

原创 自定义线程池拒绝策略中,保证任务不丢失的方式?

自定义线程池拒绝策略中,保证任务不丢失的方式

2025-08-27 07:57:03 972

原创 分享一些在生产环境中确定最合适的JVM参数配置的实际案例

JVM 参数优化

2025-08-24 11:41:21 658

原创 MAT工具是什么,具体可以分析哪些JVM内存问题,如何分析?

MAT 通过解析堆快照,将抽象的 “内存异常” 转化为具体的 “对象引用关系”,是诊断 JVM 内存问题的利器。

2025-08-24 11:32:34 924

原创 如何使用JDK自带的jstat工具监测JVM内存使用情况?

jstat

2025-08-24 11:25:55 592

原创 有哪些工具可以帮助监测和分析JVM的内存使用情况?

有哪些工具可以帮助监测和分析JVM的内存使用情况

2025-08-24 10:25:43 1119

原创 在生产环境中,如何确定最合适的JVM参数配置?

确定最合适的JVM参数配置

2025-08-24 02:30:43 809

原创 如何监控和调优JVM的内存使用情况?

监控和调优JVM的内存使用

2025-08-24 02:23:32 693

原创 调整JVM参数优化内存结构会带来哪些潜在的风险?

调整JVM参数优化内存结构的风险

2025-08-24 02:19:34 591

原创 JVM 如何调优?

JVM 参数优化

2025-08-24 02:17:40 632

原创 说说你对JVM的垃圾回收机制的理解?

JVM的垃圾回收机制

2025-08-24 02:06:03 578

原创 描述Java 虚拟机运行时的数据区划分(JVM 内存模型 )?

区域线程共享性主要存储内容可能的 OOM程序计数器私有字节码指令地址无虚拟机栈私有栈帧(局部变量、操作数栈等)本地方法栈私有本地方法执行信息同上Java 堆共享对象实例、数组方法区(元空间)共享类信息、常量、静态变量等OutOfMemoryError(元空间不足)理解 JVM 内存模型(运行时数据区)是分析内存泄漏、OOM 问题和 JVM 调优的基础。不同区域的内存管理机制(如堆的 GC、元空间的动态扩展)直接影响程序的性能和稳定性。

2025-08-24 01:48:39 646

原创 java自定义线程池的拒绝策略有几种,分别是什么?

java自定义线程池的拒绝策略

2025-08-24 01:29:27 528

原创 java自定义线程池是什么,有哪些参数?

自定义线程池

2025-08-24 01:18:06 415

原创 mysql的索引有哪些?

mysql的索引

2025-08-23 17:41:40 241

原创 如何监控和管理微服务之间的调用关系

通过分布式追踪、依赖图分析、指标监控和日志关联,可实现对微服务调用关系的全链路可见性。核心是将分散的调用数据聚合、关联并可视化,从而快速定位问题、优化性能,并为服务架构调整提供数据支持。实际落地时,可根据技术栈选择合适的工具(如 Java 生态优先 SkyWalking+Prometheus,K8s 环境优先 Istio+Jaeger)。编辑分享如何选择合适的分布式追踪工具服务依赖分析的原理和方法实时监控微服务调用关系的最佳实践。

2025-08-22 12:31:04 959

原创 微服务之间的调用关系如何处理,才能防止循环依赖

订单服务(A)依赖库存服务(B),而库存服务(B)又依赖订单服务(A)查询订单状态 → 可将 “订单状态查询” 中与库存相关的部分拆分到新的 “订单快照服务”(C),让 A 和 B 都依赖 C,消除 A↔B 的循环。用户服务(上游)调用订单服务(下游)查询订单 → 订单服务若需用户信息,可通过缓存获取(用户服务更新时同步数据到缓存),而非直接调用用户服务。提取共享能力:若两个服务都依赖某部分功能,可将这部分功能拆分为独立的新服务(如用户认证服务、配置服务),让原服务都依赖这个新服务,打破闭环。

2025-08-22 12:17:21 457

原创 centos7安装jdk17

从官方网站或者其他可靠的镜像源下载 Java 17 的压缩包。我已下载好的压缩包:bellsoft-jdk17.0.14+10-linux-amd64.tar.gz。

2025-07-30 12:54:22 645

原创 ubutun 操作

sudo ufw allow 8000/tcp //指定开放8000端口的tcp协议。提供了一个用户友好的界面来配置和管理iptables防火墙。(Uncomplicated Firewall)作为其防火墙管理工具。(例如,允许SSH服务):sudo ufw allow OpenSSH。命令,帮助你管理Ubuntu的防火墙。Ubuntu 默认使用。1.查看本机端口使用情况。

2025-06-24 14:21:27 296

原创 centos7 安装 postgreSQL数据库

以上步骤应该可以帮助你在 CentOS 7 上安装、启动并登录 PostgreSQL。如果你遇到任何问题,确保检查 PostgreSQL 的日志文件,通常位于。在 CentOS 7 上安装并登录 PostgreSQL 的步骤大致如下。这里假设你已经有了 CentOS 7 系统的基础知识,包括如何使用命令行界面。首先,你需要安装 PostgreSQL。这将让你进入 PostgreSQL 的命令行界面。你可以根据需要选择不同版本的 PostgreSQL,例如。同样,确保使用正确的服务名称,例如。

2025-05-19 08:37:17 1128

原创 RabbitMQ 常见问题

1. 连接失败2. 队列阻塞3. 消息丢失4. 消费者不消费5. 资源耗尽。

2025-03-02 10:30:37 437

原创 SpringBoot 常用注解总结

用于修饰 MVC 中 controller 层的组件,SpringBoot 中的组件扫描功能会识别到该注解,并为修饰的类实例化对象,通常与 @RequestMapping 联用,当 SpringMVC 获取到请求时会转发到指定路径的方法进行处理。在Java中,特别是在使用Spring框架时,自动注入是一种依赖注入的方式,它允许Spring容器自动将依赖项注入到组件中。可用于将Web请求路径映射到处理类的方法上,当作用于类上时,可以统一类中所有方法的路由路径,当作用于方法上时,可单独指定方法的路由路径。

2025-03-02 01:43:17 513

XJad(Java反编译工具)v2.2.zip

Xjad java class文件反编译工具,该资源来源于网络,为方便java 学习者下载使用,特上传此工具

2020-01-29

空空如也

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

TA关注的人

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