摘要: 前言 今天有一段使用 FileInputStream 读取文件的经典代码。乍一看,这段代码逻辑清晰:打开文件、循环读取、打印内容、关闭流。但如果仔细盯着那个红色的 while 循环和下面的 String 构造方法看,就会发现里面藏着 Java IO 编程中几个非常重要的细节。 今天这篇随笔,就讨论为 阅读全文
posted @ 2026-06-11 22:43 定缘 阅读(11) 评论(0) 推荐(0)
摘要: 前言 今天的课堂作业主题是 “使用 Thread 子类创建线程 VS 使用 Runnable 接口”。这是每一个 Java 开发者在入门多线程时都会遇到的经典问题。虽然现在的开发中我们更多使用线程池或 CompletableFuture ,但理解这两种基础方式的区别,是掌握并发编程底层逻辑的基石。 阅读全文
posted @ 2026-06-10 22:19 定缘 阅读(9) 评论(0) 推荐(1)
摘要: 前言 课堂上,老师展示了两个非常典型的反面教材:一个是 Sunny 软件公司的 CRM 图表显示系统,另一个是基于 Java C/S 系统的登录功能。这两个案例虽然业务场景不同,但都指向了软件设计中两个最核心的痛点:如何面对变化(开闭原则)以及如何界定责任(单一职责原则)。 应对变化:CRM 图表系 阅读全文
posted @ 2026-06-09 22:56 定缘 阅读(16) 评论(0) 推荐(1)
摘要: 平时我们写代码是“静态”的,编译时就知道要用哪个类;而反射允许我们在“运行时”才去决定用哪个类、调用哪个方法。今天这篇随笔,将拆解这个 Java 高级特性的核心逻辑。 什么是反射?为什么需要它? 在传统的编程模式中,如果我们想使用一个对象,必须先知道它的类名,然后 new 出来。 但是,如果需要根据 阅读全文
posted @ 2026-06-08 23:10 定缘 阅读(14) 评论(0) 推荐(1)
摘要: 精准计时 假设有一个复杂的算法 doSomething() ,想知道它跑完到底需要多久。最直观的想法是: long start = System.currentTimeMillis(); doSomething(); // 执行业务逻辑 long end = System.currentTimeMi 阅读全文
posted @ 2026-06-07 22:43 定缘 阅读(17) 评论(0) 推荐(1)
摘要: 一、两类文件复制的核心区分 IO 流里文件复制分文本文件和任意类型文件,底层对应字符流、字节流两大体系,二者不能混用是踩坑关键点: 文本文件 → 优先字符缓冲流(BufferedReader/BufferedWriter) 字符流专为字符编码设计,只适配.txt、.java这类纯文本,依靠字符缓冲缓 阅读全文
posted @ 2026-06-06 21:51 定缘 阅读(11) 评论(0) 推荐(1)
摘要: 为什么需要线程同步? 当多个线程同时修改同一个变量(例如银行账户余额)时,可能会发生“数据覆盖”或“读取脏数据”的情况。这就好比两个人同时去改同一份文档,如果不加锁,最后的结果肯定是一团糟。 为了解决这个问题,Java 提供了线程同步机制。 给代码加把锁:synchronized synchroni 阅读全文
posted @ 2026-06-05 23:09 定缘 阅读(13) 评论(0) 推荐(1)
摘要: 学习多线程原因 当程序需要同时下载文件、播放音乐并响应用户点击。如果只用单线程,这些任务必须排队执行,用户体验会极差。多线程技术允许程序“一心多用”,充分利用 CPU 资源,实现真正的并发处理。 开启新世界的钥匙:创建线程 在 Java 中,启动一个新线程主要有两种经典姿势: 方式一:继承 Thre 阅读全文
posted @ 2026-06-04 21:11 定缘 阅读(16) 评论(0) 推荐(1)
摘要: 引言:一个被忽视的问题 以前写代码,我们的模式大致是:需求看懂了,逻辑想通了,跑起来没有明显的bug,就认为工作完成了。直到接触到“形式化方法”这个概念,才知道还有“用数学证明系统正确性”这种操作,这才意识到自己对软件工程的认知有多么片面。 一、什么是形式化方法? 形式化方法,简单来说,就是用数学和 阅读全文
posted @ 2026-06-03 22:22 定缘 阅读(16) 评论(0) 推荐(1)
摘要: 一、File 类:不仅仅是个文件对象 File 类和 IO 流的关系。必须明确一点:File 类只是文件或目录路径名的抽象表示,它本身不具备读写数据的能力。 核心作用:它是操作文件系统(创建、删除、重命名、查询属性)的入口。 常用 API:exists() 判断是否存在,mkdirs() 创建多级目 阅读全文
posted @ 2026-06-02 22:11 定缘 阅读(19) 评论(0) 推荐(1)