练习 / jvm

Java练习

Java的全部练习都来自可随时对照的主题。

81项练习 离线运行
jvm 测验 新题 注解接口没有`@Retention`时采用哪种保留策略? Java注解为声明和类型使用位置附加结构化元数据;理解目标、保留策略、反射读取与编译期处理,才能让元数据真正生效。 入门 1分钟 · 来自注解 jvm 测验 新题 `@Inherited`会让子类查询继承什么? Java注解为声明和类型使用位置附加结构化元数据;理解目标、保留策略、反射读取与编译期处理,才能让元数据真正生效。 进阶 1分钟 · 来自注解 jvm 预测输出 新题 这段程序会输出什么? Java注解为声明和类型使用位置附加结构化元数据;理解目标、保留策略、反射读取与编译期处理,才能让元数据真正生效。 进阶 2分钟 · 来自注解 jvm 审查AI代码 新题 审查生成的角色调度器 Java注解为声明和类型使用位置附加结构化元数据;理解目标、保留策略、反射读取与编译期处理,才能让元数据真正生效。 高级 6分钟 · 来自注解 jvm 找出bug 新题 找出调度任务注解里的bug Java注解为声明和类型使用位置附加结构化元数据;理解目标、保留策略、反射读取与编译期处理,才能让元数据真正生效。 入门 4分钟 · 来自注解 jvm 测验 新题 为什么只显示一个符号的Java String,其length() 可能为2? Java基本类型与引用类型的边界、数值转换规则、装箱语义,以及会在生产代码中造成错误的类型陷阱。 入门 1分钟 · 来自数据类型 jvm 预测输出 新题 这段程序会输出什么? Java基本类型与引用类型的边界、数值转换规则、装箱语义,以及会在生产代码中造成错误的类型陷阱。 进阶 2分钟 · 来自数据类型 jvm 审查AI代码 新题 审查生成的发票合计 Java基本类型与引用类型的边界、数值转换规则、装箱语义,以及会在生产代码中造成错误的类型陷阱。 高级 6分钟 · 来自数据类型 jvm 找出bug 新题 找出存储量估算里的bug Java基本类型与引用类型的边界、数值转换规则、装箱语义,以及会在生产代码中造成错误的类型陷阱。 入门 4分钟 · 来自数据类型 jvm 测验 新题 哪一种扩大基本类型转换可能丢失数值精度? Java基本类型与引用类型的边界、数值转换规则、装箱语义,以及会在生产代码中造成错误的类型陷阱。 进阶 1分钟 · 来自数据类型 jvm 测验 新题 方法调用可能抛出检查型异常的代码时,必须怎么做? Java异常的传播、检查型与非检查型边界、精确捕获、资源关闭、原因链,以及生成代码中常见的失败处理错误。 入门 1分钟 · 来自异常处理 jvm 预测输出 新题 这段程序会输出什么? Java异常的传播、检查型与非检查型边界、精确捕获、资源关闭、原因链,以及生成代码中常见的失败处理错误。 入门 2分钟 · 来自异常处理 jvm 审查AI代码 新题 审查生成的订单导入器 Java异常的传播、检查型与非检查型边界、精确捕获、资源关闭、原因链,以及生成代码中常见的失败处理错误。 高级 6分钟 · 来自异常处理 jvm 找出bug 新题 找出阻塞任务里的bug Java异常的传播、检查型与非检查型边界、精确捕获、资源关闭、原因链,以及生成代码中常见的失败处理错误。 进阶 4分钟 · 来自异常处理 jvm 测验 新题 在try-with-resources中,主体抛出A,随后close() 抛出B。通常会传播什么? Java异常的传播、检查型与非检查型边界、精确捕获、资源关闭、原因链,以及生成代码中常见的失败处理错误。 进阶 1分钟 · 来自异常处理 jvm 测验 新题 哪项修改能让后续读取的局部变量满足明确赋值? 用Java 25理解程序结构、变量作用域、表达式求值与控制流,并避开短路、分支和循环中的常见错误。 入门 1分钟 · 来自Java语言基础 jvm 预测输出 新题 这段程序会输出什么? 用Java 25理解程序结构、变量作用域、表达式求值与控制流,并避开短路、分支和循环中的常见错误。 入门 2分钟 · 来自Java语言基础 jvm 审查AI代码 新题 审查生成的批次标签规划器 用Java 25理解程序结构、变量作用域、表达式求值与控制流,并避开短路、分支和循环中的常见错误。 进阶 6分钟 · 来自Java语言基础 jvm 找出bug 新题 找出合计循环里的bug 用Java 25理解程序结构、变量作用域、表达式求值与控制流,并避开短路、分支和循环中的常见错误。 入门 4分钟 · 来自Java语言基础 jvm 测验 新题 Java switch表达式的块规则怎样产生值? 用Java 25理解程序结构、变量作用域、表达式求值与控制流,并避开短路、分支和循环中的常见错误。 入门 1分钟 · 来自Java语言基础 jvm 测验 新题 哪个签名既能接收`Integer`源列表和`Number`目标列表,又保留类型安全? Java泛型用类型参数表达跨位置的类型关系;掌握边界、通配符与类型擦除,才能设计安全且灵活的API。 进阶 1分钟 · 来自泛型 jvm 测验 新题 哪项操作合法,其原因是被检查的类型可具体化? Java泛型用类型参数表达跨位置的类型关系;掌握边界、通配符与类型擦除,才能设计安全且灵活的API。 进阶 1分钟 · 来自泛型 jvm 预测输出 新题 这段程序会输出什么? Java泛型用类型参数表达跨位置的类型关系;掌握边界、通配符与类型擦除,才能设计安全且灵活的API。 进阶 2分钟 · 来自泛型 jvm 审查AI代码 新题 审查生成的读数合并器 Java泛型用类型参数表达跨位置的类型关系;掌握边界、通配符与类型擦除,才能设计安全且灵活的API。 高级 6分钟 · 来自泛型 jvm 找出bug 新题 找出raw List里的bug Java泛型用类型参数表达跨位置的类型关系;掌握边界、通配符与类型擦除,才能设计安全且灵活的API。 进阶 4分钟 · 来自泛型 jvm 测验 新题 局部类捕获List<String> events时,哪项操作在events保持实际final的情况下合法? 区分嵌套类与内部类,掌握外围实例、局部变量捕获和匿名类,并避免生成代码中的生命周期与语义错误。 进阶 1分钟 · 来自内部类 jvm 测验 新题 哪项陈述正确使用了Java 25规范术语? 区分嵌套类与内部类,掌握外围实例、局部变量捕获和匿名类,并避免生成代码中的生命周期与语义错误。 入门 1分钟 · 来自内部类 jvm 预测输出 新题 这段程序会输出什么? 区分嵌套类与内部类,掌握外围实例、局部变量捕获和匿名类,并避免生成代码中的生命周期与语义错误。 入门 2分钟 · 来自内部类 jvm 审查AI代码 新题 审查生成的任务回调工厂 区分嵌套类与内部类,掌握外围实例、局部变量捕获和匿名类,并避免生成代码中的生命周期与语义错误。 高级 6分钟 · 来自内部类 jvm 找出bug 新题 找出内部类工厂里的bug 区分嵌套类与内部类,掌握外围实例、局部变量捕获和匿名类,并避免生成代码中的生命周期与语义错误。 进阶 4分钟 · 来自内部类 jvm 测验 新题 哪项改动一定会让有效的函数式接口不再是函数式接口? Java接口定义可替换的行为契约;掌握成员规则、默认方法冲突、函数式接口与安全演进方式。 进阶 1分钟 · 来自接口 jvm 测验 新题 在接口中声明`List<String> EVENTS = new ArrayList<>();`,哪项描述正确? Java接口定义可替换的行为契约;掌握成员规则、默认方法冲突、函数式接口与安全演进方式。 入门 1分钟 · 来自接口 jvm 预测输出 新题 这段程序会输出什么? Java接口定义可替换的行为契约;掌握成员规则、默认方法冲突、函数式接口与安全演进方式。 入门 2分钟 · 来自接口 jvm 审查AI代码 新题 审查生成的令牌授权器 Java接口定义可替换的行为契约;掌握成员规则、默认方法冲突、函数式接口与安全演进方式。 高级 6分钟 · 来自接口 jvm 找出bug 新题 找出默认方法类里的bug Java接口定义可替换的行为契约;掌握成员规则、默认方法冲突、函数式接口与安全演进方式。 进阶 4分钟 · 来自接口 jvm 测验 新题 本主题中的哪项特性是在Java 17正式发布的? 梳理Java 17源码级别可用的稳定语言特性,用可运行示例说明机制,并划清迁移时最容易混淆的版本边界。 入门 1分钟 · 来自Java 17新特性 jvm 预测输出 新题 这段Java 17程序会输出什么? 梳理Java 17源码级别可用的稳定语言特性,用可运行示例说明机制,并划清迁移时最容易混淆的版本边界。 入门 2分钟 · 来自Java 17新特性 jvm 预测输出 新题 这段程序会输出怎样的记录组件状态? 梳理Java 17源码级别可用的稳定语言特性,用可运行示例说明机制,并划清迁移时最容易混淆的版本边界。 进阶 2分钟 · 来自Java 17新特性 jvm 审查AI代码 新题 审查生成的CSV行导入器 梳理Java 17源码级别可用的稳定语言特性,用可运行示例说明机制,并划清迁移时最容易混淆的版本边界。 高级 6分钟 · 来自Java 17新特性 jvm 找出bug 新题 找出Java 17分支里的bug 梳理Java 17源码级别可用的稳定语言特性,用可运行示例说明机制,并划清迁移时最容易混淆的版本边界。 进阶 4分钟 · 来自Java 17新特性 jvm 预测输出 新题 这段稳定的Java 21程序会输出什么? Java 21的稳定语言与并发特性、预览边界,以及在Java 25运行时审查旧示例时必须识别的版本漂移。 入门 2分钟 · 来自Java 21特性 jvm 测验 新题 Java 21有序集合API中的`list.reversed()`返回什么? Java 21的稳定语言与并发特性、预览边界,以及在Java 25运行时审查旧示例时必须识别的版本漂移。 入门 1分钟 · 来自Java 21特性 jvm 审查AI代码 新题 审查生成的Java 21订单加载器 Java 21的稳定语言与并发特性、预览边界,以及在Java 25运行时审查旧示例时必须识别的版本漂移。 高级 6分钟 · 来自Java 21特性 jvm 找出bug 新题 找出虚拟线程任务里的bug Java 21的稳定语言与并发特性、预览边界,以及在Java 25运行时审查旧示例时必须识别的版本漂移。 进阶 4分钟 · 来自Java 21特性 jvm 测验 新题 哪个命令能够证明源码只使用稳定的Java 21语言与Java SE API? Java 21的稳定语言与并发特性、预览边界,以及在Java 25运行时审查旧示例时必须识别的版本漂移。 入门 1分钟 · 来自Java 21特性 jvm 测验 新题 服务为每个请求创建一个虚拟线程,但数据库只能接受30个并发查询。什么机制应限制数据库访问? Java 21的稳定语言与并发特性、预览边界,以及在Java 25运行时审查旧示例时必须识别的版本漂移。 进阶 1分钟 · 来自Java 21特性 jvm 测验 新题 哪种设计最能保持账户余额永不为负的不变量? Java对象把状态与行为组织在明确边界内;理解类不变量、动态分派、可替换性与组合,才能设计可靠的对象模型。 入门 1分钟 · 来自面向对象编程 jvm 预测输出 新题 这段程序会输出什么? Java对象把状态与行为组织在明确边界内;理解类不变量、动态分派、可替换性与组合,才能设计可靠的对象模型。 入门 2分钟 · 来自面向对象编程 jvm 测验 新题 哪项陈述正确区分了引用标识与值相等? Java对象把状态与行为组织在明确边界内;理解类不变量、动态分派、可替换性与组合,才能设计可靠的对象模型。 进阶 1分钟 · 来自面向对象编程 jvm 审查AI代码 新题 审查生成的会员账户 Java对象把状态与行为组织在明确边界内;理解类不变量、动态分派、可替换性与组合,才能设计可靠的对象模型。 高级 12分钟 · 来自面向对象编程 jvm 找出bug 新题 找出构造函数层次里的bug Java对象把状态与行为组织在明确边界内;理解类不变量、动态分派、可替换性与组合,才能设计可靠的对象模型。 进阶 4分钟 · 来自面向对象编程 jvm 测验 新题 在紧凑构造器中重新绑定组件参数后会发生什么? 用记录类表达透明的数据载体,理解编译器派生的成员、紧凑构造器、浅层不可变性,以及记录模式的边界。 进阶 1分钟 · 来自记录类 jvm 预测输出 新题 这段程序会输出什么? 用记录类表达透明的数据载体,理解编译器派生的成员、紧凑构造器、浅层不可变性,以及记录模式的边界。 入门 2分钟 · 来自记录类 jvm 测验 新题 对记录使用模式switch且没有`case null`时,选择器为null会怎样? 用记录类表达透明的数据载体,理解编译器派生的成员、紧凑构造器、浅层不可变性,以及记录模式的边界。 进阶 1分钟 · 来自记录类 jvm 审查AI代码 新题 审查生成的归档请求键 用记录类表达透明的数据载体,理解编译器派生的成员、紧凑构造器、浅层不可变性,以及记录模式的边界。 高级 6分钟 · 来自记录类 jvm 找出bug 新题 找出HashMap记录键里的bug 用记录类表达透明的数据载体,理解编译器派生的成员、紧凑构造器、浅层不可变性,以及记录模式的边界。 进阶 4分钟 · 来自记录类 jvm 测验 新题 某个类声明了`void setLimit(int value)`。调用`getMethod("setLimit", Integer.class)`会怎样? 在Java 25中检查运行时类型、精确查找并调用成员,正确处理模块访问边界、异常包装与动态代理。 入门 1分钟 · 来自反射 jvm 测验 新题 通过`Method.invoke()`调用的方法正常抛出的异常位于哪里? 在Java 25中检查运行时类型、精确查找并调用成员,正确处理模块访问边界、异常包装与动态代理。 进阶 1分钟 · 来自反射 jvm 预测输出 新题 这段程序会输出什么? 在Java 25中检查运行时类型、精确查找并调用成员,正确处理模块访问边界、异常包装与动态代理。 入门 2分钟 · 来自反射 jvm 审查AI代码 新题 审查生成的命令调度器 在Java 25中检查运行时类型、精确查找并调用成员,正确处理模块访问边界、异常包装与动态代理。 高级 6分钟 · 来自反射 jvm 找出bug 新题 找出反射方法查找里的bug 在Java 25中检查运行时类型、精确查找并调用成员,正确处理模块访问边界、异常包装与动态代理。 进阶 4分钟 · 来自反射 jvm 测验 新题 一个被密封类直接许可的普通子类可以使用哪些声明? 用sealed、permits与穷尽模式switch建模封闭的类型层次,并正确处理扩展边界、模块约束和版本演进。 入门 1分钟 · 来自密封类 jvm 测验 新题 直接获准子类型可以声明在哪里? 用sealed、permits与穷尽模式switch建模封闭的类型层次,并正确处理扩展边界、模块约束和版本演进。 进阶 1分钟 · 来自密封类 jvm 预测输出 新题 这段程序会输出什么? 用sealed、permits与穷尽模式switch建模封闭的类型层次,并正确处理扩展边界、模块约束和版本演进。 入门 2分钟 · 来自密封类 jvm 审查AI代码 新题 审查生成的事件审计层次 用sealed、permits与穷尽模式switch建模封闭的类型层次,并正确处理扩展边界、模块约束和版本演进。 高级 6分钟 · 来自密封类 jvm 找出bug 新题 找出密封层次里的bug 用sealed、permits与穷尽模式switch建模封闭的类型层次,并正确处理扩展边界、模块约束和版本演进。 进阶 4分钟 · 来自密封类 jvm 测验 新题 持久化协议键必须使用与语言环境无关的大写规则。哪个表达式明确说明了该契约? Java String的值语义、UTF-16索引、字符串池、比较、Unicode边界、字符编码与高效构建方法。 进阶 1分钟 · 来自字符串 jvm 测验 新题 对于String text = "A🚗",哪项说法正确? Java String的值语义、UTF-16索引、字符串池、比较、Unicode边界、字符编码与高效构建方法。 入门 1分钟 · 来自字符串 jvm 预测输出 新题 这段程序会输出什么? Java String的值语义、UTF-16索引、字符串池、比较、Unicode边界、字符编码与高效构建方法。 入门 2分钟 · 来自字符串 jvm 审查AI代码 新题 审查生成的CSV行格式化器 Java String的值语义、UTF-16索引、字符串池、比较、Unicode边界、字符编码与高效构建方法。 高级 6分钟 · 来自字符串 jvm 找出bug 新题 找出字段解析器里的bug Java String的值语义、UTF-16索引、字符串池、比较、Unicode边界、字符编码与高效构建方法。 进阶 4分钟 · 来自字符串 jvm 测验 新题 某个类以`Integer decode(String)`实现`Decoder<Integer>`。为什么反射还可能看到`Object decode(String)`? 理解Java泛型如何擦除为JVM可执行类型,以及类型令牌、桥接方法、堆污染和运行时类型检查的边界。 进阶 1分钟 · 来自类型擦除 jvm 测验 新题 `T extends CharSequence & Comparable<T>`中`T`的擦除类型是什么? 理解Java泛型如何擦除为JVM可执行类型,以及类型令牌、桥接方法、堆污染和运行时类型检查的边界。 进阶 1分钟 · 来自类型擦除 jvm 预测输出 新题 这段程序会输出什么? 理解Java泛型如何擦除为JVM可执行类型,以及类型令牌、桥接方法、堆污染和运行时类型检查的边界。 入门 2分钟 · 来自类型擦除 jvm 审查AI代码 新题 审查生成的解码适配器 理解Java泛型如何擦除为JVM可执行类型,以及类型令牌、桥接方法、堆污染和运行时类型检查的边界。 高级 6分钟 · 来自类型擦除 jvm 找出bug 新题 找出泛型列表函数里的bug 理解Java泛型如何擦除为JVM可执行类型,以及类型令牌、桥接方法、堆污染和运行时类型检查的边界。 进阶 4分钟 · 来自类型擦除 jvm 测验 新题 为什么私有的`<T> void swap(List<T> values, ...)`辅助方法能接收公开方法传入的`List<?>`? Java通配符描述泛型API的安全读写能力;用PECS、捕获辅助方法和命名类型参数表达类型关系,避免未检查转换。 高级 1分钟 · 来自通配符与PECS jvm 预测输出 新题 这段程序会输出什么? Java通配符描述泛型API的安全读写能力;用PECS、捕获辅助方法和命名类型参数表达类型关系,避免未检查转换。 进阶 2分钟 · 来自通配符与PECS jvm 审查AI代码 新题 审查生成的通配符传输方法 Java通配符描述泛型API的安全读写能力;用PECS、捕获辅助方法和命名类型参数表达类型关系,避免未检查转换。 高级 8分钟 · 来自通配符与PECS jvm 找出bug 新题 找出通配符复制方法里的bug Java通配符描述泛型API的安全读写能力;用PECS、捕获辅助方法和命名类型参数表达类型关系,避免未检查转换。 进阶 4分钟 · 来自通配符与PECS jvm 测验 新题 给定`List<? extends Number> values`,哪项操作一定能通过类型检查? Java通配符描述泛型API的安全读写能力;用PECS、捕获辅助方法和命名类型参数表达类型关系,避免未检查转换。 入门 1分钟 · 来自通配符与PECS