Java面试【开源框架知识】
-
-
- 1、简单讲讲tomcat结构,以及其类加载器流程,线程模型等
- 2、tomcat如何调优,涉及哪些参数
- 3、Spring 中都用到了哪些设计模式
- 4、Spring有哪些核心模块
- 5、讲讲Spring加载流程
- 6、说一下你理解的 IOC 是什么
- 7、Spring 中的 IOC 容器有哪些?有什么区别
- 8、说说 AOP 是什么
- 9、Spring AOP的一些术语 与实现原理
- 10、讲讲Spring事务的传播属性
- 11、Spring如何管理事务的
- 12、Spring怎么配置事务(具体说出一些关键的xml 元素)
- 13、spring 是怎么解决循环依赖的
- 14、Springmvc 中DispatcherServlet初始化过程
- 15、springmvc用到的注解,作用是什么,原理
- 16、springboot启动机制
- 17、netty的线程模型,netty如何基于reactor模型上实现的
- 18、为什么选择netty
- 19、什么是TCP粘包,拆包。解决方式是什么
- 20、什么是netty的零拷贝
- 21、Netty 中有哪种重要组件
- 22、你了解哪些序列化协议
- 23、Netty 和 Tomcat 的区别
-
1、简单讲讲tomcat结构,以及其类加载器流程,线程模型等
(1)模块组成:
tomcat的核心组件是Connector和Container,一个Connector+一个Container构成一个Service,Service是对外提供服务的组件。
Connector: 连接器,主要负责接收请求并把请求交给Container
Container: 容器,主要装的是具有处理请求的组件。
Service: 关联Container和Connector,只有两个结合起来才能够处理一个请求。Service负责管理Service集合,Tomcat可以提供多种服务器,那些Service就是由Server来管理的。具体工作包括:对外提供一个接口访问Service,对内维护Service集合(管理Service生命周期等)。
(2)类加载流程
当tomcat启动时,会创建以下几个类加载器:
1)Bootstrap引导类加载器
加载JVM启动所需的类,以及标准扩展类(位于jre/lib/ext下)
2)System系统类加载器
加载Tomcat启动的类,比如bootstrap.jar