- 浏览: 55185 次
- 性别:
- 来自: 广州
最新评论
-
fangzhu19880123:
1.很显然加载会先在lib中找,如果找不到再到class中去找 ...
tomcat类加载器之WebappClassLoader -
shim:
因此有如下结论:
1)web请求的时分配的线程可能是以前用 ...
ThreadLocal研究 -
wanglingzhong:
配置classpath也就是配置java运行时的类路径,所以支 ...
rt.jar ,dt.jar ,tool.jar是什么东西,什么时候需加到到classpath
文章列表
当一个接口A,有B继承了A并实现了A的全部方法,C然后再继承B,然后重写了部分B的方法,当B实例化后附给A变量。
当A执行方法时,将是盖过后的方法。如果实例化的类没有相应的方法,将向上的父类找看有没有相应的方法。
一直找到最顶层。
- 2009-08-21 08:26
- 浏览 752
- 评论(0)
我们知道反射可以通过一个getter和setter方法得到相应属性的值,在struts测试中发现,
struts只会把提供的属性转成get方法。而不会去检查这个属性是否真实存在。
如:我有一个
public String getLove()
{
return good;
}
在标签中我们使用love属性一样可以得到值,只不过是good的值。
应用需求:这种应用是在有时我们要处理一个值时,如文件大小,开始是B为单位的数字,而我显示想转成KB,MB,并只保两位小数
当然还有其它的一些需求。但是我们不能用getGood直接处理,因为其它的用到good的地方,是不要转换的,因此我们只有生成
别外 ...
- 2009-08-21 08:25
- 浏览 728
- 评论(0)
1. 一个重写方法的实例的写法。
//////////////////////////////////////////////////////////////////////////////////////
new Thread(){
public void run(){
se.send();
}
}.start();
上面的方法是表示实例化一个Thread,然后重写里面的run方法,然后调用Thread的start()方法
--------------------------------------------------------- ...
- 2009-08-21 08:25
- 浏览 1080
- 评论(0)
我有一段这样的代码:
Java codeprivate LinkedList<Connection> freeCon = new LinkedList<Connection>();
public Connection getConn()
{
Connection re = null;
if(freeCon.size()>0)
{
try {
re = freeCon.getFirst();
freeCon.removeFirst();
if(re.isClosed())
{
this.getCo ...
StandarServer.java 所在包package org.apache.catalina.core;
public final class StandardServer
implements Lifecycle, Server, MBeanRegistration
从上节分析可以看到,Catalina.java主要执行了。
server.initialize();
server.start();
我们来看看
server.initialize();主要做了什么.
--------------------------------- ...
- 2009-08-08 11:57
- 浏览 928
- 评论(0)
我在hibernate工厂类中看到了关于ThreadLocal的使用,threadLocal显然是类变量,全局的
是否这样表示不同的线程共享了threadLocal,事实上没错,多个线程取得到是同一样threadLocal
但是在不同的线程中使用threadLocal得到的变量不一样。那 ...
StringBuffer和String都差不多,都是对char类型数组进行处理,只不过他们继承的父类不一样,我们看看
String 的继承关系。
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence
StringBuffer的继承关系。
public final class StringBuffer
extends AbstractStringBuilder
implements java.io.Serializabl ...
Byte是一个类,byte是java内部类型,并不体现为一个类。下面的代码是正确的。
byte aa = 10;
Byte i = aa;
很显然是正确的,但我们知道在类中进行赋值,要不就同类型,要不就是左边为右边的
父类或接口,但是byte很显然不是一个真实的类,而Byte也并不是byte的父类,很显然
Byte是约定的,不能改变其名称的和位置的。可能JVM在运行时,或者在JAVA源码编译时
byte转成功Byte本身就作为一例外在处理。
那么在int a = (int)byte 而使用Integer a = (Integer)Byte是不行的。
前者可以看成是一种特例,是JAVA的内置类型 ...
- 2009-08-06 19:15
- 浏览 1278
- 评论(0)
public int hashCode()返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。
hashCode 的常规协定是:
在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有
被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。
如果根据 equals(Object) 方法,两个对象是相等的,那么在两个对象中的每个对象上调用 hashCode 方法都必须生成相同的整数结果。
以下情况不 ...
- 2009-08-06 19:14
- 浏览 2699
- 评论(0)
1.方法:getBytes(String charsetName)
charsetName为编码类型,也就是把字符串转成字节时的编码类型,在测试中发现他用默认编码转换时,
英文字母和数字只占一个字节,中文占二个字节.
如果用utf-8转换时,英文字母和数字还是占一个字节,但中文占三个字节.
以下是源码:
---------------------------------------------------------------------
public byte[] getBytes(String charsetName)
throws UnsupportedEncodingExcepti ...
- 2009-08-05 12:02
- 浏览 1009
- 评论(0)
此类是struts的入口类,也是调渡类,tomcat是通过个servlet把相关参数等操作传给struts处理的,
ActionServlet是一个普能的servlet,他继承于:HttpServlet,有相应的doGet和doPost方法。
ActionServlet和其它servlet一样,是在web.xml进行定义的,不然系统将无法找到这个servlet
很显然struts帮我们处理了servlet部分,不然我们要每一个都要web.xml中进行配置也能使用。
而struts用一个servlet完成所有相关的控制转向等工作,然后调用真正的逻连javabean类。
我们看一下web.xml中的 ...
此类为action的继承的类,其中主要以下几个方法:
1)execute
2)addErrors
3)addMessages
4)saveErrors
5)saveMessages
其中excute方法为
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
return null;
}
是真正 ...
- 2009-08-05 11:59
- 浏览 1214
- 评论(0)
这个类位于org.apache.catalina.startup包中.
其实这个类是启动tomcat的真正的入口类.
从Bootstrap.java中看得出来,其实启动时只执行此类的load和start,并设置此对象的父加载器属性。
我们选来看此类的方法load有什么作。
--------------------------------------------------------
public void load(String args[]) {
try {
if (arguments(args))
load();
...
- 2009-07-04 08:04
- 浏览 1112
- 评论(0)
此类的作用,就是
* Initialize daemon. 初始化
* 主要有以下过程
* 1)设置环境变量,初始化类加载器,事实上就是为commonLoader,catalinaLoader,sharedLoader,不过这里其实都为
* commonLoader,因为其它几个并没配置,配置文件位于
org.apache,catalina.startup中的catalina.properties。
common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
server.loader=
shared.loader= ...
- 2009-07-04 08:04
- 浏览 875
- 评论(0)