(一)

java类:applet,servlet,jsp

JSP:.jsp-->.java-->(JVM).class
JDK:javac,.java-->.class
web:Servlet Container:Servlet容器,即程序
Servlet工作流程:前端有个web服务器,负责接收用户的请求,一旦发现用户的请求是CGI的内容,则就执行一个servlet程序,为了让servlet长长久久执行不至于每次运行就临时启动,太慢了,我们就让它运行一个进程;当servlet程序在这容器运行,负责通过CGI协议与web服务器交互,把web用户请求的内容接收后,在本地的jvm上完成应用程序的执行,所以servlet负责接受CGI程序过来的请求,负责监控本地的.java程序是否发生了修改,如果修改则转换成.class程序,而.class就在jvm中执行,jdk就包含在jvm中,而且编译器需要jdk。
JSP工作流程:JSP需要一个额外的组件,这是个独立的servlet,为了让jsp运行起来,我们首先讲.jsp文件转化成.java程序,由此我们需要一个组件(jasper)将.jsp->.java,.java程序再次交给servlet执行,
web Container:web容器,也称应用程序服务器:jsp和servlet
线程私有内存区:程序计数器和java虚拟机栈。
程序计数器就是保存java代码执行到那个代码的状态,是每个线程独有的。
JAVA虚拟机栈:
线程共享内存区:方法区(有一子区,常量区),堆(java自动内存回收,GC(Garbage Collector))

垃圾回收算法:1.标记-清除2.复制,内存区只有1/2区域,回收垃圾时可以避免碎片但是浪费空间。3.标记-整理算法,是对复制算法的改进。
垃圾回收器:Serial;ParNew,比前者多了个多线程;Parallel Scavenge;Serial Old老单线程;Parallel Old老多线程。
CMS:Concurrent Mark Sweep 特点:并发收集,低停顿 缺点:无法收集浮动(指运行的线程垃圾)垃圾,由于基于标记-清除算法 会产生碎
G1:尚未商用,Garbage First 比CMS优点:不会产生碎片,能非常精确控制停留时间
商用开源的JDK:SUN:JRE,JDK Open:OpenJDK

Sun JDK监控和故障处理工具:
jps,JVM Process Status Tool:显示指定系统内所有的HotSpot虚拟机进程的列表信息
jstat,JVM Statistics Monitoring Tool:收集并显示HotSpot虚拟机各方面的运行数据
jinfo:显示正在运行的某HotSpot虚拟机配置信息
jmap:生成某HotSpot虚拟机的内存转储快照;

(二)

tomcat-theory的更多相关文章

  1. eclipse设置Tomcat超级详细

    刚接触Ajax,创建了jsp文件发现错误 必备软件:tomcat(从apache的官方网站上下载一个,我的是apache-tomcat-8.0.28) 需要下载tomcatPluginV321.zip ...

  2. Tomcat一个BUG造成CLOSE_WAIT

    之前应该提过,我们线上架构整体重新架设了,应用层面使用的是Spring Boot,前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了.然后运维发现了个问题,服务器的HTTPS端口有大量的C ...

  3. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  4. Tomcat shutdown执行后无法退出进程问题排查及解决

    问题定位及排查 上周无意中调试程序在Linux上ps -ef|grep tomcat发现有许多tomcat的进程,当时因为没有影响系统运行就没当回事.而且我内心总觉得这可能是tomcat像nginx一 ...

  5. 记一次tomcat线程创建异常调优:unable to create new native thread

    测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...

  6. Linux CentOS 配置Tomcat环境

    一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...

  7. 在Linux虚拟机下配置tomcat

    1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...

  8. tomcat开发远程调试端口以及利用eclipse进行远程调试

    一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...

  9. Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法

    有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm ...

  10. mac下安装及配置tomcat

    mac下的软件不像windows下的程序那样写注册表,对于tomcat的安装来说,在mac下是名符其实的绿色软件,具体操作如下: 1.到 apache官方主页 下载完整 tar.gz文件包.(没有专门 ...

随机推荐

  1. ubuntu字符界面怎么设置中文显示和中文输入

    在ubuntu的字符登陆界面,中文显示默认是乱码的,而且也不支持中文输入,解决方法有很多, 1)安装zhcon--解决中文显示乱码的问题. sudo apt-get install zhcon 然后c ...

  2. 使用vlookup嵌套INDIRECT函数实现跨表数据引用

    这是一个使用 vlookup 函数嵌套 INDIRECT 函数来实现跨工作表数据引用的教程. 某小学决定要抽查本校三年级三个班的期末考情况,抽查方法为在每个班中抽查5名学生,将这15名学生的期末考情况 ...

  3. The Problems of Mysql Installation

    1.mysql启动报错 解决:查看相关路径的配置文件的basedir.datadir等路径是否正确. 解决:查看报错路径下是否有文件,若没有可找相应文件做软链接,或者/etc/my.cnf部分路径配置 ...

  4. shell 文本操作命令

    vi 编辑器中有三种状态模式  [vi 文件名(或路径+文件名)] 1.命令模式 2.输入模式 3.末行模式 三种模式间的相互转换 vi编辑器的启动与退出 直接进入编辑环境 $ vi 进入编辑环境并打 ...

  5. 前端的UI设计与交互之文案篇

    在界面中,我们需要通过对话的方式与用户产生共鸣.精准.清晰的语言会更容易让用户理解,合适的语气更容易让用户建立信任感.因此在界面设计时,文案也应当被重视. 在使用和书写文案时有以下几点需要注意:从用户 ...

  6. 微信小程序学习笔记(阶段二)

    二阶段学习过程: (一)看官方文档的框架.组件.API:https://mp.weixin.qq.com/debug/wxadoc/dev/ (二)看极客学院第3.4章视频:http://www.ph ...

  7. 【Python】 xml转json

    虽然python有解析xml的模块,也有生成json的模块,但是没有把这两者连接起来的模块. 下面是以来自MIT的大神Martin Blech写的一个方便的模块,供大家参考.也别忘了在用之前先拜谢作者 ...

  8. Dynamics 365 Online-使用Azure Logic App 与 Dynamics 365 集成

    什么是Logic App? Azure Logic App 是微软发布的集成平台的产品,有助于生成,计划和自动完成工作流形式的流程,适合跨企业或组织集成,数据,系统和服务.与此同时,Logic App ...

  9. 58 同城 iOS 客户端 iOS11 及 iPhone X 适配实践

    一.前言 前段时间 WWDC 大会上苹果推出了 iOS11 系统 和 iPhone X 新机型,相信各个 iOS 团队的开发者都已经在计划新系统和新机型的适配工作了.不得不说,新系统和新机型的发布确实 ...

  10. Matlab绘图基础——散点生成三角网(TIN)

    %例一:二维三角网TIN模型的生成 X=rand(10,2)*5; dt=DelaunayTri(X(:,1),X(:,2));       %生成三角网 triplot(dt);hold on;   ...