暂无个人介绍
HashMap基于哈希算法实现,采用链表散列结构(数组+链表/红黑树)。JDK1.8前使用拉链法解决冲突,将冲突元素存入链表。JDK1.8后,当链表长度超过8时,转化为红黑树以提升查找效率;当元素数小于6时,退化为链表。通过key的hashCode计算索引,put时若key相同则覆盖,不同则添加到链表或树中。get时通过hash值定位并判断key获取对应值。
本内容介绍了依赖注入的四种方式:构造器注入、接口注入、Setter注入和注解注入,并重点比较了Spring中的@Autowired与Java标准注解@Resource的区别,包括来源和依赖查找策略。
IOC(控制反转)通过依赖注入实现对象管理和解耦,DI则作为其实现手段,通过构造器、Setter或注解注入依赖。
客户端发送HTTP请求,Spring MVC的前端控制器DispatcherServlet接收请求并调用HandlerMapper进行映射,返回包含Controller和拦截器的执行链。控制器执行逻辑后返回ModelAndView,前端控制器再调用ViewResolver解析视图并渲染HTML页面,最终返回给客户端。
AOP(面向切面编程)是一种编程范式,旨在将横切关注点(如日志、事务管理)从业务逻辑中分离,提升代码模块化与可维护性。核心概念包括:切面(封装横切逻辑)、通知(定义执行时机)、切入点(指定应用位置)、织入(整合切面与业务逻辑)。常见通知类型有前置、后置、返回、异常和环绕通知。
Spring MVC 三层架构(表现层、业务层、数据访问层)通过职责分离提升代码可维护性与扩展性。表现层(Controller)接收请求并返回响应;业务层(Service)处理核心逻辑与事务;数据访问层(Mapper)负责数据库操作与数据映射,共同实现高效、清晰的系统开发。
线程池七大核心参数:核心/最大线程数、线程保持时间及单位、阻塞队列、线程工厂与拒绝策略。