如何写出高性能的JSP和Servlet
来源: 阅读:872 次 日期:2015-03-27 14:43:32
温馨提示: 小编为您整理了“如何写出高性能的JSP和Servlet”,方便广大网友查阅!

最小化servlet中的java 同步。

不要用servlet的单线程模式。

使用servlet的init()方法进行一些昂贵的一次性的初始化。

避免使用System.out.pintln()调用。

避免使用共享的可修改的类变量

在servlet的多线程模式中(缺省情况下),一个应用服务器实例只有一个的servlet实例,这个servlet的所有请求都共享同一个 servlet实例,如果在servlet内有同步代码块的话会造成线程争夺,因为servlet的类变量创建需要同步,所以要避免使用共享的可修改的类 变量。

HTTP Session处理

使用HTTP Session的时候请遵守一下规则:

不要随意创建Session, Session的创建不是免费的。如果不需要就不要创建

如果session不需要了请使用javax.servlet.http.HttpSession.invalidate()来释放session

保证session小型化可以减少反应时间,如果可能的话,请保证session小于7K。

在JSP里面使用<%page session=”false”%>指令来避免应用服务器自动在不需要的时候创建session.

避免session中存放大的对象,这样会强制序列化和增加过度计算,通常情况下不要存放大的对象到session里面。

不要缓存事务数据到HttpSession里面,访问HttpSession里面的数据是非事务的,最好把这些数据存放在数据库或者用实体 Bean访问,事务如果失败会恢复到它原来的状态,不过,这些失效的或者不再精确的数据会继续存放在session里面。应用服务器提供了只读的bean 管理器去缓存这些只读的数据。

配置和部署技巧

为了提高类的载入时间,避免在服务器的CLASSPATH里面使用过多的目录,把跟应用有关的类发放到jar文件里面。

HTTP反应时间跟HTTP server调整有很大关系。

如果可能,请缓存servlet的结果。

如果一个应用不含任何JEB,把应用部署成war文件,不要部署成ear文件。

禁用Security Manager

Security manager是非常昂贵的,因为在调用需要的资源的时候必须要调用doPrivileged()方法而且还必须要检测server.policy里面的 资源。如果你确信你的服务器没有恶意的代码而且你也不使用用户认证,你就可以禁用secrity manager.

更多信息请查看IT技术专栏

更多信息请查看技术文章
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map