-
Java类不能多继承但能多实现接口,是因为类继承涉及状态和具体实现,易引发字段冲突与方法歧义,而接口仅定义行为契约,无状态、无构造器,编译器可安全合并多个接口的抽象方法;默认方法冲突时须显式重写并指定调用X.super.m()或Y.super.m()。244 收藏 -
LinkedList适用于频繁首尾增删的场景,因addFirst()等操作为O(1);但随机访问get(intindex)为O(n),循环中使用易导致性能问题。306 收藏 -
System.currentTimeMillis()适合粗略计时,精度约10–15毫秒,返回自1970年1月1日UTC起的毫秒数,用法为前后调用取差值,单位毫秒。180 收藏 -
JavaWeb项目常见异常分五类:请求处理、数据库交互、配置加载、并发操作、安全校验;主因是环境配置或资源管理疏忽,定位需优先查看栈顶信息并结合日志。379 收藏 -
初学者应以SpringBoot+Thymeleaf+JDBC实现发帖、列表、详情三核心功能:建users/posts表,用JdbcTemplate手写SQL,Controller返回模板名,Thymeleaf仅用th:each/th:href/th:text基础语法,严格匹配命名。127 收藏 -
ThreadLocal跨线程失效是设计使然,并非bug;InheritableThreadLocal仅在newThread时有限继承;生产环境应使用TransmittableThreadLocal(TTL)配合任务包装与线程池适配实现可靠透传。491 收藏 -
应警觉并避免if-else嵌套超过2层,因其混杂控制流、业务判断与副作用,导致可读性差、易出错、难测试;推荐用提前返回、Optional(适度)、策略映射和IDE检查约束。218 收藏 -
答案:基于Servlet+JSP+JDBC实现用户注册登录,需设计用户表并加密存储密码;注册时校验数据、检查用户名唯一性并用BCrypt加密;登录时通过查询数据库并比对哈希密码,验证成功后创建会话;同时应使用PreparedStatement防SQL注入、校验输入、启用HTTPS等安全措施。439 收藏 -
本文详解如何在使用CutOut等图像处理库(如背景移除)后,将onActivityResult中返回的Uri对应图像持久化保存至设备存储,涵盖Bitmap获取、安全写入、文件命名及关键权限与兼容性注意事项。100 收藏 -
答案:使用Mockito可创建mock对象并验证行为。首先添加依赖,通过@Mock或Mockito.mock()创建mock对象,用when().thenReturn()设定返回值,verify()验证方法调用次数及方式,结合JUnit注解初始化提升效率。109 收藏 -
非公平锁的lock()能“插队”是因为在方法开头直接CAS抢占,成功即获锁;仅在锁空闲时有效,否则退化为排队逻辑。231 收藏 -
泛型是编译期类型契约而非语法糖,应在逻辑相同但数据类型不同的场景定义泛型类,优先使用泛型方法;需合理约束T,避免过度约束与擦除陷阱,并正确运用协变/逆变。204 收藏 -
HashSet去重依赖HashMap的key唯一性,本质是通过hashCode()定位桶位置、equals()判断逻辑相等;自定义类必须重写二者以保证一致性,否则去重失效。422 收藏 -
Java接口的本质是纯粹的行为规范契约,只定义“做什么”而不涉及“怎么做”,通过无状态、多实现、按契约注入等机制实现彻底解耦。386 收藏 -
POJO是不继承父类、不实现框架接口、不依赖注解的纯Java对象;Entity耦合JPA生命周期管理,PO仅作SQL映射;推荐统一用UserDO命名数据库类,DTO用于服务间传输,VO用于前端展示,且均需实现Serializable。495 收藏