??xml version="1.0" encoding="utf-8" standalone="yes"?> 每个人对时候都有些怀늚东西Q我也不例外。现在每当我刮胡子的时候,怀念小时候,L的花白胡子刺在我q嫩的脸上痒痒的感觉。更怀念在?-4岁的一D|_那时候每天睡觉前Q爸爔R会给我讲一D|事,其是神话故事。讲盘古开天地Q讲奛_造hQ一直讲到西游记。我希望来也会在我孩子每天睡觉前,讲故事给他听。只可惜我现在连x友都没有Q有意?只限x?L下联pL式?/p> 在我M后,我才知道爸爸l我讲的很多话故事Q都是来自一本书Q这本书叫做《搜记》。在q里Q我也讲个关于XHTML的神话故事,所以就取名叫《XHTML搜神记》。如果你的孩子要学XHTML的话Q你也可以把q个故事讲给他听。首先向各位介绍故事里的人物和环境?/p> 1989q_计算Z界的Internetx才刚刚解,那时候计机世界Z的要求还很简单,只要有个说书的,够了。于是SGML奛_Q就在欧z粒子物理实验室依照自己的原型,做了一个简单版本,取名为HTML。这个HTML的主要职责就是说书。所以称为HTML书神。ؓ什么这么称呼呢?你看HTML中的标签q道了Q都是些H1~H6标题QPD落QIMG插图之类的东西,q些都只是增加说书过E中的情而已。HTML书神通过Internetq条q光速的xQ几乎走遍了整个计算Z界。虽然在Internetx中走动的q有FTPQEMail{其他神Q但他们的q远q不及HTML书神的多?/p> HTML书神也造就了像Netscapeq样的一代文明古国,Netscape最l被Microsoft帝国打垮了,现已l没落。但世界上那里有强权Q那里就有斗争。像FIREFOXq样的第三世界现正在崛v。HTML女神使计机世界发展壮大Q她自己也变得也来强大,说书的本领也来高QHTML女神现已l能播放音乐、电影。也来多的出版商、娱乐公司来找HTML女神Q像BBS出版商、门L站出版商和音频视频娱乐公叔R找上了HTML女神QHTML女神好像Ҏ有的来者不拒。HTML女神的责M来大QHTML女神有点不堪重负?/p> 在HTML女神有点不堪重负的时侯,SGML奛_造了一个更强大的神QXML万能之神。XML万能之神被鼓吹的能描q真实世界上的万物。MathML是XML万能之神的一个数学家的化w,也许来会有XML万能之神q会化n为CookML厨神、MusicML音乐之神{等?/p> HTML女神qxqhQ但功能有限QXML万能之神虽然法无比Q但难以掌控。ؓ了结合这两者的优点Q得C个他们两个的优良品种Q在W3Cq个媒婆和接生婆的帮助下QXHTML女神Z了。XHTML女神和她妈妈像极了。先写到q里。祝愿XHTML女神一路好走?/p> 作者云Q这是初E,我会完善q个故事Qƈ有待大家的批评和指正。大家有什么意见,可以通过评论、或者发电子邮gl我。在后箋的版本,我会增加一个感谢列表,感谢所有提q意见的人,其意见中肯的。又重大贡献的甚臛_以加入到作者列表中?/strong> 要完善的列表 长度单位l常用来表示字体大小?/p> 长度单位有两U?/p> l对长度是不管在那里,用尺子量出来都一L。绝寚w度不受字号和屏幕分L率的影响。在Web中有以下的表C?/p> 相对单位指定一个与另一个值成比例的倹{这个比例由Web的环境指定。与分L率有关的相对长度单位?/p> 在我q台19in的LCD昄器上Q分辨率?280*1024。所以我现在看到?1 in = ? px 与字体有关的相对长度单位?/p> 与字体有关的相对长度单位q有 长度单位讑֮规范 在长度值前面可加上+?受这个很用到?/p>
]]>
xx-small x-small small medium large x-large xx-larger
文章的各章各节的标题应该用h1~h6依次表示。文章的章节层次最好不要过多,复杂一点的文章有个3?层就可以了,也就是说Q用h1~h4也就行了Qh5和h6很少用到。那正文标题Q用什么表C?我个为可以用<p class="caption">TEXT CAPTION</p>
来表C正文标题。章节在HTML中不会自动编P需要手工编h通过其他E序来完成。有以下几种
内容在逻辑相关的一个小块,是D落?最常用的段落标{ְ?strong> p。pre是预先设定格式的D落Q?lt;pre> = <p xml:space="preserve">。br表示一个换行?/p>
HTML把下列列表中的字W看成空白字W。在一般情况下Q所有连l的I白字符只显CZؓ一个空根{这?dfn>I白折叠。元素的xml:space属性可以设|是否进行空白折叠。xml:space的属性于有两个:default或preserve。default表示q行I白折叠Qpreserver表示不进行空白折叠。除了pre元素外,所有元素的默认值都是default?/p>
HTML按下列的方式理换行?/p>
如果从其他地Ҏ抄过来文本,可用引文标签表示。有3U引文标{?参见下面的列?。blockquote和q标签都有一个cite属性。如果需要链接到原文Q需要超链接标签。如Q?code><p>And <cite>Bob</cite> said <q>No, I think it's a banana</q>.</p>
为文章的某些文字加强语气Q可用em()和strong(强烈)标签。ؓ了强调这是几个羃写的字母Q可用abbr(~写)或acronym(首字母羃?标签。address表示地址?/p>
Z说明E序U的相关事物Q可用程序相关的标签。他们是
<p><dfn title="Microsoft web browser">IE</dfn> is the most popular browser.</p>
div和spanq无实际的意义。可以通过CSS样式(style)为其赋予不同的表现。div和span的区别在于div表示的一个块Q而span表示的是一个Inline(内联)?/p>
块元?block)和内联元?Inline)?/p>
块元素相当于D落的元素。显C时Q块元素L另v一行,块元素其后的元素也另起一行。块元素有:h1~h6 p pre blockquote address div?/p>
内联元素相当于块中的字符、单词和短语。文本模块提到的所有其他元素都是Inline。a和img元素也是Inline的?/p>
body元素里只能包含块U元素,不能把独立文本和内联元素直接攑֜body元素中?/strong>
q些文本元素的表现Ş似在CSS中介l?/p>
除了br blockquote元素外,所有的其他元素里可以再包含Inline元素和PCDATA(独立文本Q无格式文本)?br>br 是个I元素。也是?br 元素里不能在包含其他元素和独立文本?br>blockquote ?body 元素一P只能包含块元素?/p>
XHTML面?部分?/p>
XML声明推荐使用Q但不是必须的。ؓ什么推荐用呢Q请参?/p>
所有的XHTML1.1的DTD声明都一栗请?/p>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
html元素是XHTML文档的根元素。html元素的属性有
html元素可包含的元素?/p>
z好后,晑ֹ。装上风扇,OK了!电脑又安静了。扇出来风还有一股酒香了?/p>
下面的内容和Java应用E序配置有关?/p>
Properties prop = new Properties();
prop.load(new FileInputStream("filename"));
String value = prop.getProperties("key");
Properties prop = new Properties();
prop.setProperties("key", "value");
...
prop.store(new FileOutputStream("filename.properties"), "comments");
prop.getProperties("key", "default");
或者:
Properties defaultProp = new Properties();
defaultProp.setProperties("key", "value");
...
Properties prop = new Properties(defaultProp);
prop.load(new FileInputStream("filename"));
prop.getProperties("key");
手写的Properties文gQ如果含有非ISO-8859-1的字W,p用native2ascii.exe工具来编译了。eclipse中也有工具可以实现该功能。native2ascii的用很单?/p>
l构化的key
font.name=Monospaced
font.size=12
public Enumeration<?> propertyNames()
size(), keys(), values
<properties>
<comment>comments</comment>
<entry key="key">value</entry>
... ...
</properties>
Properties是Hashtable的子cR?q是一个坏的设计。Hashtable应当只是Properties的一个实例变量?/p>
class Properties {
public String getProperty(String) {...}
public String setProperty(String, String) {...}
...
private Hashtable entry;
protected Properties defaults;
}
在Properties的API中有下面的一D话QSun通过文来I补设计上的缺陗?/p>
因ؓ Properties l承?HashtableQ所以可?Properties 对象应用 put ?putAll Ҏ。但强烈反对使用q两个方法,因ؓ它们允许调用Ҏ入其键或g?Strings 的项。相反,应该使用 setProperty Ҏ。如果在“有危险”的 Properties 对象Q即包含?String 的键或|上调?store ?save ҎQ则该调用将p|?/blockquote>
]]>
【方法一?br>插入Ud存储讑֤后按SHIFT键不村֍可?
【方法二?br>用组{略可以全部用Windows XP的自动播攑֊能,步骤如下Q?
1、点击Windows“开始”-“运行”,键入“gpedit.msc”,点击定按钮Q打开“组{略”窗口;
2、在H口左栏的“本地计机{略”下Q打开“计机配置/理模板/pȝ”,然后在右栏的“设|”标题下Q鼠标双L开“关闭自动播䏀;
3、选择“设|”选项卡,N“已启用”复选钮Q然后在“关闭自动播䏀框中选择“所有驱动器”,单击“确定”按钮,退出“组{略”窗口?
原地址Q?a title="http://csc.rising.com.cn/KnowledgeBase/detailInfo.aspx?Action=ViewInfo&InfoID=757&Channel=RSQ" >http://csc.rising.com.cn/KnowledgeBase/detailInfo.aspx?Action=ViewInfo&InfoID=757&Channel=RSQ
public static Object newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler handler);
参数Q?/p>
函数q回的对象类型是$Proxyn, (n >= 0. W一ơ调用这个方法,新类名ؓ$Proxy0, W二个新cd?Proxy1, 以此cL)
生成?Proxyn 的源代码大致cM如此Q?/p>
public final class $Proxy0 implements interfaces {
InvocationHandler handler;
public String toString() {
Method m = this.getClass().getMethod("toString");
handler.invoke(this, m, m.getParameters());
}
// 以下是实现interfaces的方?br> public return_type interfaces_method(args...) {
Method m = this.getClass().getMethod("equals");
handler.invoke(this, m, m.getParameters());
}
... ...接口interfaces中的其他Ҏ
}
当我们这栯用时: Object o = Proxy.newProxyInstance(null, interfaces, handler0);
q成一个新$Proxy0cȝ对象o, q个对象o的字Dhandler被赋gؓhandler0?Proxy0实现了interfaces中所有的接口Q其实现方式都一P是调用字段handler的invokeҎ。其UML囑֦下:
E序员的健康问题Q是个很Ҏ被程序员自己忽略的问题。关注一D늨序,一晃就是好几个时。眼睛越来越q视Q颈椎越来越酸。如何解册个问题?
要是有个闚wQ来个整Ҏ时就好了。整点一刎ͼ从位v来,打杯_泡杯咖啡Q做做颈部和四肢的展运动,长此以往Q健庯然回来了?/p>
I闲之余Q就用Java做了q样的一个闹钟程序。启动后Q程序就在系l托盘中Q图标是q样?a href="http://www.aygfsteel.com/images/blogjava_net/jeff-lau/WindowsLiveWriter/c20587c55223_594E/image_4.png"> ?/p>
E序必须q行在jdk6+中?/strong>
下蝲地址Q?a title="http://www.aygfsteel.com/Files/jeff-lau/clock.zip" href="http://www.aygfsteel.com/Files/jeff-lau/clock.zip">http://www.aygfsteel.com/Files/jeff-lau/clock.zip
首先Q来看看交换下面的程序。ؓ了交换两个整数变量的内容Q写了下面这L一个方法实玎ͼ
public void swap(int i, int j) {
int t = i;
i = j;
j = t;
}
调用上面的方法,有问题吗Q?/p>
int x = 100;
int y = 1;
swap(x, y);
在程序执行此D代码后Q你会发玎ͼxq是100Q?yq是1。ؓ什么呢Q因为JavaҎ法参数的传递,是?strong>D?call by value)的。想惻I如果我这栯用swap函数呢,swap(3, 4)Q这是莫名其妙的Q有谁会要交??q两个常数呢?/p>
那没办法交换两个整数变量了吗Q可以。把swap函数体替换掉swap函数的调用就可以了。如Q?/p>
int x = 100;
int y = 1;
int t = x;
x = y;
y = t;
Java中其他的原生cd(primitive type)的情况,和int的一栗?/p>
l箋讨论函数调用吧。函数调用时Q参C递的方式主要有两U:
Java使用的是g递。g递是把变量的倹{常数或帔R传递给参数。而引用传递,是把变量的所在内存中的地址传递给参数Q参数通过地址扑ֈ变量的倹{很明显Q引用传递不能把常数传递给参数。g递和引用传递还有一个很大的不同Q对于像intq样的小cd变量来说Qg递没副作用,而引用传递有。也是_在函数调用的执行q程中,不能改变传递给参数的变量的倹{?/p>
但对于普通类cd参数的传递方式的理解和原生类型有点不同。对于方法method(Object o)的调用method(x)Q?不是把对象x复制一份传递给参数oQ而是把对象x的在内存中的首地址Q也是把对象x的引用拷贝给参数o。这样就能这样实现对象的交换函数了吗Q?/p>
public void swap(Object o, Object p) {
Object t = o;
o = p;
p = t;
}
{案是:No。因为像下面q样的调用:
Object x = X;
Object y = Y;
swap(x, y);
在执行完上的代码后,x指向的还是原来的X对象Qy指向的还是那个Y对象。就像歌q那样Q星星还是那个星星,月亮q是那个月亮?/p>
N׃能通过Ҏ调用实现交换q个功能吗?可以。有两种办法Q?/p>
public void swap(Object[] a, int i, int j) {
Object t = a[i] ;
a[i] = a[j];
a[j] = a[i];
}
用反实现swap函数Q有Ҏ鸡用大炮的感觉。性能不怎么Pq容易出错。这个留着做家庭作业吧?/p>