(一)

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. div闪一下就消失

    <div id="saveCode" class="center" style="display:none;width:300px;height ...

  2. mysql在win10下的卸载

    转自http://blog.csdn.net/sxingming/article/details/52601250   本文介绍,在Windows10系统下,如何彻底删除卸载MySQL... 1> ...

  3. SIMD---MMX代码优化

    单指令多数据流,即SIMD(Single Instruction, Multiple Data)指一类能够在单个指令周期内同时处理多个数据元素的指令集,利用的是数据级并行来提高运行效率,典型的代表由I ...

  4. java如何输入数据

    Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代 ...

  5. css学习の第一四弹—代码格式简写归纳

    一.代码简写方式归纳 >>1.盒模型代码简写: 外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左 1.如果t ...

  6. serializeArray()获取的表单参数转化成json格式的对象

    目标:将serializeArray()这个方法获取的表单对象  转换成json格式 function serializeObject(){ //easyui提交表单 $('#form').form( ...

  7. Mysql使用规范文档 20180223版

    强制:不允许在跳板机上/生产服务器上手工连接,查询或更改线上数据 强制:所有上线脚本必须先在测试环境执行,验证通过以后方可在生产环境执行. 强制:上线脚本的编码格式统一为UTF-8 强制:访问数据库需 ...

  8. vue实现懒加载的几种方法

    vue实现惰性加载是基于: 1.ES6的异步机制 components: { comp: (resolve, reject) => {} } 2. webpack的代码分割功能 require. ...

  9. 笔记:Spring Boot 监控与管理

    在微服务架构中,我们将原本庞大的单体系统拆分为多个提供不同服务的应用,虽然,各个应用的内部逻辑因分解而简化,但由于部署的应用数量成倍增长,使得系统的维护复杂度大大提升,为了让运维系统能够获取各个为服务 ...

  10. Algorithm --> DFS和BFS

    定义结点 struct MGraph { int vexs[MAXVEX]; //顶点数组 int arc[MAXVEX][MAXVEX]; //邻接矩阵 int numVertex, numEdge ...