tomcat知识点
(1)使用线程池
Servlet引擎为每一个请求创建一个隔离的线程,分配这个线程给service()方法,在它执行完后移除这个线程。默认情况下,servlet引擎 为每一个请求创建新的线程。因为创建和消除线程是需要系统开销的,可以通过使用线程池来提升性能。依据所期望的并发用户数量,配置线程池的最大、最小、以 及增加数量。在服务启动的时候,servlet引擎使用最小的线程数量创建一个线程池。然后servlet引擎会分配线程给每一个请求,替换原来的创建新 的线程,在处理完成后把线程返回给线程池。使用线程池,性能会有一个显著的提升。如果需要,根据线程的最大和增加数量,更多的线程会被创建,添加到池中以 供更多的请求使用。
(3)控制HttpSession
一个常见的误解是以为session在有客户端访问时就被创建,然而事实是直到某server端程式调用 HttpServletRequest.getSession(true)这样的语句时才被创建,注意如果JSP没有显示的使用 <%@page session="false"%> 关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session = HttpServletRequest.getSession(true);这也是JSP中隐含的session对象的来历。由于session会消耗内 存资源,因此,如果不打算使用session,应该在所有的JSP中关闭他。
在默认情况下,不要在jsp页面中创建HttpSessions对象,jsp页面默认会自动创建HttpSessions,如果在你的jsp页面中不需要HttpSessions,为了节省一些性能,使用下面的页面指令避免自动创建HttpSessions对象。
<%@ page session="false"%>
不要存储大型对象到HttpSession:如果你存储大型对象数据到HttpSession中,应用服务器不得不在每一次请求中处理整个的 HttpSession,这将会强迫使用java的串行化操作,占用大量系统资源。应用服务的性能将会因为java的串行化操作而减少。
在结束时候释放HttpSessions对象:在它们不在需要的时候使用HttpSession.invalidate()方法消除sessions。
设置session的超时值:servlet有一个默认的超时值。如果你在这个时间里面,你既没有移除它,也没有使用它(进行任何服务请求),servlet服务将会自动将其销毁。尽可能的保持session 的超时值最小。
session在下列情况下被删除a.程式调用HttpSession.invalidate();或b.距离上一次收到客户端发送的session id时间间隔超过了session的超时设置;或c.服务器进程被停止(非持久session)
tomcat知识点的更多相关文章
- Tomcat 知识点
Tomcat(重点) Tomcat是一个符合于Java EE Web标准的最小web容器,所有的jsp程序一定需要有WEB容器的的支持才可以运行,而且在给定的WEB容器里面会支持事务处理操作. Tom ...
- Tomcat 知识点总结
Tomcat 学习笔记.本文相关配置均为 tomcat8 下,其他版本可能略有不同.如有错误请多包涵. 架构 首先,看一下整个架构图 接下来简单解释一下. Server:服务器.Tomcat 就是一个 ...
- Java Web学习(十二)Tomcat核心
一.引言 其实按道理来说,学习Java web应该在前面的篇幅就写有关tomcat相关的知识点,不过近期看了一些资料,觉得以前仅仅只是知道用tomcat去发布我的项目,一些细节的东西也没有好好总结,这 ...
- 2、MyEclipse和Eclipse调优,MyEclipse配置(tomcat和jdk的内存设置),jar引入相关知识点,将Java项目编程web项目的办法
1.WindowàPreferenceàGeneralàWorkspaceàText file encoding都改成UTF-8 2.WindowàPreferenceàGeneralàEdito ...
- Tomcat配置(部分知识点)
1.<Server>元素,shutdown属性表示关闭Server的指令:port属性表示Server接收shutdown指令的端口号,设为-1可以禁掉该端口 2.Connector的主要 ...
- tomcat相关知识点
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用. tomcat的文件结构: bin:用于存放启动和关闭tom ...
- Tomcat部分知识点小结
* Tomcat:web服务器软件 1. 下载:http://tomcat.apache.org/ 2. 安装:解压压缩包即可. * 注意:安装目录建议不要有中文和空格 3. 卸载 ...
- Servlet在启动时加载的tomcat源码(原创)
tomcat 8.0.36 知识点: 通过配置loadOnStartup可以设置Servlet是否在Tomcat启动时加载,以及按值大小进行有序加载,其最小有效值为0,最大有效值为Integer.MA ...
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
目录 前言 现象 源码分析 实战例子 总结 参考资料 前言 今天研究了一下tomcat上web.xml配置文件中url-pattern的问题. 这个问题其实毕业前就困扰着我,当时忙于找工作. 找到工作 ...
随机推荐
- Linux学习-磁盘配额 (Quota) 的应用与实作
什么是 Quota 在 Linux 系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生, 如 果其中有少数几个使用者大量的占掉了硬盘空间的话,那势必压缩其他使用者的使用权力! ...
- [转]mysql Access denied for user 'root'@'localhost' 问题的解决方法
解决方案如下: # /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &a ...
- selenium2.53用45以下的火狐别太高
selenium2.53用45以下的火狐别太高在高的火狐需要selenium3
- python-高级编程-02
[yield 详解 协同程序 生成器表达式] 1> yield def res (): for i in range(10): x = yield i r = res() print r.nex ...
- 牛客网数据库SQL实战
查找最晚入职员工的所有信息 CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_ ...
- Convolutional Networks for Image Semantic Segmentation
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/52857657 把前段时间自己整理的一个 ...
- 为什么要用全文搜索引擎:全文搜索引擎 VS 数据库管理系统
正文一:Full Text Search Engines vs. DBMS 发表于2009年 正文二:Elasticsearch - A High-Performance Full-Text Sea ...
- 机器学习实战之AdaBoost算法
一,引言 前面几章的介绍了几种分类算法,当然各有优缺.如果将这些不同的分类器组合起来,就构成了我们今天要介绍的集成方法或者说元算法.集成方法有多种形式:可以使多种算法的集成,也可以是一种算法在不同设置 ...
- struts拦截器详解
拦截器是Struts2最强大的特性之一,它是一种可以让用户在Action执行之前和Result执行之后进行一些功能处理的机制. 说到拦截器interceptor,就会想到过滤器filter: 过滤器f ...
- 刷题总结——字符串(ssoj)
题目: 给定n个小的字符串T和一个大的字符串S,先输出T总共再S中出现了多少次 然后q个询问···每次修改S上的一个字母,然后再次输出上述答案··· n小于1000,q<200000,T的总长度 ...