- 博客(138)
- 收藏
- 关注
原创 java和ptyhon对比
:初学者可先学Python建立编程思维,再深入Java理解工程化;职业方向若偏AI/数据分析选Python,若重系统架构或移动开发选Java。两者掌握其一后,另一门语言易触类旁通。
2025-07-21 22:34:08
304
原创 jdk25浅谈
JDK 25 作为 Java 的下一个长期支持版本(LTS),计划于 2025 年 9 月正式发布。该版本聚焦语言表达力提升、性能优化、并发模型革新及安全增强,是继 JDK 21 后的首个 LTS 版本。
2025-07-21 22:28:34
406
原创 git的cherry-pick
是 Git 中一个强大的命令,用于将指定的提交(commit) 从其他分支复制到当前分支。与合并 () 不同,它只选择性引入特定提交的变更,而不是整条分支的历史。以下是核心要点:精准复制提交 复制一个或多个提交的修改(文件改动),在当前分支生成内容相同但哈希值不同的新提交。避免全分支合并 当需要引入其他分支的部分功能/修复,而非整个分支时使用(例如:只移植一个关键 Bug 的修复)。操作步骤 切换到目标分支 执行 cherry-pick
2025-07-17 23:00:40
399
原创 使用 PowerMockito 模拟 new A() 行为
在 Java 测试中,当你想模拟 实例化的对象行为时,可以使用 PowerMockito。下面是一个完整的示例:Maven 依赖配置关键步骤解析 测试类配置:模拟构造函数: 设置方法返回值: 实际效果说明当 中的 执行时:这样既不需要修改被测试类的代码,也能完全控制新创建对象的行为。对于简单场景,推荐优先重构代码使用依赖注入。但当处理遗留代码或第三方库时,PowerMock 提供的这种能力非常有用。
2025-07-15 19:24:14
485
原创 java MultipartFile初始化
在Java中,是Spring框架中用于处理文件上传的接口。,而是通过Spring MVC的控制器方法参数接收上传的文件。如果需要在测试或模拟场景中创建其实例,可以使用Spring的类。
2025-07-15 19:22:51
379
原创 Docker中的Java杀手:容器化环境下的JVM内存巨坑与生存指南
:容器不是虚拟机的替代品,而是JVM的新运行时环境。忽视这点必将付出惨痛代价!
2025-07-14 22:41:39
788
原创 Dubbo跨越分布式事务的最终一致性陷阱
:作为资深Java开发者,你设计了一个Dubbo分布式电商系统:订单服务(A)调用库存服务(B)扣减库存,同时库存服务(B)需要回调订单服务(A)更新订单状态。你已正确配置了超时重试、服务降级,甚至使用了Seata AT模式,但依然遇到数据不一致。问题出在哪里?
2025-07-13 22:39:20
254
原创 由于找不到MSVCP110.dll,无法继续执行代码。重新安装程序可能会解决此问题
如同错误提示建议,卸载 “SKEstivalVersus.exe” 或相关程序,然后从其官网下载最新版本重新安装。这能修复程序自带的文件缺失问题。这是最可靠的解决方案,因为 “MSVCP110.dll” 属于 Visual C++ 2012。90% 的类似错误可通过安装官方包修复。如果这些步骤后问题依然存在,请提供更多细节(如系统版本或错误重现截图),我会进一步协助!如果上述无效,可能是系统文件损坏。Windows 内置工具能自动修复。
2025-07-13 22:28:14
338
原创 由于找不到 d3dx9_43.dll,无法继续执行代码。重新安装程序可能会解决此问题
根据您上传的图片显示,这是一个系统错误提示框,标题为“game.exe - 系统错误”,提示“由于找不到 d3dx9_43.dll,无法继续执行代码。重新安装程序可能会解决此问题。”这个错误通常发生在游戏或程序运行时缺少必要的 DirectX 组件文件(d3dx9_43.dll 是 Microsoft DirectX 9 的一部分)。
2025-07-12 21:53:20
445
原创 mvn能只test单独一个文件吗
找到你想要单独运行的测试类的完整类名(包括包路径)。就是运行单个测试类的最简单、最标准的方法。你还可以在该类名后添加。 只测试一个单独的文件(更精确地说,是一个单独的测试类)。参数的灵活性为运行特定的测试子集提供了强大的支持。插件(默认用于运行单元测试)提供的。和方法名来执行单个测试方法。使用 Maven 的。是的,Maven 。
2025-07-11 23:10:06
374
原创 报错org.mockito.exceptions.misusing.UnnecessaryStubbingException: Unnecessary stubbings detected in t
如果不是冗余的,则修正测试逻辑确保它能执行到需要该桩的代码路径。将桩的设置限定在需要的测试方法内部是避免此问题的最有效方法。模式(默认开启或通过特定运行器/规则激活)会检测这类冗余的桩,因为它们通常是代码错误或测试写得不够严谨的信号。 你定义了某个 Mock 对象的行为(打了桩),但在后续的测试执行路径中,。是 Mockito 帮助你提高测试质量的一个信号。这个报错表示你的 Mockito 测试类中存在 。
2025-07-11 23:08:43
289
原创 idea如何打开extract surround
操作快捷键 (Windows)快捷键 (macOS)使用场景⌘ + ⌥ + T包裹代码块(if/try/循环等)⌘ + ⌥ + M将代码提取为新方法⌘ + ⌥ + V将表达式提取为变量⌘ + ⌥ + C将字面量提取为常量Ctrl + T⌘ + T打开重构菜单选择提取操作💡 提示:如果快捷键冲突,可在SettingsKeymap中自定义快捷键(搜索 "Extract" 或 "Surround")。
2025-07-10 21:32:22
1429
原创 mvn能只test单独一个文件吗
找到你想要单独运行的测试类的完整类名(包括包路径)。就是运行单个测试类的最简单、最标准的方法。你还可以在该类名后添加。 只测试一个单独的文件(更精确地说,是一个单独的测试类)。参数的灵活性为运行特定的测试子集提供了强大的支持。插件(默认用于运行单元测试)提供的。和方法名来执行单个测试方法。使用 Maven 的。是的,Maven 。
2025-07-10 21:31:22
456
原创 如何处理mocking is already registered in the current thread
根据错误信息 ,这是在 Jenkins 运行单元测试时出现的 Mockito 静态模拟冲突问题。
2025-07-10 21:30:33
365
原创 java void方法怎么单测断言
进行行为验证,比传统的 JUnit 断言更具表达力。对于现代 Java 测试,推荐使用 。 提供的丰富断言(如。
2025-07-08 22:25:56
295
原创 在 Mockito 中,thenReturn(1,2)和thenReturn(1).thenReturn(2)有什么不同
对于简单返回值序列:更紧凑:更清晰体现序列关系对于混合行为(返回值+异常):必须使用链式写法对于类型转换// 多参数形式允许类型转换 (int → long)// 链式形式可能需要显式类型结论:对于纯粹的返回值序列场景,两者功能完全相同,可以根据代码风格和个人偏好自由选择。只有当需要混合不同行为(如返回值+异常)时,链式写法才是必需的选择。
2025-07-08 22:18:44
410
原创 软件项目中的静态缺陷是什么
软件项目中的(Static Defects)是指在的情况下,通过分析源代码、配置文件或设计文档发现的代码质量问题或潜在风险。这类缺陷通常通过 工具(如 SonarQube、ESLint、Checkstyle 等)或人工代码审查识别。
2025-07-07 11:13:18
316
原创 详细说一说allow-bean-definition-overriding
Bean@Bean// 覆盖Config1的Bean默认行为:启动失败,抛出。开启覆盖后:容器中最终注册的是。
2025-07-06 02:34:27
522
原创 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.Persiste
异常,通常表示 MyBatis 在执行 SQL 过程中遇到了不可预期的错误。
2025-07-06 02:32:53
836
原创 怎么处理[TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark
关键建议: 始终保留至少 20% 的磁盘空闲空间,避免ES触发自我保护。定期清理旧数据 比 被动处理磁盘满 更可靠!🚀。
2025-07-04 14:12:31
520
原创 处理私有方法模拟的深度解析
方法适用场景优点缺点代码重构可修改的新项目设计更清晰,易于测试需要修改生产代码包级可见性可调整方法可见性保持简单实现减弱封装性反射紧急情况/遗留系统不修改生产代码测试脆弱PowerMock无法重构的旧代码功能强大测试慢,复杂。
2025-07-03 22:33:55
580
原创 深入Java类加载机制—为什么自定义类加载器可能引发Metaspace OOM?
创建] → [使用] → [隔离] → [卸载]理解这四阶段才能避免Metaspace成为系统稳定性的定时炸弹。类加载器生命周期应短于其加载的类没有对象引用不等于没有内存占用显式卸载需要协同GC努力"Java应用的永恒运行,不是靠巨大的内存堆砌,而是精密的生命管理。" —— 资深架构师的领悟。
2025-07-02 22:09:57
396
原创 揭秘Java多线程下的JIT编译陷阱:为什么在空循环中移除代码会引发并发故障?
try {if (LOG.isDebugEnabled()) { // JIT移除了整个块// 此时锁状态损坏!关键教训同步块内避免冗余判断volatile写应放在共享变量修改后生产环境启用在高性能Java系统中,了解JIT的优化边界如同掌握核能技术——用之得当则动力澎湃,失控则灾难性崩溃。通过本文的工具和方法,希望你能建造出更稳定的并发系统。
2025-07-01 22:19:54
532
原创 系统架构设计师和系统分析师的区别
选系统架构设计师:适合技术深耕者,热爱解决复杂技术问题,追求成为技术领袖。典型画像:5年以上开发经验,擅长系统设计,目标CTO。选系统分析师:适合业务驱动型人才,擅长沟通与逻辑抽象,希望以技术赋能业务。典型画像:具备跨领域知识,目标产品总监或咨询顾问。
2025-07-01 22:13:24
282
原创 Java Agent线程安全
"在Java Agent的无侵入式监控领域,我们犹如行走在黑暗森林。每个看似无害的字节码注入操作,都可能引发蝴蝶效应般的灾难。当监控线程池满负荷时,工作线程被阻塞等待线程池释放资源,而线程池的任务又在等待工作线程释放资源。:当你凝视Agent时,Agent也在凝视你 —— 监控系统自身应保持量子态的透明性。,不在于编写多少代码,而在于理解字节码、线程栈、内存屏障之间那些不可见的引力联系。记住:安全监控系统的最高境界,是让自己永远不被感知。看似无害的代码替换,实则暗藏杀机。
2025-06-26 20:43:43
592
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人