![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tomcat
iteye_15896
这个作者很懒,什么都没留下…
展开
-
Tomcat源码学习 blog 收集 - Tomcat源码学习(一)
引自http://carllgc.blog.ccidnet.com/blog-htm-do-list-uid-4092-type-blog-dirid-13354.html Tomcat源码学习(一)作为一位Java程序员,如果您没有接触过开源软件、项目或框架的话,恐怕有些不可思议。轰轰烈烈的开源运动起源于Linux操作系统,Apache基金会在其中扮演了中流砥柱的角色,业界巨擘S...2008-04-23 09:56:23 · 188 阅读 · 0 评论 -
Java Management Extensions (JMX) 学习笔记- 程序管理和监控
在学习Tomcat 7 的源代码的时候发现,大量运用到了JMX, MBeans,所以决定先学习一下。[size=medium]介绍[/size]JMX是Java 5开始引入的API。这个API意在帮助管理和监控资源: applications, devices, services, and the Java virtual machine. 你可以用JMX API来:[list][...2012-04-07 20:25:30 · 183 阅读 · 0 评论 -
Tomcat 7 源码分析 - 初始化 class loader
Bootstrap 在启动的时候初始化了三种class loader:common,server和shared。在它的createClassLoader方法里面,通过:[code="java"]String value = CatalinaProperties.getProperty(name + ".loader");[/code]来得到属性文件catalina.properties里面...原创 2012-04-07 19:24:52 · 135 阅读 · 0 评论 -
Tomcat 7 源码分析 - 启动概览 bootstrap
先大致浏览一下整个启动过程吧。下面是org.apache.catalina.startup.Bootstrap的main函数。我在eclipse调用的是start的命令,也就是传入main的参数是start// 初始化, 构建org.apache.catalina.startup.Catalina实例,并赋值给catalinaDaemonbootstrap.init();// 把刚...原创 2012-04-07 14:57:14 · 124 阅读 · 0 评论 -
Tomcat 7 源码分析 - 下载 tomcat source code 并导入eclipse
准备好好研究学习一下tomcat 7 的源代码,那么第一步就是下载,导入eclipse并且运行。[size=small]1. 下载源代码[/size]tomcat 7 的源代码在svn上,所以你需要svn的安装。创建一个目录tomcat7,并用命令行进入这个目录,之后用下面的命令下载[code="java"]svn co http://svn.apache.org/repos/as...2012-04-07 09:23:25 · 169 阅读 · 0 评论 -
如何进行Java EE性能测试与调优
[b]性能测试的目标[/b]性能测试不同于功能测试,不是对与错的检验,而是快与慢的衡量。在进行真正的性能测试之前要先搞清楚目标:1. 在确定的硬件条件下,可以支持的并发数越大越好,响应时间越快越好。具体需要达到的并发数是多大,要求的响应时间是多快,由产品经理来提出。2. 在确定的硬件条件下,测试得到最大并发数和相应的响应时间之后。如果增加硬件投入,可以得到怎样的性能提升回报...2012-03-24 20:51:27 · 83 阅读 · 0 评论 -
Tomcat 6 启动过程分析 (7) - ClassLoader
[color=blue][b]ClassLoader[/b][/color]Class Loading是java提供的强大机制之一。JVM利用ClassLoader来装载用到的类文件。有两个原因会促使我们自定义ClassLoader:1. 希望支持一个新的类仓库,而不只是本地文件系统(JVM提供的ClassLoader只能从本地文件系统中load类)。applet ClassLoa...2008-05-13 18:12:59 · 94 阅读 · 0 评论 -
Tomcat 6 启动过程分析 (6) - Logging
[size=medium][b]Commons Logging[/b][/size][color=blue][b]介绍[/b][/color]对于程序来说,Log是很有用甚至是必不可少的,Tomcat程序自然也不例外。Tomcat应用Apache Commons Logging来实现日志。Commons Logging 是Apache 下面的一个项目。它提供了一个各种不同日志的抽象。我...2008-05-13 10:19:24 · 90 阅读 · 0 评论 -
Tomcat 6 启动过程分析 (5) - Digester
Digester 在tomcat启动的时候利用SAX2来解析server.xml. SAX - Simple API for XML, 是一种基于java的xml API。可以看篇文章了解更多:[url]http://www.iteye.com/topic/181865 [/url][quote]SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的t...2008-05-12 18:17:18 · 86 阅读 · 0 评论 -
Tomcat 6 启动过程分析 (4) - server 的初始化
前面说了,Catalina在load方法中试用Digester来构建一个StandardServer (org.apache.catalina.core)。然后调用server.initialize();来初始化。那我们就分析一下这个方法。public final class StandardServer implements Lifecycle, Server, MBeanRegis...2008-04-30 17:53:00 · 99 阅读 · 0 评论 -
Tomcat 6 启动过程分析 (3) - server.xml
我们知道了tomcat在启动的时候会加载server.xml 来初始化 server 实例。先搞清楚几个概念:[color=blue]Server (Service (Connector, Engine(Valve,Realm, Host , Cluster)))[/color][b]Server[/b] "Server" 是单例的,代表整个JVM,它可能包含几个"Servic...2008-04-30 14:08:41 · 84 阅读 · 0 评论 -
Tomcat 6 启动过程分析 (2) - Catalina
package org.apache.catalina.startup;public class Catalina extends [b]Embedded[/b]Embedded 类主要负责Catalina 的 Startup/Shutdown。 它继承自Embedded, Embedded又继承自StandardService,并实现Lifecycle接口,StandardServi...2008-04-30 13:09:39 · 104 阅读 · 0 评论 -
Tomcat 6 启动过程分析 (1) - Bootstrap
package org.apache.catalina.startup;public final class [b]Bootstrap[/b]Bootstrap 是tomcat的启动入口类。它负责构建一个class loader用来装载Catalina的内部类,并且启动tomcat。这样做可以使得Catalina的内部类和系统class path相分离,从而使他们对应用程序级别的类不可...2008-04-30 12:14:28 · 96 阅读 · 0 评论 -
JVisualVM还真是不错
最近再看Java 性能的问题。一直都习惯使用Jconsole和Jstack。今天偶然发现一个更好的东东JVisualVM。这个工具功能更强大而且有很多插件可以扩展,相信后面插件会越来越丰富。如此一来一些简单的profiling和monitoring需求都可以满足了,而不必使用JProfile和YourKit了。JVisualVM是JDK自带的一个使用工具。如果你的path里面包含java的...2012-04-27 21:38:35 · 140 阅读 · 0 评论