<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
 <channel>
  <title>飞的更高</title>
  <link>http://inmysky.blogbus.com</link>
  <description><![CDATA[我一直都在努力寻找自己的生活，义无返顾...]]></description>
  <generator> by blogbus.com </generator>
  <lastBuildDate>Thu, 01 Jan 1970 07:00:00 +0700</lastBuildDate>
  <image>
									<url>http://public.blogbus.com/profile/5/6/7/1201765/avatar_1201765_96.jpg</url>
									<title>飞的更高</title>
									<link>http://inmysky.blogbus.com</link>
								</image>  <item>
   <title>9-to-5er</title>
   <description><![CDATA[i 'm only a regular 9-to-5er.<br /><br />i don't want to work 9 to 5 for the rest of my life.<br /><br />&nbsp;<br /><br />&nbsp;<br /><br /><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="/logs/10592933.html">软件园_留在思远最后的日子</a> 2007-11-01</div><div><a href="/logs/4266566.html">适应</a> 2007-01-11</div><div><a href="/logs/4264935.html">最近。。。</a> 2007-01-11</div><div><a href="/logs/3699744.html">暗淡</a> 2006-10-26</div><div><a href="/logs/3198695.html">2006年的生日</a> 2006-08-31</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F11495661.html&title=9-to-5er">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/11495661.html</link>
   <author>阿贱</author>
   <pubDate>Tue, 04 Dec 2007 19:27:11 +0800</pubDate>
  </item>
  <item>
   <title>武汉  南行的终点</title>
   <description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 小时候，很喜欢到处跑。夏天热辣辣的中午也不睡觉，就在村庄里到处转悠。碰到盛夏桑椹成熟的日子，更是猖獗，大中午必定会偷偷跑到山坡，爬到很高的桑椹树上吃个饱。过晌了，便回家撒谎说在朋友家睡觉了。老妈就嘟囔：小屁孩知道啥叫朋友，然而也不再追问。呵呵，现在想想都为自己撒这么成熟的谎言而自豪。秋天阴雨绵绵的时候，就到处跑着找野蘑菇，弄回来偷偷给奶奶，一起烤着吃。所幸当时没采到过毒蘑菇，不过拉肚子是免不了的。等大雪封住山后，就硬拽着家里那只大狗，到山上追兔子、野鸡什么的。曾经还和几个半大孩子，点着自制的火把钻山洞，满心想着能发现什么武林秘籍之类的宝贝，结果有几次火把不够用，差点就出不来。</p><p>&nbsp;&nbsp;&nbsp; 山里的孩子，童年总是过的很快乐，总有许多好玩而有趣的东西。但是很快的，村子及周边能用腿跑到的地方我都去过了。于是，在吃着偷来的苹果时，会想，什么时候再去远点的地方看看。</p><p>&nbsp;&nbsp;&nbsp; 五年级的时候，我开始离开可爱的村庄和那些童年的小伙伴，到异地求学。初中又换一个地方，高中再换。回家乡的次数也由原来的一周一次，到一月一次，一学期一次，间隔越来越长，我也越走越远。高中毕业了，看着通知书上那个更加遥远的地方，心想：终于又可以走的更远点了。</p><p>&nbsp;&nbsp;&nbsp; 许多人都会喜欢上自己大学所在的城市及其周边，他们说那里存有属于自己的记忆。但我却从来没打算留在湖北。尽管大学呆了4年，在那里曾奢侈的将自己躁动不安的青春挥霍一空。我却非常确切的了解，我不属于这个地方。因为我不喜欢这块土地和这里的民风。有太多我看不惯也永远理解不了的事情。从一开始我就如此认定。5年里，一直都和朋友们说：不要给我机会，给我机会我就离开这里。</p><p>&nbsp;&nbsp;&nbsp; 可笑的是，当我终于有机会离开的时候，这个在我脑海里留存了5年的念头却开始可耻的动摇。就在要离开思远的时候，武汉的天喻来招聘。其实如此说来并不准确，因为早在当时2个月前，该公司的几个小头目就开始不定期的走访我们项目部，实地考察也罢，暗中物色也罢，和我都没有关系。我早已认定下一个歇脚的地方绝对不是武汉。</p><p>&nbsp;&nbsp;&nbsp; 常来的2个人，一个项目经理，田生(暂且这么称呼)，一个大胡，据说是负责人事的。每次大胡都会找我抽烟聊天，慢慢的，慢慢的，天喻在我心里的分量开始变重。在和朋友说起将要去北京的时候，口气似乎也不那么硬了。因为以我当时的实力和项目部所处的位置，进这个公司似乎较容易，至少我是如此认为的。甚至我已经很肯定的认为，进这个公司在与我想不想进，而非其他。于是，一天天的，我开始心事重重。我甚至开始考虑留在武汉会如何如何，房租是多么的便宜，朋友有多少多少。我还试探性的询问++的意见，给她讲到天喻工作会如何如何等等。我不得不承认在去天喻面试前的那些日子，我都在给自己找借口，想让自己改变原来的想法，说服自己违背当初的意愿而为留在武汉做各种铺垫。</p><p>&nbsp;&nbsp; 现在想来，为何当时会变成这个样子，原因其实很简单。北京，一片迷茫，没有任何人可以帮助自己，在武汉的经历拿到外面，必然贬值不少，一切只能从头、从零开始。而如果进入天喻，姑且不讲公司的实力，待遇等在武汉绝对差不到哪里，至少我未来短暂的日子里，少了很多不确定的风险。况且这一切对我来说唾手可得的样子。</p><p>&nbsp;&nbsp;&nbsp; 人总是这样，在寻找自己理想的路上，被各种短期、长期的诱惑所动，渐渐的迷失了自己。等某一天猛然想起曾经的誓言，只能叹一口气，笑笑，说这样也不错。惰性如此，很多道理虽然自己心里清楚的很，也只是在旁边看着，任其发展。等到最后再也无力也无心改变现状的时候，就开始给不满意的结果找各种借口，欺骗自己，让自己心安。呵呵，我是俗人，自然未能避开。</p><p>&nbsp;&nbsp;&nbsp; 很快的，面试的日子到了。很早的起来，在镜子前系领带的时候，看到外面在下雨，阴沉沉的像极了一年前我刚到武汉时的天气。于是心里很不爽。我对自己说，如果天喻给我试用期2k，我就留下。不然，我何必呆在这个不喜欢的地方(当时真的感觉自己有强迫症了)。打着雨伞去挤公交，依旧是骂骂咧咧的司机，依旧是F1的速度。到了后看到大伙差不多都齐了，一个个西装革履，呵呵。十几个人就那样安静的等在大厅里，莫名的别扭。等着的时候，看见大胡从门口进来，冲我嘿嘿一笑说，他迟到了，这个月要被扣钱了。忽然就很向往上班的生活。想我自己什么时候能有机会说出这般话语。</p><p>&nbsp;&nbsp;&nbsp; 一直到9点半的样子，终于一个部长到了，于是开始。<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 我第2个进去。三个面试官，胖部长，一个女人，一个田生。女人问了几个无关痛痒的问题。田生装深沉，没开过口，呵呵，说实话，我一直都没喜欢过这个人，觉得他和我心目中的项目经理差距很大，估计他也没喜欢过我。因为老见到他鄙视的目光瞟来，哈哈。胖部长终于开口了，于是气氛变的很怪异。他问我，你对加班怎么看?我说软件业的加班似乎早已是行业的潜规则，如果自己的任务没完成，加班是自己的原因。胖部长似乎不满意，又问：我给你安排很多任务，而我知道你完成不了，你做完事呢，我还要求你加班，你会如何? 他说完后，我愣了下，或许这又是一个什么看一个人反映啦，态度啦之类的问题。但当时我觉得很幽默，我心里说你这样安排，你傻啊?于是，愣了一会后，我很痛快的说，我绝对不加这样的班。说完后，我一阵轻松，胖部长脸色变了下。女人说你可以出去了，回去等通知。然后我就出来了。下楼梯的时候我都在笑，觉得这次面试很滑稽。大家问我面试些什么问题，我说你考虑下加班怎么回答吧，然后把我的经历讲给他们听。他们都笑。也不知道是笑我还是笑面试官。不过，大伙都清楚我进这个公司八成是没戏了。等全部面完后，一起回去。路上聊起，果然后面又问了同样的问题，一个兄弟说愿意。我听后呆了一下，没在说什么。</p><p>&nbsp;&nbsp;&nbsp; 下午，在软件园和万哥抽烟的时候，孙老师嘿嘿的笑着从远处走来。说名单下来了。招了五个人，没有你。万哥(我的项目经理)刚听完，一口烟喷我脸上，哈哈大笑。说：小伙，这下算是放心了吧，北京不去也不行了。孙老师还在旁边安慰我，说什么结果太意外了，不过不为我的工作担心，相信我之类的话。说实话，虽然这个结果早就在我意料之中，真正核实了后，心里还是有些别扭。忽然就为前些日子自己心里的斗争好笑，还有早上的时候甚至想着天喻给我2k或许我就留下了。我把这个说给万哥听，他比我还乐。说你小子不该对这个公司感兴趣的，和4个在一起呆了1年的人又去了同一家公司，不如到一个新的地方，重新开始，你该往远点的地方跑。呵呵，抽完那根烟，和万哥道别，说等在北京找到工作了打电话回来，就走了。直到现在，也就和万哥通过几次电话，希望他都好，希望他的宝贝女儿茁壮成长。</p><p>&nbsp;&nbsp;&nbsp; 晚上和几个死党聚，被他们笑，说我太丢人，别人都进去了我没进去。我也跟着笑，真的很开心。一来有了这次经历后，我的心不再那么飘了，为日后找工作心理上做好了准备，二来我最终还是要北上了，和我原定的计划相符。虽然有点阴差阳错。哈哈，但终归是相符了。</p><p>&nbsp;&nbsp;&nbsp; 火车票拿到手后，开始和每个朋友道别，收拾打包自己的行李。<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 终于，武汉，我要离开了。<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 我将要回到5年来朝思暮想的北方，去感受那干燥的气候，冬天皑皑白雪，爽朗的北方汉子，还有最爱的手擀面。。。</p><p>&nbsp;&nbsp;&nbsp; 小的时候，我渴望走的远点，再远点，无论哪里。现在我有新的选择了，而武汉，将是我南行的终点，我不会再将大把的时光放到长江以南了。因为北方有更加吸引我的东西。那里会是我梦的终点。</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10592933.html">软件园_留在思远最后的日子</a> 2007-11-01</div><div><a href="http://inmysky.blogbus.com/logs/4266566.html">适应</a> 2007-01-11</div><div><a href="http://inmysky.blogbus.com/logs/4264935.html">最近。。。</a> 2007-01-11</div><div><a href="http://inmysky.blogbus.com/logs/3847605.html">走在路上的朋友</a> 2006-11-17</div><div><a href="http://inmysky.blogbus.com/logs/3699744.html">暗淡</a> 2006-10-26</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10973475.html&title=%E6%AD%A6%E6%B1%89++%E5%8D%97%E8%A1%8C%E7%9A%84%E7%BB%88%E7%82%B9">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10973475.html</link>
   <author>阿贱</author>
   <pubDate>Fri, 23 Nov 2007 18:26:13 +0800</pubDate>
  </item>
  <item>
   <title>软件园_留在思远最后的日子</title>
   <description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; 1月到11月，多么长的一段日子，就这样在眨眼功夫过去了。大伙老说，该写点什么了，该留点什么了。。。我应着，也拖着。头脑里的东西积攒太多，每次郑重其事的坐在被窝里，把本摆好，手指触碰着那熟悉的按键，慢慢的，任凭琐碎从心里爬满身体的每个角落。就这样开始沉迷于乱七八糟的思绪中，如痴如醉，忘记了自己要干什么。而这一段段难能可贵的码字时间，也就这样悄悄的过去了。</p><p>&nbsp;&nbsp;&nbsp; &nbsp;今天，梦醒时，上海的天依然是黑色。于是起来，稍微理理时间顺序，就很突兀的开始了。<br />&nbsp;&nbsp; <br />&nbsp;&nbsp; </p><p><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 软件园&nbsp; -&nbsp; 留在思远最后的日子&nbsp;</p><p><br />&nbsp;&nbsp;&nbsp; &nbsp;只讲生活的话，很惬意。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;虽然这个机构对我们的安排乱七八糟，座位上的电脑常死，没事会让人去开莫名其妙的会，以及中午吃饭痛苦的旅程。但是相对而言，我有了更多自己可以支配的时间。呵呵，于是可以安排自己的生活。早上依旧匆忙赶路，路过小摊，买豆浆和楚天都市报。到地儿了，和小队的兄弟一起做项目。遇到任务不多，或者脑子进水的时候，能拉几个朋友、前辈到外面抽烟，聊天。中午吃饭很辛苦，不过那个食堂里的瓦罐汤让我记忆犹新。现在想来都流口水。心血来潮的话会伙同阿超、阿智一起，蹬车去远点的地方，只为了那里的馄顿和奶茶。等下午结束，去接++，然后一起买那个老头的臭豆腐。<br />&nbsp;&nbsp;&nbsp;&nbsp; 软件园的几个月，我掰着手指头，吝啬的享受着每一天。因为我很清楚，下一个背起背包启程远航的日子已经不远了。像如此身心放松的日子，以后就算有，还不知道自己能否静心享受。</p><p>&nbsp;&nbsp;&nbsp;&nbsp; 所以，那几个月是我1年来最'懒'的时候。我不再去想着今天多解决几个技术问题，多写几行代码。在分项目模块的时候也不再去抢难度大、任务多的了。因为小组的几个兄弟根本不在我之下，根本没必要，也用不着去充大头。<br />&nbsp;&nbsp;&nbsp;&nbsp; 所以，难得自在。现在想来，很怀念那段时光。也是在那会，我第一次真正体会到团队的力量以及它对身处其中每个人的影响。每天看着自己小组的兄弟乐滋滋的，项目进度也在按计划进行。我们甚至借着例会之名，一起去喝汽水，抽烟。我对自己说：真好，这样真好。<br />&nbsp;&nbsp;&nbsp;&nbsp; 别的时间，我都坐在属于我的那台破机子前。开始慢慢整理在思远收获的东西，该备份的备份，该打包的打包，放到行李包或者自己脑子里。<br />&nbsp;&nbsp;&nbsp;&nbsp; 一天，万哥通知下来，说要毕业合影，让大家第二天都穿的像人一点。再之后，日子就像跑马似的，过得飞快了。<br />&nbsp;&nbsp;&nbsp;&nbsp; 兄弟们都说，总不能就这样不声不响散了吧。<br />&nbsp;&nbsp;&nbsp;&nbsp; 于是，抽空去订了4桌散伙饭。然后，通知地点，时间，确定出席人员。兵荒马乱的。几个老大也终于答应到时捧场。一切就绪，只等所有的人都答辩结束。<br />&nbsp;&nbsp; &nbsp; 记得在大四毕业前2个月的时候，我便已经离开襄樊，到武汉去追寻自己的梦想。是以错过了大学四年最精彩的日子。以至于后来只能在乱七八糟的相片里，搜寻那些熟悉的身影。而这次，终于置身其中了。<br />&nbsp;&nbsp; &nbsp; 我不知道大学毕业吃散伙饭的时候，他们都曾说些什么。在这里，谈论的是好工作，好公司，薪水，奖金...诸如之类的话语。是的，在思远的每个人都是扔了一大笔钱，顶着同龄人不解或鄙夷的目光，带着自己对前程的迷茫和那么一点点小小的梦想，花整整十二个月的时间让自己再次飞翔的。而一年后的我们，是比去年的时候心里有底，还是更为慌张？<br />&nbsp;&nbsp;&nbsp;&nbsp; 后来，很多人都醉了。刚开始吃的时候，我还想着早点去结账，怕后面喝高了。可是我却一直清醒，记得在大学寝室的几个兄弟里，我是最菜的一个。到武汉的一年，我却没有再醉过，很奇怪的事情。几个老大早已被灌的受不了，中途找借口闪了。大家开始合影、抽烟、喝茶、聊天。聊着聊着，聊到了呆了1年的这个地方。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于思远这家公司，单从商业的角度来看，留给我印象深刻的，是他的市场营销。对于目标客户的定位，市场的把握，公司宣传和产品推广堪称完美。但是后来却发现许多从这里出去的人反过来都在骂。至于骂什么，很多地方都有，我也就不在重复。我想思远应该明白属于他最核心的竞争力是那一批真正有丰富软件开发经验的前辈，而非其它。但是后来很多牛人走了，也有很多新手来了。于是，必然有一批学员会来承担这个后果，就算那个新手被证明很烂，走了又如何呢？这一批学员就这样过去了，他们的时间只有10个月，难道你还能狠下心来再来一次？你说那些人会不会骂？还有个印象很深刻的事：似乎有很长段时间，所谓的招生条件只是个幌子，只要你愿意掏钱，ＯＫ，来吧，这里会圆你的梦。于是，我甚至看到有高中毕业的兄弟匆匆忙忙。我不知道该为他们悲哀，还是如何。我只能说它的市场做的很好。写到这的时候，忽然不想再继续。关于这些，说来说去，的确很没什么意思。<br /><br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; 后来，在聚会的照片到手后，我拿着和大学时代留下的照片作了个比较，感慨颇多。虽然画面一样的乱七八糟，一片狼藉。但总感觉大学时候的照片情感释放的更多，明亮而强烈。现在的照片，我描述不出那种感觉，只是觉得很大的差别在里面。<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; 就这样吧，呵呵。<br />&nbsp; <br />&nbsp;&nbsp;&nbsp; 是散的时候了</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10973475.html">武汉  南行的终点</a> 2007-11-23</div><div><a href="http://inmysky.blogbus.com/logs/4266566.html">适应</a> 2007-01-11</div><div><a href="http://inmysky.blogbus.com/logs/4264935.html">最近。。。</a> 2007-01-11</div><div><a href="http://inmysky.blogbus.com/logs/3847605.html">走在路上的朋友</a> 2006-11-17</div><div><a href="http://inmysky.blogbus.com/logs/3699744.html">暗淡</a> 2006-10-26</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10592933.html&title=%E8%BD%AF%E4%BB%B6%E5%9B%AD_%E7%95%99%E5%9C%A8%E6%80%9D%E8%BF%9C%E6%9C%80%E5%90%8E%E7%9A%84%E6%97%A5%E5%AD%90">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10592933.html</link>
   <author>阿贱</author>
   <pubDate>Thu, 01 Nov 2007 05:33:17 +0800</pubDate>
  </item>
  <item>
   <title>关于XML</title>
   <description><![CDATA[<p><font size="4"><strong>一 XML解决了哪些现在面临的问题：</strong></font></p><p><font size="4"><strong>&nbsp;&nbsp;</strong></font><font size="3">&nbsp;&nbsp; 现有的HTML对布局、外观等方面很擅长，却极度缺乏对内容的组织和表达能力。所以HTML是设计用来做人机交流的。举个例子：当我们从关系数据库里取得数据，然后运用HTML显示时，是否丢了些什么东西？没错，数据库里的数据都是结构性的，它们以一定的组织结构保存在库中。而我们在用HTML描述这些数据的时候，却丢掉了他们直接的关联关系。因为HTML只注重布局</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp; <strong>不同系统间信息的交换：</strong>各种系统之间平台的不同等，导致传递信息的不方便。没有一个普遍的东西来做中介，只能花大力气针对各自的需求研发。XML的出现恰好能解决这个问题。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp; <strong>保值：</strong>如何长久保存数据是个很头疼的问题，科技的日新月异，在很久很久以后，可能存在这样的情况：长期积累的数据虽然存在，但是却不能被识别，跟丢失没什么两样，更别提对这些数据进行分析、挖掘。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;<strong> 信息定位的更加精确：</strong>无论是一些自动化的爬虫程序，还是搜索引擎，都会因为信息内容的更加容易定位而大大提高效率，更会使很多在HTML时代不敢奢求的愿望一一实现。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p><p><font size="3"><strong>二 XML中的一些名词缩写：</strong></font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MathML：一套充分表达数学式子的标注语言。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMIL：（Synchronized Multimedia Integration Language）多媒介同步整合标注语言。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SVG：(Scalable Vector Graphics)架构在纯文字格式的XML基础上的向量图形格式。跟flash有的一比。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CSS: XML的外观控制</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XSL（eXtensible Stylesheet Language）:专门为XML设计的样式语言。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XSLT（eXtensible Stylesheet Language Transformation）:99年从XSL标准中分离出来，我们现在讲的XSL大多指的是这一块。</font></p><p><font size="3">--CSS和XSL的区别：</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XSL采用的是转换的方式，好比将BIG5码转为UTF-8码。会产生新的文件。</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSS没有任何转换动作，</font>只针对XML中各个成分的外观属性加以设定，整个过程中没有任何新码产生。</p><p><font size="3">--CSS和XSL的相同点：</font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 都是用来设定外观的。</font></p><p><font size="3"><strong>三 XML一些知识点</strong></font></p><p><font size="3"><font size="+0">1 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></font></p><p><font size="3">--&nbsp; 这个是XML文件的declaration，version为必须有的属性，encoding如果没有则字码必须为UTF-8</font></p><p><font size="3">--&nbsp; 用&lt;? something ?&gt; 括起来的是PI（processing instruction）处理指令.通常是XML用来传递情报给解析器下游程序的.</font></p><p><font size="3">如：&lt;? xml-stylesheet href = &quot;style.css&quot; type = &quot;text/css&quot; ?&gt;</font></p><p><font size="3">如：&lt;?&nbsp;xml-stylesheet href = &quot;style.xsl&quot; type =&nbsp;&quot;text/xsl&quot; ?&gt;</font></p><p><font size="3">2&nbsp; 注释为：&lt;!--&nbsp;这里放注释 --&gt;</font></p><p><font size="3">3&nbsp; XML文件必须严格遵守格式规范。</font></p><p><font size="3">4&nbsp; &lt;!DOCTYPE taglib PUBLIC &quot;-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN&quot; &quot;<a href="http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd</a>&quot;&gt;</font></p><p><font size="3">--&nbsp;〈!DOCTYPE 表示开始声明应用外部DTD</font></p><p><font size="3">--&nbsp; taglib 为该XML文件的 根元素名称</font></p><p><font size="3">--&nbsp; SYSTEM 是指该外部DTD文件是私有的，即我们自己创建的，没有公开发行，只是个人或在公司内部或者几个合作单位之间使用；而 PUBIC 关键字是指该外部DTD是公用的，经过了公开讨论，用PUBLIC的DTD都有一个逻辑名称&mdash;&mdash;DTD-name，我们必须在调用时指明这个逻辑名称。</font></p><p><font size="3">--&nbsp; DTD-URL是用URL的方式指明外部DTD文件的位置。</font></p><p><font size="3">5&nbsp; XML文件中大小写敏感，标签必须明确关闭且不能有嵌套，所有属性必须用半角双引号括起来。</font></p><p><font size="3">6&nbsp;&nbsp;HTML中显示例子或着源代码时用&lt;pre&gt;&lt;/pre&gt;或&lt;xmp&gt;&lt;/xmp&gt;,而在XML中要达到此效果用&nbsp; &lt;![CDATA[&nbsp;something ]]&gt;</font></p><p><font size="3">7&nbsp; XML中的空白字元包括：space tab CR LF四个。其中CR是macos平台的换行记号，LF是UNIX上的换行记号，DOS/Windows平台则使用一个CR后紧跟着一个LF来表示换行。</font></p><p><font size="3">-- 在CDATA区中，XML不会对其做处理。</font></p><p><font size="3">-- 在标签中出现，解析的效果会有差异。xml:space = &quot;preserve&quot;用来明确告诉XML程序保留该标签中出现的空白字元。</font></p><p>&nbsp;</p><p><font size="3"><strong>四&nbsp; 命名空间（namespace）</strong></font></p><p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;为了区分来自不同DTD文件定义而名字却相同的元素，所以增加标识。采用的标识同JAVA中包名一样，用各个公司的域名，以确保唯一性。</font></p><p><font size="3">1&nbsp; URL、URN、URI的区别</font></p><p><font size="3">-- URL: Uniform&nbsp;Resource Locator(统一资源定位码)。大致相当于我们常叫的网址，指标有通信协定（如：HTTP、FTP、GOPHER）的字串。</font></p><p><font size="3">-- URI:&nbsp;Uniform Resource Identifier(统一资源标示码)。比较广义，泛指所有以字串标示的网络资源、范围涵盖了URL和URN。也正是我们这里采用的。</font></p><p><font size="3">-- URN:&nbsp;Uniform Resource Name.通常用来标示持久且有专门机构负责的资源，如：图书馆的图书总目</font></p><p><font size="3">2&nbsp; 命名空间声明格式：</font></p><p><font size="3">&lt;?xml version = &quot;1.0&quot; encoding = &quot;UTF-8&quot;?&gt;</font></p><p><font size="3">&lt;某元素 xmlns:某前置字符串=&quot;http://*&quot;&gt;&lt;/某元素&gt;</font></p><p>&nbsp;</p><p><font size="3">例子：</font></p><p>&lt;web-app xmlns=&quot;<a href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a>&quot;<br />&nbsp;xmlns:xsi=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>&quot; version=&quot;2.4&quot;<br />&nbsp;xsi:schemaLocation=&quot;<a href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a>&nbsp;&nbsp; <a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</a>&quot;&gt;</p><p>&lt;/web-app&gt;</p><p>-- xmlns后没有冒号和前置字符串，一律视为在默认的命名空间下。</p><p><strong><font size="3">五&nbsp; XHTML</font></strong></p><p>&nbsp;</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="/logs/10593289.html">关于java基本数据类型</a> 2007-04-26</div><div><a href="/logs/10593284.html">类与类的关系</a> 2007-04-22</div><div><a href="/logs/10593283.html">类的设计原则</a> 2007-04-22</div><div><a href="/logs/10593282.html">orocle中sequence的用法（转）</a> 2006-11-26</div><div><a href="/logs/10593281.html">oracle中substr的小陷阱！</a> 2006-11-13</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10593296.html&title=%E5%85%B3%E4%BA%8EXML">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10593296.html</link>
   <author>阿贱</author>
   <pubDate>Wed, 23 May 2007 13:22:20 +0800</pubDate>
  </item>
  <item>
   <title>eclipse插件的安装方法</title>
   <description><![CDATA[<p>---转载</p><p>&nbsp;</p><p>　　安装时有些小问题值得注意:<br />　　<br />　　<strong>1、下载时注意Eclipse和Lomboz版本号很重要</strong><br />　　<br />　　一般来说相同版本号的才比较兼容。<br />　　<br />　　即：2.0的Eclipse对应插件就装2.0的Lomboz；Eclipse3.01就对应装插件lomboz.301，这样不容易出错，下载时最好认真看清楚网站上的说明，否则有时安装总出现莫名其妙的问题，浪费时间。<br />　　<br />　　<strong>2、安装Lomboz需要gef和emf插件的支持，所以光下载安装 Eclipse3.01,和lomboz.301.zip还不够，必须下载以下四个插件：</strong><br />　　<br />　　Eclipse3.01<br />　　lomboz.301.zip<br />　　GEF-runtime-3.0.1.zip<br />　　emf-sdo-runtime-2.0.0.zip<br />　　<br />　　这一点很容易被忽视，结果安装时有时就会碰到一个问题：<br />　　<br />　　按照步骤安装好后，启动Eclipse，结果【window】---&gt;【Preference】左侧菜单上跟本找不到lomboz一项。<br />　　<br />　　而在【Help】--&gt;【About Eclipse Platform】---&gt;【Plug-in Details】 里面查看，却又明明显示lomboz插件已都安装好了。这个问题折腾了我半天，网上一些中文安装教程都没明确说清楚，其实要安装好lomboz，gef和emf这两个插件也是需要装的。<br />　　<br />　　<strong>3、有时启动Eclipse未加载插件，解决方法很多，总结一下：</strong><br />　　<br />　　a 、 删除整个目录/eclipse/configuration/org.eclipse.update/，重启Eclipse<br />　　<br />　　b 、在启动Eclipse时带上 -clean参数<br />　　如：d:\eclipse\eclipse.exe -clean<br />　　<br />　　c 、 如果Eclipse启动找不到插件了，解决办法: 在/configuration/config.ini文件中加入一行<br />　　osgi.checkConfiguration=true<br />　　这样它会寻找并安装插件，找到后可以把那行再注释掉，这样以后每次启动就不会因寻找插件而显得慢了。<br />　　<br />　　<strong>4、为了便于管理众多插件，建议用links方式安装各种eclipse插件</strong><br />　　<br />　　Eclipse基础－－使用links方式安装Eclipse插件<br />　　<br />　　eclispe想必大家都很熟悉了，一般来说，eclipse插件都是安装在plugins目录下。不过这样一来，当安装了许多插件之后，eclipse变的很大，最主要的是不便于更新和管理众多插件。用links方式安装eclipse插件，可以解决这个问题。<br />　　<br />　　当前配置XP SP1，eclipse3.0.1<br />　　<br />　　现在假设我的eclipse安装目录是D:\eclipse，待安装插件目录是D:\plug-in ，我将要安装LanguagePackFeature（语言包）、emf-sdo-xsd-SDK、GEF-SDK、Lomboz这四个插件。<br />　　<br />　　先把这四个插件程序全部放在D:\plug-in目录里，分别解压。如Lomboz3.0.1.zip解压成Lomboz3.0.1目录，这个目录包含一个plugins目录，要先在Lomboz3.0.1目录中新建一个子目录eclipse，然后把plugins目录移动到刚建立的eclipse 目录中，即目录结构要是这样的：D:\plug-in\Lomboz3.0.1\eclipse\plugins<br />　　<br />　　Eclipse 将会到指定的目录下去查找 eclipse\features 目录和eclipse\plugins 目录，看是否有合法的功能部件和（或）插件。也就是说，目标目录必须包含一个 \eclipse 目录。如果找到，附加的功能部件和插件在运行期配置是将是可用的，如果链接文件是在工作区创建之后添加的，附加的功能部件和插件会作为新的配置变更来处理。<br />　　<br />　　其它压缩文件解压后若已经包含eclipse\plugins目录，则不需要建立eclipse目录。<br />　　<br />　　然后在 eclipse安装目录D:\eclipse目录中建立一个子目录links，在links目录中建立一个link文件，比如　LanguagePackFeature.link，改文件内容为　path=D:/plug-in/LanguagePackFeature　即这个link文件要对应一个刚解压后的插件目录。<br />　　<br />　　<strong>说明：</strong><br />　　<br />　　1. 插件可以分别安装在多个自定义的目录中。<br />　　<br />　　2. 一个自定义目录可以安装多个插件。<br />　　<br />　　3. link文件的文件名及扩展名可以取任意名称，比如ddd.txt，myplugin都可以。<br />　　<br />　　4. link文件中path=插件目录的path路径分隔要用\\或是/<br />　　<br />　　5. 在links目录也可以有多个link文件，每个link文件中的path参数都将生效。<br />　　<br />　　6. 插件目录可以使用相对路径。<font size="6">文件路径不能有非英文字符。</font></p><p>　　<br />　　7. 可以在links目录中建立一个子目录，转移暂时不用的插件到此子目录中，加快eclipse启动。<br />　　<br />　　8.　如果安装后看不到插件，把eclipse 目录下的configuration目录删除，重启即可</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10593280.html">eclipse平台的搭建纪实！</a> 2006-10-22</div><div><a href="http://inmysky.blogbus.com/logs/10593278.html">JDK 环境变量 的设置</a> 2006-09-11</div><div><a href="/logs/10593294.html">synchronized 关键字</a> 2007-04-26</div><div><a href="/logs/10593292.html">java类 构造，初始化 执行顺序</a> 2007-04-26</div><div><a href="/logs/10593285.html">java中的集合</a> 2007-04-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10593295.html&title=eclipse%E6%8F%92%E4%BB%B6%E7%9A%84%E5%AE%89%E8%A3%85%E6%96%B9%E6%B3%95">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10593295.html</link>
   <author>阿贱</author>
   <pubDate>Mon, 21 May 2007 11:20:06 +0800</pubDate>
  </item>
  <item>
   <title>synchronized 关键字</title>
   <description><![CDATA[它包括两种用法：synchronized 方法和 synchronized 块。<br />1. synchronized 方法：通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如：<br />public synchronized void accessVal(int newVal);<br />synchronized 方法控制对类成员变量的访问：每个类实例对应一把锁，每个 synchronized 方法都必须<br /><br />获得调用该方法的类实例的锁方能执行，否则所属线程阻塞，方法一旦执行，就独占该锁，直到从该方法<br /><br />返回时才将锁释放，此后被阻塞的线程方能获得该锁，重新进入可执行状态。这种机制确保了同一时刻对<br /><br />于每一个类实例，其所有声明为 synchronized 的成员函数中至多只有一个处于可执行状态（因为至多只...<!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10593292.html">java类 构造，初始化 执行顺序</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593291.html">try-catch-finally</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593289.html">关于java基本数据类型</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593288.html">java中父类和子类的强转问题。。。</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593287.html">n=n++；</a> 2007-04-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10593294.html&title=synchronized+%E5%85%B3%E9%94%AE%E5%AD%97">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10593294.html</link>
   <author>阿贱</author>
   <pubDate>Thu, 26 Apr 2007 17:09:27 +0800</pubDate>
  </item>
  <item>
   <title>java类 构造，初始化 执行顺序</title>
   <description><![CDATA[<p>给几个例子：</p><p><strong>第一个如下：</strong></p><p>－－－有继承存在的情况下</p><p><font color="#3366ff">class A {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public A() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;enter A()&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; init();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;exit A()&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void init() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;enter A.init&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;exit A.init&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />}<br />public class B extends A {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public B() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;enter B()&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;exit B()&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int s = inits();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static int inits() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;enter B.inits&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;exit B.inits&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void init() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;enter B.init&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = 100;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = 100;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;exit B.init&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void println() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;enter B.println&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(s);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;exit B.println&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static void main(String[] arg) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new B().println();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />}</font></p><p>&nbsp;运行结果：</p><p><font color="#ff6600">enter A()<br />enter B.init<br />exit B.init<br />exit A()<br />enter B.inits<br />exit B.inits<br />enter B()<br />exit B()<br />enter B.println<br />100<br />0<br />exit B.println</font></p><p>由此可以看出大致执行顺序如下：<br />main的new B()<br />-&gt;class B的public B()的第一行（首先调用基类构造函数，隐含的super()调用），第二行还没执行又<br />-&gt;class A的public A()第一行，第二行init()去调用class B的init()而不是class A的init()所以<br />&nbsp; 这里i=100,s=100（运行时多态性），public A()完了之后<br />-&gt;public B()的第一行，下面先执行实例变量的初始化。（此处在下面继续讨论）<br />&nbsp; 下来是s=inits()结果s=0，i没变还是100，最后才执行public B()的两条输出，到这里new B()才算完，<br />&nbsp; 下面就是B的println()。</p><p><font color="#000000"><strong>第二个例子：</strong></font></p><p><strong>-------int i; 和 int i = 0;的区别</strong></p><p><font color="#0000ff">class Base {<br />&nbsp;Base() {<br />&nbsp;&nbsp;System.out.println(&quot;Base() before print()&quot;);<br />&nbsp;&nbsp;print();<br />&nbsp;&nbsp;System.out.println(&quot;Base() after print()&quot;);<br />&nbsp;}</font></p><p><font color="#0000ff">&nbsp;public void print() {<br />&nbsp;&nbsp;System.out.println(&quot;Base.print()&quot;);<br />&nbsp;}<br />}</font></p><p><font color="#0000ff">class Derived extends Base {<br />&nbsp;int value = 100;</font></p><p><font color="#0000ff">&nbsp;Derived() {<br />&nbsp;&nbsp;System.out.println(&quot;Derived() With &quot; + value);<br />&nbsp;}</font></p><p><font color="#0000ff">&nbsp;public void print() {<br />&nbsp;&nbsp;System.out.println(&quot;Derived.print() with &quot; + value);<br />&nbsp;}<br />}</font></p><p><font color="#0000ff">public class Main {<br />&nbsp;public static void main(String[] args) {<br />&nbsp;&nbsp;new Derived();<br />&nbsp;}<br />}</font></p><p><font color="#000000">运行结果如下：</font></p><p><font color="#ff6600">Base() before print()<br />Derived.print() with 0<br />Base() after print()<br />Derived() With 100</font></p><p>int i; != int i = 0;<br />一般的初学者都会认为两者是相同的。<br />但是实际上不但是在顺序上不一样，而且javac对两者的编译是完全不一样。<br />前者只是申明一个变量,在初始化对象变量(这里指int i = 0;)的时候并不会编译成初始化指令。<br />而这些初始化对象变量的指令，会在本类构造函数里面的第一条指令（注意不是构造函数之前）<br />之前执行，而在此之前可能已经执行了父类的构造函数。<br />所以我们不难推出最开始那个例子的结果为什么一个是100,一个是0。<br /><br />还有要注意的是构造函数实际上并没有分配空间（尽管我们通常都会认为）。<br />对于一般的对象生成（用new关键字，其他情况要另外分析）。<br />javac会把它编译成new #number 这个指令,#number指向的是类在常数池的索引。<br />这个new指令就是分配对象空间，并根据类里面所声明的变量进行空间分配，<br />并把他们赋值成初始化的值（就是大家都知道的，int(0),objct(null)）。<br /><br />举个简单的例子。对于一般的语句：比如说new A();<br />实际上执行顺序如下：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new #A的索引<br />//然后是下面大括号的指令，它们都是A的构造函数（这里的构造函数并不等同于我们代码<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 里面的public A() {.. }，实际上是大于,然后<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据里面的代码生成A的构造函数字节代码段。)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 执行父类构造函数字节代码段<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本类对象变量的初始化指令（比如int i = 10；这些指令是在编译时确定的）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后下面的指令就是public A() {...}里面代码的指令<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br /><br />实际上，假如你只是在类申明了int i;而在以后的代码都不引用它的话,<br />javac是不会把它编译到class里面的。这也许是javac的优化结果。</p><p><font color="#000000"><strong>第三个例子：</strong></font></p><p><strong>------一个恶心的例子</strong></p><p><font color="#3366ff">public class Singleton{</font></p><p><font color="#3366ff">/*1）*/&nbsp;private static Singleton obj = new Singleton();<br />/*2）*/&nbsp;public static int counter1;<br />/*3）*/&nbsp;public static int counter2 = 0;<br />&nbsp;<br />/*4）*/&nbsp;private Singleton(){<br />&nbsp;&nbsp;counter1++;<br />&nbsp;&nbsp;counter2++;<br />&nbsp;}<br />&nbsp;<br />/*5）*/&nbsp;public static Singleton getInstance(){<br />&nbsp;&nbsp;return obj;<br />&nbsp;}<br />&nbsp;<br />&nbsp;public static void main(String[] args) {<br />&nbsp;&nbsp;// TODO 自动生成方法存根<br />&nbsp;&nbsp;Singleton&nbsp; obj = Singleton.getInstance();<br />&nbsp;&nbsp;System.out.println(&quot;obj.counter1==&quot;+obj.counter1);<br />&nbsp;&nbsp;System.out.println(&quot;obj.counter2==&quot;+obj.counter2);<br />&nbsp;}</font></p><p><font color="#3366ff">}</font></p><p>执行顺序：４&nbsp;&nbsp; ２　３　１　５</p><p>解释：</p><p>这个例子第一次接触是一个公司的面试题，第一次看百思不得其解。在网上搜了下，才发现。。。</p><p>如果你不知道，就看其他人写的吧。链接如下，</p><p><a href="http://www.cnjsp.org/view.jsp?column=2&amp;id=717">http://www.cnjsp.org/view.jsp?column=2&amp;id=717</a></p><p>言简意赅的阐述（摘）：</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当class具有<font style="background-color: #ff0000">static&nbsp;field</font>，且直接在声明处透过「=...」的方式设定其值时，&nbsp;<br />编译器会自动将这些叙述依序搬到<font style="background-color: #ff0000">class&nbsp;constructor</font>内。同样地，当class具有<font style="background-color: #ff0000">instance&nbsp;<br />&nbsp;field</font>，且直接在声明处透过「=...」的方式设定其值时，编译器会自动将这些叙述依序&nbsp;<br />搬到<font style="background-color: #ff0000">instance&nbsp;constructor</font>内。&nbsp;&nbsp;</p><p>--什么是class constructor和instance constructor?</p><p>+ class constructor是我们常用的静态块,如：</p><p>&nbsp;&nbsp;&nbsp; static{</p><p>&nbsp;&nbsp;&nbsp; }</p><p>+ instance constructor就是我们的构造方法。</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10593294.html">synchronized 关键字</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593291.html">try-catch-finally</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593289.html">关于java基本数据类型</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593288.html">java中父类和子类的强转问题。。。</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593287.html">n=n++；</a> 2007-04-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10593292.html&title=java%E7%B1%BB+%E6%9E%84%E9%80%A0%EF%BC%8C%E5%88%9D%E5%A7%8B%E5%8C%96+%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10593292.html</link>
   <author>阿贱</author>
   <pubDate>Thu, 26 Apr 2007 14:53:12 +0800</pubDate>
  </item>
  <item>
   <title>try-catch-finally</title>
   <description><![CDATA[<h2><a name="whyFinally" title="whyFinally"></a>Why Finally?</h2><p>A Finally block will be executed after a try block if no exception has been thrown or after a catch if an exception was thrown. This means that a finally block can be used as 'clean up' - a place to close files or connections etc, whether an exception is thrown or not.</p><p>If a try block throws an exception and the catch block propagates the exception (throws it again), the finally clause will still execute. <font style="background-color: #ff0000">If the finally clause executes a return statement, it overides a thrown exception (so the exception will not be thrown; instead the return will occur).</font></p><!-- #BeginLibraryItem "/library/top.lbi" --><p>1。finally块在以下情况下执行：</p><p>&nbsp;&nbsp;&nbsp;&nbsp; try块执行完毕且没有抛出异常;</p><p>&nbsp;&nbsp;&nbsp;&nbsp; try块执行，抛出异常，catch块自己处理该异常后；</p><p>&nbsp;&nbsp;&nbsp;&nbsp; try块执行，抛出异常，catch块将该异常向上抛出；（如果fanally块中有返回的声明，那么该异常将不被抛出，相反，将该声明返回）</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; 注意：无论try块，还是catch块中是否有语句 return； fanally块都会在return到主程序之前，执行。</p><!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10593294.html">synchronized 关键字</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593292.html">java类 构造，初始化 执行顺序</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593289.html">关于java基本数据类型</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593288.html">java中父类和子类的强转问题。。。</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593287.html">n=n++；</a> 2007-04-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10593291.html&title=try-catch-finally">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10593291.html</link>
   <author>阿贱</author>
   <pubDate>Thu, 26 Apr 2007 13:02:28 +0800</pubDate>
  </item>
  <item>
   <title>关于java基本数据类型</title>
   <description><![CDATA[1。共8种：<br /><br />byte , short , int , long, float, double, char, boolean<br /><br />数据类型 大小 范围/精度 <br /><br />float 4 字节 32位IEEE 754单精度 <br /><br />double 8 字节 64位IEEE 754双精度 <br /><br />byte 1字节 -128到127 <br /><br />short 2 字节 -32,768到32,767 <br /><br />int 4 字节 -2,147,483,648到2,147,483,647 <br /><br />long 8 字节 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807 <br /><br />char 2 字节 整个Unico...<!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10593294.html">synchronized 关键字</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593292.html">java类 构造，初始化 执行顺序</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593291.html">try-catch-finally</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593288.html">java中父类和子类的强转问题。。。</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593287.html">n=n++；</a> 2007-04-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10593289.html&title=%E5%85%B3%E4%BA%8Ejava%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10593289.html</link>
   <author>阿贱</author>
   <pubDate>Thu, 26 Apr 2007 10:01:36 +0800</pubDate>
  </item>
  <item>
   <title>java中父类和子类的强转问题。。。</title>
   <description><![CDATA[如下代码：<br /><br />public class A {<br />&nbsp;public static void main(String[] args){<br />&nbsp;&nbsp;A a = new A();<br />&nbsp;&nbsp;B b = (B)a;&nbsp;&nbsp;//执行该语句会抛ClassCastException异常。<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;B b2 = new B();<br />&nbsp;&nbsp;a = (A)b2;<br />&nbsp;&nbsp;System.out.println(&quot;success&quot;);<br />&nbsp;}<br />}<br />class B extends A{&nbsp;<br />}<br /><br />&nbsp;<br /><br />-...<!--sp--><div class="relpost"><br/><h3>随机文章：</h3><div><a href="http://inmysky.blogbus.com/logs/10593294.html">synchronized 关键字</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593292.html">java类 构造，初始化 执行顺序</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593291.html">try-catch-finally</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593289.html">关于java基本数据类型</a> 2007-04-26</div><div><a href="http://inmysky.blogbus.com/logs/10593287.html">n=n++；</a> 2007-04-22</div></div><div class="addfav"><br />收藏到：<span class= "delicious"><a href="http://delicious.com/save?url=http%3A%2F%2Finmysky.blogbus.com%2Flogs%2F10593288.html&title=java%E4%B8%AD%E7%88%B6%E7%B1%BB%E5%92%8C%E5%AD%90%E7%B1%BB%E7%9A%84%E5%BC%BA%E8%BD%AC%E9%97%AE%E9%A2%98%E3%80%82%E3%80%82%E3%80%82">Del.icio.us</a></span></div><br /><br /><div class="sysmsg"><b><a href="http://www.blogbus.com" target="_blank">博客大巴，你的个人传媒早班车</a></b></div><br /><br />]]></description>
   <link>http://inmysky.blogbus.com/logs/10593288.html</link>
   <author>阿贱</author>
   <pubDate>Thu, 26 Apr 2007 09:35:20 +0800</pubDate>
  </item>
 </channel>
</rss>
