本篇文章给大家谈谈微乐湖南麻将小程序必赢神器免费,以及微乐家乡麻将万能开挂器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 微乐麻将怎样建房间...
2025-08-16 0
在 Java 学习和开发中,我们经常会遇到这样的疑问:
如果分不清 编译期(Compile-time) 和 运行期(Runtime) ,就很容易在调试时陷入混乱。
本文将从概念、区别、常见混淆点、实战案例四个方面,帮你彻底厘清它们的边界。
例子:
int x = "hello"; // 编译错误:类型不兼容
例子:
String s = null;System.out.println(s.length()); // 运行期异常:NullPointerException
维度 | 编译期 | 运行期 |
时间点 | 源代码 → 字节码 | 字节码 → 机器码执行 |
检查内容 | 语法、类型、常量 | 动态行为、内存分配 |
错误表现 | 编译错误(Compile-time Error) | 运行时异常(Runtime Exception) |
工具/组件 | javac 编译器 | JVM |
是否能生成 .class | ❌ 编译失败则不能生成 | ✅ 已生成的字节码可以执行 |
例子:
// 编译期错误int a = "abc"; // 类型不匹配// 运行期错误int[] arr = new int[3];System.out.println(arr[5]); // ArrayIndexOutOfBoundsException
例子:
List<String> list = new ArrayList<>();List<Integer> list2 = new ArrayList<>();System.out.println(list.getClass() == list2.getClass()); // true
例子:
public static final int A = 1 + 2; // 编译期常量public static final int B = new Random().nextInt(); // 运行时常量
例子:
Field field = String.class.getDeclaredField("value");field.setAccessible(true);field.set("abc", new char[]{'X','Y','Z'}); // 运行期可能破坏 String 不可变性
例子:
class Parent { void say() { System.out.println("Parent"); } }class Child extends Parent { void say() { System.out.println("Child"); } }Parent p = new Child();p.say(); // 运行期决定调用 Child.say()
特征 | 编译期 | 运行期 |
触发者 | 编译器 | JVM |
主要任务 | 检查 & 生成字节码 | 执行字节码 |
错误表现 | 编译错误(不可执行) | 运行异常(可能部分执行) |
示例 | 类型不匹配、语法错误 | NPE、数组越界 |
✅ 一句话记忆:
编译期决定“能不能跑”,运行期决定“跑得怎么样”。
相关文章
本篇文章给大家谈谈微乐湖南麻将小程序必赢神器免费,以及微乐家乡麻将万能开挂器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 微乐麻将怎样建房间...
2025-08-16 0
现在人们打棋牌麻将谁不想赢?手机微乐麻将必赢神器但是手机棋牌麻将是这么好赢的吗?在手机上打棋牌麻将想赢,不仅需要运气,也需要技巧。掌握的棋牌麻将技巧就...
2025-08-16 0
您好:这款游戏可以开挂,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-08-16 0
您好:这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人...
2025-08-16 0
亲,这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-08-16 0
发表评论