1.什么是jvm
我们从操作系统的层面来理解,jvm其实就是操作系统中的一个进程。既然是一个进程,那么我们很容易的可以通过任务管理器来查看。假设此时我们启动myeclipse(myeclipse其实就是用java语言编写的一个软件,他的运行必然会启动一个jvm,我们可以把myeclipse理解成我们自己写的一个简单的java版的helloworld程序)。
2.什么是tomcat
tomcat其实是一个用java语言开发的免费开源的web服务器(因为是java语言开发,这就是为什么使用tomcat前要配置好jdk,因为jdk里面有jvm,而运行java应用需要jvm)。此时再次查看任务管理器会发现多了一个javaw.exe
说得粗略点,JVM就是运行java的,tomcat就是你的java程序,servlet就是你写在容器(如tomcat)里的动态资源,远程客户端点击或者一个url请求会封装成一个http请求,到你的服务端后由容器解析http请求,并封装为java servlet请求和响应,最后放进servlet的service方法根据请求作出服务。所以最最简单的话tomcat有类似netty的处理网络的网络功能,和处理servlet的功能。