Jvm, innodb和isam的区别,array list和linkedlist区别,垃圾回收算法,mysql的慢查询调优spring设计模式,异常的类型,Spring启动过程读取web.xml文件。创建 ServletContext,为 ioc 容器提供宿主环境。触发容器初始化事件,调用 contextLoaderListener.contextInitialized()方法,在这个方法会初始化一个应用上下文WebApplicationContext,即 Spring 的 ioc 容器。ioc 容器初始化完成之后,会被存储到 ServletContext 中。初始化web.xml中配置的Servlet。如DispatcherServlet,用于匹配、处理每个servlet请求。synchronized和ReenTrantLock有什么异同 ?相同点:两者都是可重入锁不同点:使用synchronized关键字实现同步,线程执行完同步代码块会自动释放锁,而ReentrantLock需要手动释放锁。synchronized是非公平锁,ReentrantLock可以设置为公平锁。ReentrantLock上等待获取锁的线程是可中断的,线程可以放弃等待锁。而synchonized会无限期等待下去。ReentrantLock 可以设置超时获取锁。在指定的截止时间之前获取锁,如果截止时间到了还没有获取到锁,则返回。ReentrantLock 的 tryLock() 方法可以尝试非阻塞的获取锁,调用该方法后立刻返回,如果能够获取则返回true,否则返回false