-
RandomAccessFile不支持文件空洞技术,seek后write会真实分配磁盘空间并填充零字节;多线程下载需每个线程独占实例、校验206响应、持久化offset并校验分片完整性。
-
加减法交换在数学上成立但存在整数溢出风险:C/C++中触发未定义行为,Java回绕导致逻辑失真,仅Python因无限精度可安全使用;异或交换无溢出但忌同地址操作,工程中推荐直接用中间变量或语言内置解构赋值。
-
Java版本与JAVA_HOME配置错误导致编译运行失败:需确保JAVA_HOME指向JDK根目录(非bin)、路径无空格/中文;Maven需≥3.6.3且maven-compiler-plugin≥3.8.0;IDE需独立配置JDK路径;多JDK共存时应统一终端实际调用版本。
-
Future是Java中用于异步任务结果获取与状态管理的占位符,需通过ExecutorService提交Callable任务获得,提供get()、isDone()、cancel()等方法;其局限性包括无链式调用、无回调机制、异常处理被动、多任务协调困难,新项目应优先使用CompletableFuture。
-
匿名内部类是Java中无需命名即可实现接口或继承抽象类的方式,适用于一次性、轻量级场景,如事件监听、线程启动、自定义排序等;其语法为new接口/抽象类(参数){实现体},要求基于已有类型、可访问外部final变量、不可定义静态成员(除staticfinal外)。
-
Redis预减库存必须用DECRBY而非GET+SET,因后者存在竞态条件导致超卖;DECRBY原子性防超卖,需配合EXISTS校验key存在、检查返回值是否为负、Lua脚本封装操作,并在DB层用WHEREstock>0二次校验。
-
在JPA双向关联中,仅靠save()操作无法自动同步双方引用;必须显式维护对象图的一致性——即同时设置双方的引用关系(如student.setTeacher(t)和teacher.getStudents().add(student)),否则可能引发数据不一致、级联失效或空指针异常。
-
ReentrantLock需手动管理锁的获取与释放,必须在try中lock、finally中unlock;支持可中断、超时、公平性;需统一加锁顺序防死锁;通过Condition实现精准唤醒。
-
substring(intbeginIndex)合法索引范围是0到字符串长度(含),如"abc".substring(3)返回"",但substring(4)越界;空串时s.length()-1为-1会抛异常,需先判空;substring(begin,end)为左闭右开区间,长度等于end-begin。
-
应使用队列替代递归展开空白区域以避免栈溢出和重复访问;UI更新须严格在EDT中执行并同步模型与组件状态;布雷需确保循环终止条件正确,防止雷数不足。
-
不能安全、合规地绕过访问权限调用私有构造器——Java的setAccessible(true)在JDK9+强封装下默认抛出InaccessibleObjectException,仅在模块开放、旧版本或开发环境等受限场景可能成功,生产环境应优先采用工厂方法、构建器或依赖注入等设计替代方案。
-
常量池是.class文件中存储字面量和符号引用的核心结构,包括字符串、数字、类/方法/字段名及描述符等,均以CONSTANT_Utf8_info等形式存放,指令通过索引引用,实现空间节省、动态链接与JVM验证优化。
-
Java中无“特殊monitor”术语,但指代线程同步机制:1.每个对象内置Monitor,由synchronized触发,JVM通过对象头实现;2.HotSpot中ObjectMonitor结构管理_owner、_WaitSet、_EntryList,支撑synchronized语义;3.JUC包提供ReentrantLock等显式锁,基于AQS实现,功能更灵活;4.Condition接口扩展了monitor的条件等待能力,支持多路通知。这些机制共同构成Java并发基础。
-
做一个简易留言板并支持点赞功能,用Java可以借助控制台程序模拟实现。不需要复杂的前端或数据库,通过类和集合就能完成基本逻辑。重点是设计好数据结构和交互流程。1.设计留言和用户的基本类留言板的核心是“留言”,每条留言需要有内容、作者、点赞数。可以创建一个Message类来表示留言:publicclassMessage{privateStringcontent;privateStringauthor;privateintlikes;publicMe
-
Selector的wakeup()方法用于中断其当前阻塞等待,使线程立即返回并重新轮询;多线程协作中,当其他线程注册新事件而Selector正在阻塞时需调用以及时处理;它线程安全,多次调用不累积,仅确保至少一次唤醒。