摘要: 一、什么是反射? Java 反射机制(Reflection)是指:程序在运行状态中,可以获取任意类的所有属性和方法,也能直接调用任意对象的属性和方法,这种“动态获取信息并调用对象方法”的能力,就是反射。 简单说:即使在编译期不知道类的名字,运行时也能通过反射找到并使用它。 二、反射的核心原理 Jav 阅读全文
posted @ 2026-05-08 16:31 软件小白陈万里 阅读(2) 评论(0) 推荐(0)
摘要: 一、作业要求 1.计算一个方法执行了多少秒 2.使用匿名内部类来传递待测试的方法 二、设计思路 定义一个 Task 接口,包含一个 execute() 方法 创建一个 TimeUtil 工具类,接收 Task 实现,在方法前后记录时间 主程序中使用匿名内部类传入具体业务逻辑 三.代码实现 publi 阅读全文
posted @ 2026-05-08 16:26 软件小白陈万里 阅读(1) 评论(0) 推荐(0)
摘要: 一.登录功能重构(符合单一职责原则) 在原始设计中,一个登录类承担了过多的职责:界面初始化、界面显示、输入验证、数据库连接获取、用户信息查询以及程序入口启动。这种设计导致类变得臃肿,任何一项职责的变更都可能影响到其他职责,同时也降低了代码的可读性和可维护性,违背了单一职责原则。 重构方法:将登录类中 阅读全文
posted @ 2026-05-06 21:58 软件小白陈万里 阅读(7) 评论(0) 推荐(0)
摘要: 一.我对UML德误区 之前学UML,一直以为就是学画类图、时序图,把符号记下来就完事了。但老师推荐读《大象——Thinking in UML》,才发现自己完全理解错了! 二.对UML的理解 这本书根本不是教你怎么画UML的,而是教你用面向对象的思维分析问题。作者说,UML只是一种语言,它的真正价值, 阅读全文
posted @ 2026-05-02 17:07 软件小白陈万里 阅读(6) 评论(0) 推荐(0)
摘要: 这周上课,第一次听到“形式化方法”这个词,刚开始完全懵,查了资料才搞懂,原来它是软件工程里一个超硬核的“保平安”技术! 一.什么是形式化方法? 简单说,形式化方法就是用数学和逻辑的方式,给软件写一份“零歧义的说明书”。它不像我们平时用自然语言写需求,容易有漏洞和理解偏差,而是用一套严谨的数学语言,把 阅读全文
posted @ 2026-05-02 17:02 软件小白陈万里 阅读(4) 评论(0) 推荐(0)
摘要: 今天对Java方法进行巩固练习,包括方法定义、参数传递、重载、递归、工具类封装,通过完整代码加深理解。 一.方法基础与综合案例 public class MethodPractice { // 1. 静态方法:求两个int类型数的和 public static int add(int a, int 阅读全文
posted @ 2026-04-28 12:23 软件小白陈万里 阅读(3) 评论(0) 推荐(0)
摘要: 一.题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k。去重后,返回唯一元素的数量 k。nums 阅读全文
posted @ 2026-04-26 11:22 软件小白陈万里 阅读(3) 评论(0) 推荐(0)
摘要: 一.题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即 阅读全文
posted @ 2026-04-20 17:03 软件小白陈万里 阅读(3) 评论(0) 推荐(0)
摘要: 枚举是 Java 中用来表示固定常量的类型,能让代码更清晰、更安全。下面介绍三种最常用的枚举使用场景。 一、场景1:表示状态(如订单状态) 用枚举代替数字,代码可读性更强。 enum OrderStatus { UNPAID("未支付"), PAID("已支付"), SHIPPED("已发货"); 阅读全文
posted @ 2026-04-17 12:03 软件小白陈万里 阅读(4) 评论(0) 推荐(0)
摘要: 一、思路 先假设所有数都是素数。 ​ 从最小的素数 2 开始,把它的所有倍数标记为非素数。 ​ 接着处理下一个没被标记的数,重复标记它的倍数。 ​ 最后没被标记的数就是素数。 二、Java 代码实现 public class practice { //埃拉托斯特尼算法 public static v 阅读全文
posted @ 2026-04-17 11:56 软件小白陈万里 阅读(5) 评论(0) 推荐(0)
// ========== 博客代码显示与横向滚动自动修复 ========== (function() { 'use strict'; // 修复所有代码块(解决不显示 + 横向滚动) function fixCodeBlocks() { document.querySelectorAll('pre, .highlight, .code-block').forEach(block => { // 强制显示被隐藏的代码块 if (block.style.display === 'none') block.style.display = 'block'; if (block.style.visibility === 'hidden') block.style.visibility = 'visible'; // 强制横向滚动 block.style.overflowX = 'auto'; block.style.maxWidth = '100%'; block.style.whiteSpace = 'pre'; // 修复内部code标签 const innerCode = block.querySelector('code'); if (innerCode) { innerCode.style.whiteSpace = 'pre'; innerCode.style.fontFamily = "'SF Mono', 'Fira Code', 'Consolas', monospace"; } }); } // 修复页面横向溢出问题 function fixHorizontalOverflow() { document.documentElement.style.overflowX = 'hidden'; document.body.style.overflowX = 'hidden'; } // 统一字体(二次保险) function unifyFonts() { document.body.style.fontFamily = "system-ui, -apple-system, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif"; } // 🆕 为代码块添加语法高亮类(增强数字和关键字的识别) function enhanceCodeNumbers() { document.querySelectorAll('pre code, .highlight code').forEach(codeBlock => { let html = codeBlock.innerHTML; // 高亮数字(整数和小数) html = html.replace(/\b(\d+\.?\d*)\b/g, '$1'); // 高亮常见关键字(可选) const keywords = ['def', 'return', 'if', 'else', 'for', 'while', 'True', 'False', 'None', 'import', 'from', 'class']; keywords.forEach(keyword => { const regex = new RegExp(`\\b(${keyword})\\b`, 'g'); html = html.replace(regex, '$1'); }); codeBlock.innerHTML = html; }); } // 🆕 添加增强样式 function addEnhancementStyles() { const style = document.createElement('style'); style.textContent = ` .number-highlight { color: #f92672 !important; font-weight: bold !important; background: rgba(249, 38, 114, 0.1) !important; padding: 0 2px !important; border-radius: 3px !important; } .keyword-highlight { color: #66d9ef !important; font-weight: bold !important; } `; document.head.appendChild(style); } // 监听动态添加的内容(如评论、ajax加载) const observer = new MutationObserver(() => { fixCodeBlocks(); fixHorizontalOverflow(); enhanceCodeNumbers(); // 🆕 增强数字显示 }); observer.observe(document.body, { childList: true, subtree: true }); // 页面加载时执行 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => { fixCodeBlocks(); fixHorizontalOverflow(); unifyFonts(); addEnhancementStyles(); enhanceCodeNumbers(); }); } else { fixCodeBlocks(); fixHorizontalOverflow(); unifyFonts(); addEnhancementStyles(); enhanceCodeNumbers(); } console.log('✅ 博客代码修复已生效 - 代码与文字已明显区分'); })();