- 博客(13)
- 收藏
- 关注
原创 面试总结
一,java异常1,未检测异常可以不被捕获,检测异常必须捕获。2,注意:在try中,即使方法return了,finally代码块仍将执行。3,方法自己可以不处理异常,而是重新抛出异常,写在方法名后面,用throws关键字。但如果是未检测异常,此处可以不写。4,继承抛出异常的方法。子类方法抛出的异常必须是直接父类方法的子集(不包括未检测异常)。5,尽量不要抛出未检测异常,
2009-09-22 13:22:00 503
原创 How Tomcat Works 17
tomcat的启动 一,catalina里的start方法,用15章介绍的digester,把server.xml解析,建立起一些列对象,设置初始属性,建立对象间联系,最后把server设给catalina。 二,bat文件。设置一些初始值,classpath,最后启动BootStrap类,传递命令参数。 三,这是重点,classloader系统。第八章说过Webapp
2009-09-11 15:04:00 743
原创 How Tomcat Works 15
Digester是一个能把xml结点转化成java对象的工具,就像hibernate把数据库表转化成java对象一样。关于Digester的用法参考书中的介绍,这里只讲tomcat对digester的用法。 在tomcat中,server.xml和web.xml都是用这个工具转化的。如果不用digester,我们可能会在程序中new出很多对象,然后设置它们的属性,再与其它对
2009-09-11 09:14:00 443
原创 How Tomcat Works 16
Shutdown Hook 为了避免用户不正当的关闭tomcat(比如直接关掉控制台或ctrl+c),tomcat使用了Shutdown Hook。 java程序结束的条件:1,system.exit或,所有线程执行结束。2,强制关闭比如ctrl+c 解决办法:1,预先设置Shutdown Hooks,在java程序关闭时会单起n个线程同时执行所有Shutdow
2009-09-09 16:07:00 418
原创 How Tomcat Works 14
server & service 1,server代表整个servlet容器。server里可以有多个service。 2,server的start方法中,先把server启动,然后进入await方法。await方法中建立一个serversocket,等待8005端口的input。如果input是shutdown请求,则退出循环,继续执行start方法最后的stop程序;否则,这个
2009-09-09 15:23:00 375
原创 How Tomcat Works 13
Host & Engine感觉没啥可说的,host代表一个虚拟主机,比如我想www.a.com和www.b.com两个虚拟主机,就可以再server.xml中设置两个host。engine代表整个catalina的servlet引擎。http://topic.csdn.net/u/20081130/02/FB31425A-877A-410C-87D8-ED13E5E47952.html
2009-09-09 15:08:00 386
原创 How Tomcat Works 12
standardContext!它表示一个web app,所以用于app的组件它都要有,比如manager和loader。 一,StandardContext Configuration当一个context被创建后,它的start方法会被立即调用,在start方法中会做很多事情。 Fires the BEFORE_START event. Sets t
2009-09-08 13:10:00 423
原创 web.xml 中的listener、 filter、servlet 加载顺序及其详解
http://blog.csdn.net/zhaoyh82/archive/2009/06/18/4278896.aspx
2009-09-07 15:06:00 365
原创 isAssignableFrom与instanceof区别
http://reeboo.javaeye.com/blog/221527 isAssignableFrom 是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。 通常调用格式是 Class1.isAssignableFrom (Class2) 调用者和参数都是 java.lang.Class 类型。
2009-09-07 14:54:00 618
原创 How Tomcat Works 11
一,Sequence of Methods Invocation上图: 二,SingleThreadModel之前一直有个疑问,就是servlet在容器中是每次请求都创建一个实例,还是只使用一个实例?如果是前者,那么容器中岂不是要创建N个实例;如果是后者,不同线程请求同一个servlet时的同步时如何处理的。这里就做一个详细介绍。1,servlet在容器
2009-09-07 13:23:00 1106
原创 How Tomcat Works 8
本章讲述tomcat中的classloader,为什么要用不同的classloader而不直接使用systemclassloader呢?因为如果那样,servlet将可以访问到系统classpath下的所有类,包括tomcat内部类,这样是违反安全的。servlet应该只可以访问放在WEB-INF/classes或WEB-INF/lib下的类。在tomcat中,org.apache.catalin
2009-09-03 09:32:00 682
原创 How Tomcat Works 6
这章讲的是tomcat如何控制内部各组件的生命周期。tomcat内部有很多组件,比如loader,manager等等,在启动或关闭时,tomcat需要让这些组件依次做一些初始化工作或善后工作,这就靠org.apache.catalina.Lifecycle接口。 说说tomcat管理各组件生命周期的机制。在tomcat里,一个组件可以包含其它多个组件,比如一个context可以包
2009-09-02 09:42:00 923
原创 How Tomcat Works 9
这一章是关于session,tomcat是用manager组件来对session进行管理的,见org.apache.catalina.Manager接口。一个manager通常和一个context关联,负责session的创建、更新、销毁等。默认情况下,session是放在内存中的,但tomcat也提供了其它方式,比如放到文件或数据库中。 一,Sessions
2009-09-01 13:11:00 723
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人