-
Duration.between返回Duration对象,以纳秒存储但需显式调用toMillis()获取毫秒值;应统一用Instant.now()而非混用System.currentTimeMillis();LocalDateTime不可直接使用,须转为Instant;高频场景优先考虑System.nanoTime()。
-
HTML中实现背景音乐唯一标准方案是<audio>标签,需设autoplay、loop、muted并隐藏控件;有声播放必须由用户交互触发,且应兼顾兼容性、无障碍及用户体验。
-
根本区别在于是否该由程序员捕获处理:Error是JVM级不可恢复故障,不应捕获;Exception中checked异常必须try-catch或throws,unchecked异常(RuntimeException)可不处理但需修复。
-
getMessage()返回异常构造时传入的消息字符串(可能为null),toString()返回“类名:消息”,含类型信息但消息为null时显示“:null”。
-
完成Java基础后应通过项目实践巩固知识,学生信息管理系统涵盖面向对象、集合与异常处理;2.系统功能包括增删改查学生信息;3.设计Student类封装属性并重写toString方法;4.使用ArrayList存储学生数据,Scanner接收用户输入;5.主逻辑在StudentManager中实现菜单循环与功能分支;6.添加学生时创建对象并存入列表;7.删除学生需遍历列表匹配学号并移除;8.修改与查询均基于学号定位目标对象;9.项目帮助理解代码真实运行流程,强化知识点串联。
-
volatile变量的可见性由JVM插入内存屏障实现:写操作插入StoreStore+StoreLoad屏障,强制刷新至主内存并使其他核心缓存失效;读操作插入LoadLoad+LoadStore屏障,强制从主内存加载最新值,二者共同建立happens-before关系。
-
不能直接用FileInputStream读文本文件,因为它输出原始字节而无编码信息,如UTF-8中“你好”为6字节,read()返回字节值而非字符,强制转char会导致乱码;InputStreamReader通过CharsetDecoder按指定编码解码字节,但需显式传入Charset(如StandardCharsets.UTF_8),避免依赖平台默认编码或拼写错误(如“UTF8”应为“UTF-8”);它不带缓冲且不支持按行读,须配合BufferedReader使用;对BOM(如UTF-8的0xEF0xB
-
Java中多态依赖运行时类型,不是编译时引用类型Java多态的核心是「编译看左边,运行看右边」——变量声明类型(父类)决定可调用哪些方法,实际执行哪个方法体,取决于new出来的对象真实类型(子类)。这背后靠的是JVM的虚方法调用机制:invokevirtual指令在运行时查对象的实际类的vtable(虚函数表),定位到最终方法实现。如果子类重写了父类的public或protected非static、非final方法,该方法就参与多态分派private方法、static方法、构造器不参与多态,它们
-
LongAdder通过Cell数组与@Contended注解实现缓存行隔离,天然缓解FalseSharing;其add()分层降级策略将写操作分散至独立缓存行,sum()弱一致性适合写多读少场景。
-
真正实现顺序保证需全链路控制:生产端不并发乱发、Broker端不跨队列打散、消费端不并行乱处理;单队列单消费者、QuorumQueue、Stream及消费端幂等与缓冲机制共同保障严格FIFO。
-
OutOfMemoryError:Javaheapspace是JVM堆内存耗尽的严重告警,需预防为主、快速止血:立即摘除节点、禁用内存敏感操作;配置-Xms/-Xmx相等、-XX:+HeapDumpOnOutOfMemoryError;用MAT分析hprof定位泄漏;压测中监控GC与对象存活。
-
CarrierThread是JVM复用的OS平台线程,用于承载多个虚拟线程执行;虚拟线程仅在运行时临时挂载其上,遇I/O等阻塞即卸载并复用该线程,非一对一绑定。
-
答案:Java中List去重常用方法包括LinkedHashSet保持顺序、StreamAPI便捷去重、自定义对象需重写equals和hashCode、HashSet高效无序去重,应根据顺序需求和性能选择合适方式。
-
LEFTJOIN更安全是因为它能保留所有一级评论(parent_idISNULL的根节点),而INNERJOIN会过滤掉无子评论的根节点,导致前端漏渲染;实际需用别名r1/r2避免字段歧义,且无限层级需结合Java递归与深度限制。
-
Optional不能彻底消除空指针,它仅封装判空逻辑且仅对Optional类型生效;误用of(null)会立即抛NPE,应优先使用ofNullable()并让方法签名主动返回Optional。