-
Java设计模式高度依赖面向对象,因其本质是系统性复用封装、继承、多态、抽象四大特性:多态支撑开闭原则与可插拔扩展,抽象与封装划定变化边界,继承与组合构建可生长结构,而函数式或过程式无法自然表达OOP语义下的角色与状态委托关系。
-
Java正则匹配失败多因模式与输入结构不匹配或忽略转义、边界、贪婪等规则;String.matches()要求全串匹配,检测子串应改用find();高频调用需复用Pattern实例。
-
JavaTCP聊天室需为每个客户端创建独立线程处理通信,服务端用ServerSocket.accept()接收连接后启动新线程,维护独立BufferedReader/PrintWriter,广播消息时遍历clients列表并flush;客户端异常断开需捕获IOException并清理资源。
-
设计模式的根基是OOP四大特性:封装支撑工厂模式隐藏创建细节,多态支撑策略等行为型模式实现运行时替换,继承与组合共同实现装饰器等结构型模式,抽象与开闭原则驱动架构演进。
-
ArrayList扩容本质是按需增长的数组封装,通过创建更大数组并复制数据实现动态性,在空间效率与时间开销间平衡;初始容量影响首次扩容时机,无参构造延迟初始化为10,指定容量可避免多次扩容;扩容发生在add等写入操作前,判断是否size等于数组长度;新容量默认1.5倍增长(oldCapacity+oldCapacity>>1),不足时直接取所需最小容量;扩容通过Arrays.copyOf创建新数组、复制有效元素、替换引用完成,时间复杂度O(n)。
-
Hashtable适用于多线程共享映射、禁止null键值、小规模数据读写及老系统维护场景,因其方法级同步和Enumeration兼容性,在无ConcurrentHashMap可用时仍具价值。
-
答案:TreeSet通过Comparator或Comparable实现自定义排序,优先使用Comparator以保持灵活性和非侵入性,需注意比较逻辑与equals一致性、性能及元素不可变性。
-
ReentrantLock提供比synchronized更灵活的线程同步控制,支持公平锁、可中断等待和超时获取锁;其基本使用需显式加锁并确保在finally中释放;默认为非公平锁以提升性能,公平锁则避免线程饥饿;tryLock方法支持尝试获取锁或限时等待,适用于防死锁场景;lockInterruptibly支持中断响应,便于取消长时间操作;合理使用可提升并发程序的健壮性与响应能力。
-
Collections.sort()本质是委托List.sort()原地排序,仅支持List子类,不返回新列表;依赖元素实现Comparable或传入Comparator,需防null、不可变列表及并发问题。
-
Java异常体系以Throwable为根类,其下分为Error和Exception。Error表示系统级问题如OutOfMemoryError,程序无法恢复;Exception分为检查异常(如IOException)需编译期处理,和非检查异常(如NullPointerException)由运行时逻辑错误引发,体现对可恢复与不可控问题的分层处理机制。
-
BufferedReader比Scanner快因纯字符缓冲读取、无解析开销,性能高3–5倍;需经InputStreamReader包装System.in并显式指定编码;readLine()返回null仅表示EOF,空行返回"";PrintWriter需启用自动flush或手动调用。
-
Java中不推荐使用Thread.stop(),因其会立即终止线程,导致锁未释放引发死锁、finally块不执行造成资源泄漏、对象状态损坏及不变量被破坏;应改用interrupt()协作式中断机制。
-
答案:Java反序列化需捕获IOException和ClassNotFoundException等异常,通过try-catch处理并增强校验、使用serialVersionUID及安全管理器提升安全性。
-
Java配置中心核心是动态推配与用配联动,含存储层、服务端和客户端SDK三部分;SpringBoot中可用@ConfigurationProperties+@RefreshScope配合/actuator/refresh实现动态加载,需避坑@Value不刷新、类型转换静默失败等问题。
-
答案:通过Java文件操作与集合管理实现音乐播放列表,首先使用File类遍历指定目录并筛选.mp3文件,获取绝对路径;接着将路径存入ArrayList或LinkedList集合,便于动态增删、随机播放及索引访问;可封装Playlist类管理播放状态;结合JavaFX的MediaPlayer实现简易播放功能;整个过程涵盖路径处理、文件筛选、集合操作等核心技能,并建议用Paths.get()提升跨平台兼容性。