本本本添哥
奶爸的编程之路,也就一周冷个三天~
专门分享AI大模型/Java微服务/计算机软考/项目管理/个人成长/思维框架/效能工具等相关内容
欢迎关注我的公众号:本本本添哥
展开
-
【项目实战】在SpringCloud项目中快速切换到沙箱环境,同时利用Nacos的命名空间功能实现环境隔离和动态配置管理
在SpringCloud项目中,通过Nacos的namespace快速切换连接到沙箱环境的方法可以通过以下步骤实现,通过以下步骤,可以在SpringCloud项目中快速切换到沙箱环境,同时利用Nacos的命名空间功能实现环境隔离和动态配置管理。原创 2025-03-18 09:52:10 · 20 阅读 · 0 评论 -
【项目实战】在Undertow中设置连接超时涉及多个参数:no-request-timeout(无请求超时)& idle-timeout(空闲超时)
在Undertow中设置连接超时涉及多个参数,具体配置方式取决于应用场景和部署环境。原创 2025-03-17 13:38:14 · 46 阅读 · 0 评论 -
【异常】Tomcat已经设置了 5分钟了,但是还是1分钟超时,提示504 Gateway time-out
验证 YAML 配置:确保的路径和缩进正确。处理上传超时:设置并配置。检查覆盖配置:排查自定义server.xml或代码中的 Tomcat 参数。日志分析:通过日志确认实际生效的超时时间,并检查数据库或代理层干扰。原创 2025-03-17 13:35:11 · 33 阅读 · 0 评论 -
【异常】The template string is not valid.] with root cause: ‘“1/2/3“‘ came as a complete surprise to me
此错误的核心是,需仔细检查占位符格式、变量名有效性及特殊字符转义。通过日志输出和单元测试可快速定位问题。若涉及动态生成模板,需确保数据源的可靠性。原创 2025-03-16 11:02:41 · 19 阅读 · 0 评论 -
【项目实战】Java 对多行字符串的支持主要体现在引入了“文本块”(Text Blocks)特性,该特性从 Java 13 开始作为预览特性出现,并在 Java 15 正式成为标准特性。
文本块是一种用于简化多行字符串处理的语法糖。它通过使用三重双引号(```)来定义多行字符串,其中的内容会被解释为字符串的一部分,包括换行符和其他特殊字符。这种特性极大地提高了代码的可读性和编写效率,尤其是在处理 JSON、XML 或 HTML 等格式化文本时非常有用。原创 2025-03-16 10:38:21 · 17 阅读 · 0 评论 -
【性能优化】hprof文件是Java虚拟机生成的堆转储文件,用于分析内存使用情况、检测内存泄漏及优化性能。通过hprof文件,开发者能精准定位内存问题并优化性能,是Java/Android开发中不可或
生成场景:OOM自动生成、手动触发、代码调用或工具导出。核心工具:MAT(深度分析)、VisualVM(快速查看)、Android Studio(移动端集成)。高级技巧:格式转换、自动化解析、大文件压缩处理。原创 2025-03-11 09:00:51 · 42 阅读 · 0 评论 -
【项目实战】在 IntelliJ IDEA 中打开 `.hprof` 文件(Java 内存快照文件)
文件(Java 内存快照文件)的步骤如下,结合不同版本的特性说明:通过以下方法,用户可以直接在 IDEA 中完成内存快照的初步分析,无需依赖外部工具。如需更深入分析,建议导出数据到专业工具(如 MAT)。在 IntelliJ IDEA 中打开。原创 2025-03-10 11:13:40 · 260 阅读 · 0 评论 -
【性能优化】hprof文件是Java虚拟机生成的堆转储文件,用于分析内存使用情况、检测内存泄漏及优化性能。通过hprof文件,开发者能精准定位内存问题并优化性能。
生成场景:OOM自动生成、手动触发、代码调用或工具导出。核心工具:MAT(深度分析)、VisualVM(快速查看)、Android Studio(移动端集成)。高级技巧:格式转换、自动化解析、大文件压缩处理。原创 2025-03-10 11:10:31 · 63 阅读 · 0 评论 -
【项目实战】在Linux系统中生成Java Heap Dump文件
命令执行后输出“Heap dump file created”即表示成功。若需仅转存活对象(减少文件大小),可添加。建议使用绝对路径以避免路径错误。原创 2025-03-09 10:43:35 · 32 阅读 · 0 评论 -
【项目实战】从0开始入门JDK源码 - HashMap源码1.8
/ 默认的初始容量 - 必须是2的幂。默认容量是16// aka 16//最大容量,如果一个更高的值被隐含地指定,则使用该值。//必须是2的幂 <= 1<<30.//加载因子//当构造函数中没有指定时,使用的负载因子。// 用来衡量是否要转红黑树//衡量是否有转换为红黑树条件//当红黑树上的值只有6个时,这时转为链表结构//最小的表的容量//转红黑树需要的最小数组长度//转换红黑树要求数组长度大于64才能直接转红黑树。原创 2025-03-09 10:37:45 · 105 阅读 · 0 评论 -
【项目实战】Spring Cloud Sidecar 是一种用于将非Java语言(如C、Python、Node.js等)开发的异构微服务集成到Spring Cloud生态系统的工具。
Spring Cloud Sidecar 是一种用于将非Java语言(如C、Python、Node.js等)开发的异构微服务集成到Spring Cloud生态系统的工具。它通过边车模式(Sidecar Pattern)实现,允许这些服务无需修改代码即可享受服务发现、负载均衡、配置管理等Spring Cloud核心功能。通过该机制,Spring Cloud Sidecar有效解决了多语言微服务架构中的异构集成难题,成为跨技术栈协作的重要桥梁。原创 2025-03-09 10:36:35 · 12 阅读 · 0 评论 -
【项目实战】Spring Cloud 微服务架构中如何包含由 Python 编写的服务
Spring Cloud 微服务架构中可以包含由 Python 编写的服务。通过多种技术手段,Python 服务可以无缝融入以 Java 为主的 Spring Cloud 体系,实现服务注册、发现、调用及负载均衡等功能。原创 2025-03-07 09:36:12 · 16 阅读 · 0 评论 -
【项目实战】从0开始入门Spring源码 -Spring AOP源码实现主要围绕动态代理机制和代理对象的创建展开,Spring AOP 的核心源码通过动态代理和Bean 生命周期扩展实现。
Spring AOP 的源码实现主要围绕动态代理机制和代理对象的创建展开,Spring AOP 的核心源码通过和)实现,其设计兼顾灵活性与扩展性。理解其源码的关键在于掌握代理对象的生成流程(从匹配 Advisor 到选择代理方式)和拦截器链的执行逻辑(责任链模式的应用)。通过结合 XML 配置与注解方式的实现差异,可更全面掌握 Spring AOP 的底层机制。原创 2025-03-06 11:05:54 · 18 阅读 · 0 评论 -
【项目实战】从0开始入门Spring源码 - 后置处理器源码实现涉及多个核心接口和关键执行节点,其核心逻辑贯穿Bean的生命周期及容器初始化过程。
Spring框架中的后置处理器源码实现涉及多个核心接口和关键执行节点,其核心逻辑贯穿Bean的生命周期及容器初始化过程。Spring后置处理器的设计体现了“开闭原则”,通过扩展点允许开发者深度定制容器行为。是理解后置处理器机制的重点。原创 2025-03-06 10:22:36 · 9 阅读 · 0 评论 -
【项目实战】从0开始入门Spring源码 - 事件多播器(ApplicationEventMulticaster)与监听器的源码
多播器初始化:默认同步,可自定义异步。监听器注册:支持接口和注解两种方式。事件广播:按需选择同步或异步执行。扩展机制:支持错误处理、父容器传播等。原创 2025-03-06 10:20:00 · 14 阅读 · 0 评论 -
【项目实战】Kwik 是一个完全用 Java 实现的 QUIC 协议库,支持客户端、服务器以及 HTTP/3 协议。
Kwik 是一个完全用 Java 实现的 QUIC 协议库,支持客户端、服务器以及 HTTP/3 协议。Kwik 是当前 Java 生态中最成熟的 QUIC 实现之一,适合需要纯 Java 解决方案的场景(如 Android 或受限环境)。但其生产环境成熟度和维护复杂性需结合项目需求谨慎评估。对于追求极致性能的场景,可考虑基于 Rust/C++ 的库(如 TQUIC)并通过 JNI 集成。原创 2025-03-05 10:26:18 · 25 阅读 · 0 评论 -
【项目实战】从0开始入门Spring源码 - IOC源码
通过以上步骤,可以从基础概念逐步深入到Spring IoC源码的核心实现。关键是通过调试和手写实践理解管理、依赖注入、扩展机制等核心逻辑,同时结合设计模式和架构思想,掌握Spring的设计精髓。原创 2025-02-26 09:41:15 · 28 阅读 · 0 评论 -
【项目实战】将 Flowable 工作流引擎集成到 Spring Boot 应用程序中的启动器
Flowable支持多种方式来定义和部署流程,包括但不限于上传XML文件到引擎中进行解析和部署。一旦部署完成,就可以根据需要启动流程实例。此外,还可以暂停或激活某些流程,甚至整个部署包,或者获取相关的资源文件。你可以使用 BPMN 2.0 标准来定义工作流。将这个文件放在目录下(如果目录不存在,请创建)。</</原创 2025-01-24 21:56:09 · 53 阅读 · 0 评论 -
【项目实战】Apollo(阿波罗)是携程框架部门研发的一款开源配置管理中心,旨在解决分布式系统中应用配置管理的问题。
为了更好地服务于第三方应用,Apollo提供了一套HTTP RESTful接口,称为开放平台API。这套API允许外部应用程序自行管理其配置数据,包括查询、添加、修改和删除等操作。通过这种方式,不仅可以简化配置管理工作流程,而且还能提高自动化程度,减少人为错误的可能性。使用Apollo开放平台API前,首先需要注册一个第三方应用并获取唯一的AppId,接着为该应用生成一个用于身份验证的Token。有了Token之后,第三方应用就可以调用Apollo提供的各种RESTful接口了。原创 2025-01-24 21:55:56 · 57 阅读 · 0 评论 -
【项目实战】Vert.x 是一个用于构建响应式应用的工具包,被设计为轻量级和高性能,特别适合构建现代微服务架构和事件驱动的应用程序。
Vert.x是一个用于构建响应式应用的工具包。Vert.x支持多种编程语言,包括Java、JavaScript、Groovy、Ruby、Scala和Kotlin。Vert.x被设计为轻量级和高性能,特别适合构建现代微服务架构和事件驱动的应用程序。原创 2025-01-17 10:09:55 · 44 阅读 · 0 评论 -
【异常】SpringCloud使用Nacos时,出现Add a spring.config.import=nacos: property to your configuration.
这一变化意味着对于某些依赖于外部配置中心(如Nacos)的应用程序来说,必须明确指定如何以及从哪里加载这些额外的配置资源。根据提供的信息,这个问题通常出现在使用了Spring Cloud Alibaba Nacos作为配置中心的情况下。这样做后,即使Nacos不可用或没有配置相应的条目,应用程序仍然能够正常启动,只是不会应用来自Nacos的配置。例如,对于Spring Boot 3.x,您应该选择相应的主要版本为4.x的依赖项。配置文件的自动加载,因此可能需要手动添加对它的支持。最直接的方法是在您的。原创 2025-01-03 12:09:00 · 467 阅读 · 0 评论 -
【异常】Nacos改值了,一定要构建服务吗?利用 `@RefreshScope` 注解让 Spring Cloud 应用在 Nacos 配置变化时自动刷新配置。
Nacos 是一个动态服务发现、配置管理和服务管理平台,常用于微服务架构中。:如果您的应用程序支持热更新(即无需重启即可应用新的配置),那么通常不需要重新构建和部署服务。许多现代框架和服务都支持这种特性,例如 Spring Cloud 应用可以通过注解来实现配置的自动刷新。:如果更改的配置是运行时可以立即生效的,比如数据库连接池大小、日志级别等,而且您的应用已经实现了对这些配置变化的监听和响应机制,那么可能只需要触发一次刷新操作而不需要重新构建服务。原创 2024-12-31 13:06:32 · 26 阅读 · 0 评论 -
【异常】ClassFormatError accessible: module java.base does not “opens java.lang“ to unnamed module
如果您无法更改命令行参数,但仍然需要绕过这个问题,可以考虑实现一个Java Agent,使用Instrumentation API在类加载之前修改字节码。您可以在启动Java应用程序时添加如下参数,如果您的应用运行在一个容器(如Tomcat、Jetty)或其他框架中,您可能需要找到该容器或框架的启动配置文件,并将上述JVM参数添加进去。有时候,升级到更新版本的库可以解决问题,因为开发者通常会在新版本中修复这些问题。如果不确定,查阅CGLIB的官方文档或者发行说明,寻找有关Java 9+兼容性的信息。原创 2024-12-23 16:25:30 · 262 阅读 · 0 评论 -
【异常】Spring Cloud Gateway与Nacos整合转发WebSocket服务失败原因分析及解决方案
在使用Spring Cloud Gateway进行WebSocket服务的转发时,遇到了连接失败的问题。原创 2024-12-16 14:01:28 · 508 阅读 · 0 评论 -
【项目实战】APT(Annotation Processing Tool),允许开发者在编译期处理注解
APT(Annotation Processing Tool)是Java编译器的一部分,它允许开发者在编译期处理注解。通过APT,你可以在编译时检查、修改或生成新的源代码文件。这项技术常用于框架和库的开发中,以提供代码生成功能,简化API使用,并且可以用来执行静态分析等任务。注解解析:自定义注解处理器:代码生成:元数据访问:环境集成:多轮处理:独立于编译过程:假设你想创建一个简单的例子,其中有一个注解,当你把它放在某个方法上时,APT会生成额外的代码来记录这个方法的调用。你需要做的是定义这个注解,然后创建一原创 2024-12-13 15:42:08 · 53 阅读 · 0 评论 -
【异常】Checksum validation failed, expected ‘<!DOCTYPE‘ (REMOTE_EXTERNAL) but is actually ‘
文件实际上是一个HTML页面而不是有效的POM文件。如果Spring Milestones仓库有问题,可以尝试使用其他仓库。从错误日志来看,问题出在下载的POM文件内容不正确。接着,可以手动下载正确的POM文件并放置到本地Maven缓存目录中。你可以手动删除相关目录,或者使用Maven命令来清理缓存。参数会强制Maven更新所有依赖项,包括快照版本。首先,清理本地Maven缓存目录中的相关文件。例如,添加中央仓库或其他可靠的第三方仓库。文件中配置的仓库URL是正确的。来验证URL是否有效。原创 2024-11-21 12:14:44 · 541 阅读 · 0 评论 -
【异常】SpringCloud微服务项目提示系统提示服务找不到
在Spring Cloud微服务架构中遇到“服务找不到”的错误通常意味着微服务注册与发现出现了问题,自己排查下 改了什么,可以看看git的提交记录,往往就是因为yaml文件有问题导致的。原创 2024-11-21 09:42:31 · 168 阅读 · 0 评论 -
【项目实战】实现 Nacos 配置的实时生效而无需重启业务服务
为了实现 Nacos 配置的实时生效而无需重启业务服务,以下步骤确保了你的业务服务能够从 Nacos 实时获取最新的配置信息,从而实现了配置的动态更新。原创 2024-11-13 11:17:18 · 240 阅读 · 0 评论 -
【异常】SpringAI提示 Failed to download spring-ai-core 无法解析 org.springframework.ai:spring-ai-core:1.0.0-M3
作为最后的手段,可以尝试直接从浏览器访问 https://repo.spring.io/milestone/org/springframework/ai/spring-ai-spring-boot-autoconfigure/1.0.0-M3/ 并手动下载所需的 JAR 文件,然后将其安装到本地的 Maven 仓库中。当你遇到这样的错误信息,通常意味着 Maven 无法从指定的仓库下载所需的依赖。这可能是由多种原因造成的,比如网络问题、仓库地址错误或资源暂时不可用等。原创 2024-11-11 18:16:19 · 555 阅读 · 0 评论 -
【项目实战】分布式会话之Spring Session
同域名下相同项目:默认配置即可实现。同域名下不同项目:确保所有项目连接同一个 Redis 服务器,并设置正确的。同根域名下不同二级子域名:设置 Cookie 的domain属性为根域名。不同根域名:考虑使用跨域请求、单点登录或 JWT 等方案。原创 2024-10-29 10:10:07 · 26 阅读 · 0 评论 -
【2.4 微服务链路追踪(SkyWalking)】链路追踪组件Zipkin(可视化链路分析器)入门介绍
Zipkin , Twitter 的一个开源项目Zipkin , Twitter 开源的一个分布式追踪系统Zipkin , 基于Google Dapper实现。Zipkin ,主要用于收集服务的定时数据,以解决微服务架构中的延迟问题。Zipkin ,能够收集各个服务器上请求链路的跟踪数据,并通过提供的 REST API 接口来辅助查询跟踪数据,从而帮助开发者监控分布式系统,及时发现延迟升高问题并找出性能瓶颈的根源。原创 2024-10-28 23:28:30 · 127 阅读 · 0 评论 -
【2.4 微服务链路追踪(SkyWalking)】链路追踪组件SpringCloud Sleuth(链路追踪器)入门介绍
Spring Cloud Sleuth 通过提供强大的分布式跟踪功能,帮助开发者更好地理解和优化微服务架构。通过 Span 和 Trace 的概念,结合注解和上下文传播机制,Sleuth 能够详细记录每一次请求的流转情况,并通过可视化工具直观地展示出来。同时,通过灵活的采样策略,Sleuth 在保证性能的同时,提供了丰富的跟踪数据。原创 2024-10-28 23:21:36 · 115 阅读 · 0 评论 -
【1.3 API服务网关(SpringCloudGateway)】微服务网关路由Zuul入门介绍
Zuul 是 Netflix 开源的一个微服务网关,它主要用于提供动态路由、监控、弹性和安全性等边缘服务。Zuul1.x ,基于 Servlet 过滤器实现的。Zuul1.x 可以作为进入应用后端所有请求的统一入口点,从而简化了服务间的通信,并提供了诸如认证、鉴权、负载均衡等功能。原创 2024-10-28 23:18:15 · 34 阅读 · 0 评论 -
【1.3 API服务网关(SpringCloudGateway)】微服务网关路由Kong,一个开源的、可扩展的 API 网关,可以通过插件机制轻松扩展。
Kong,一个强大的 API 网关。Kong,是一个开源的、可扩展的 API 网关。Kong,在现代微服务架构中扮演着关键角色。Kong,可以通过插件机制轻松扩展。可以利用 Kong 的丰富功能来增强你的微服务架构的安全性和可靠性。Kong,提供了包括身份验证、监控、限流、日志记录等在内的多种功能。原创 2024-10-28 23:13:43 · 55 阅读 · 0 评论 -
【2.5 认证中心(Spring Security)】微服务权限认证OAuth2.0入门介绍
OAuth 2.0 ,是一种授权框架。OAuth 2.0, 允许第三方应用以安全的方式访问用户数据,而无需将用户名和密码提供给第三方。OAuth 2.0 ,通过引入一个授权层来分离“客户端”和“资源所有者”的身份验证过程。OAuth 2.0,因其灵活性和安全性广泛应用于微服务架构中,尤其是在API网关和微服务之间的安全通信上。原创 2024-10-28 23:09:04 · 57 阅读 · 0 评论 -
【项目实战】微服务消息总线Spring Cloud Bus入门介绍
Spring Cloud Bus 是一个用于管理和传播分布式系统配置变更的工具。Spring Cloud Bus 使用轻量级消息代理来连接分布式系统的各个节点。Spring Cloud Bus 提供了一种高效的方式来管理微服务架构中的配置更新和其他类型的服务间通信。通过这种方式,当某个服务实例的配置发生变化时(例如,通过Spring Cloud Config),这些变化可以快速传播到其他所有相关的服务实例上,而不需要每个服务都去轮询配置服务器来获取最新的配置信息。原创 2024-10-28 23:04:43 · 55 阅读 · 0 评论 -
【项目实战】微服务消息总线Spring Cloud Stream入门介绍
Spring Cloud Stream 是一个用于构建基于消息驱动的微服务应用框架。Spring Cloud Stream 简化了与消息中间件(如RabbitMQ, Kafka等)的集成Spring Cloud Stream 提供了一种统一的方式来处理生产者-消费者模式中的消息传递问题。原创 2024-10-28 22:57:54 · 25 阅读 · 0 评论 -
【项目实战】Resilience4j,轻量级的容错库,专为 Java 8 和函数式编程设计
Resilience4j 是一个轻量级的容错库,专为 Java 8 和函数式编程设计。它提供了高级别的容错机制和弹性模式,如断路器、重试、速率限制、隔板、超时等,以提高应用程序在面对故障时的稳定性和可用性。原创 2024-10-27 07:31:11 · 68 阅读 · 0 评论 -
【项目实战】Spring Cloud Alibaba Sentinel 如何开启接口限流RateLimite
Spring Cloud Alibaba Sentinel 是阿里巴巴开源的用于服务容错、流量控制和熔断降级等微服务治理场景的组件。原创 2024-10-26 16:00:24 · 61 阅读 · 0 评论 -
【项目实战】Redis使用场景之基于Redis实现分布式限流
是指在分布式系统中限制请求的速率,以保护后端服务不被过多的请求压垮。它可以帮助我们控制系统的负载,保证服务的稳定性。Redis是一个高性能的键值存储系统,常用于缓存、消息队列和实时分析等场景。由于其支持丰富的数据结构和原子操作,非常适合用来实现分布式限流。原创 2024-10-26 15:56:29 · 98 阅读 · 0 评论