Monday, January 5, 2009
CARRA: TORRES RETURN IS MASSIVE BOOST
Jamie Carragher today spoke of his delight after Fernando Torres returned with a goal against Preston at the weekend.
Torres missed the whole of December with a hamstring injury, but made the perfect return at the weekend as he came off the substitute's bench to net the crucial second goal in the final minute at Deepdale. Liverpool now face Everton in the fourth round of the competition as they embark on a crucial second half of the campaign - and Carragher is thrilled to have El Nino back to aid the quest for silverware. "Having Torres back has given everyone a big lift,” he said. "It is great when you see a player of that calibre coming back for the second half of the season. "Hopefully, the time he has been out will refresh him because he had a long season with the Euros. "A lot of players have played a lot of games this season because the manager hasn't changed it around so much and it will be good to have someone like him to come back in. "It has been a feather in the cap for everyone concerned with the club that we have reached the top of the table without having the best striker in the world over the last 12 months for periods. "You miss a player of that quality, but it will give us a lift to have him out there." Carragher was pleased to ensure safe FA Cup progress at the expense of Preston on Saturday - but he admits the Reds were taken all the way by Alan Irvine's men. "We can play better than that, but the other team always raises its game in the FA Cup," he added. "We have found these sort of matches difficult in recent years - Luton, Burnley, Barnsley - so we are pleased to get through against a good Championship side. "In the second half they put us under a lot of pressure and took us to the last minute. There was a bit of a scramble just before we scored the second so it could have gone either way. Great credit to Preston."
Sunday, January 4, 2009
Command
常用命令
Oracle_Database SQL Reference,SQL的语法:http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm
PL SQL Packages and Types,PL/SQL参考:http://st-doc.us.oracle.com/10/102/appdev.102/b14258/toc.htm
Oracle Database Reference,数据字典使用语法:http://st-doc.us.oracle.com/10/102/server.102/b14237/toc.htm
============================常用命令================================su - userchown -R oracle:dba sw-jinnichmod -R +x *ls -auname -rrpm -qdu -sm *ps -ef grepssh-agent $SHELLssh-addsar -u 1 10topiostatsqlplus / as sysdba!sqlhistoryscp rac1pub:/etc/hosts ./hcat /etc/hostscat /proc/cpuinfocat /etc/initiatorname.iscsicat /etc/fstabmount -amount /dev/sdb1fsck.reiserfs /dev/sda3mkfs.reiserfs /dev/sdb1fdisk -ln新建 w保存 p主分区============================常用软件================================mozillaSUSE:KDEYASTREDHAT:/usr/bin/redhat-config-network============================网络设置================================/sbin/ifconfig改IP:vi /etc/sysconfig/networkvi /etc/hostsvi /etc/sysconfig/network-scripts/ifcfg-eth0/sbin/service network restart改DNS:vi /etc/resolv.conf=========================RAC数据库相关==============================emctl start stop status setpasswd dbconsolelsnrctl servlsnrctl status LISTENER_RAC2PUBsrvctl status database -d nagf
env grep SIDexport ORACLE_SID=+ASM1asmcmdASMCMD> lsdgASMCMD> lslvASMCMD> lsctASMCMD> exit/etc/init.d/oracleasm listdisksSQL> select name from v$asm_disk;SQL> alter diskgroup netapp_dg dismount;
find /dev -name *scsi* morevi /etc/iscsi.conf/etc/init.d/iscsi start/etc/init.d/iscsi restartchkconfig iscsi onchkconfig iscsi offchkconfig iscsi -l
SQL> select tablespace_name from dba_tablespaces;SQL> desc dba_datafiles;SQL> select file_name,file_id,tablespace_name from dba_data_files;SQL> select name from v$datafileunionselect member from v$logfileunionselect name from v$controlfileunionselect name from v$tempfile;SQL> select index_name from dba_indexes where index_name like 'CALL_%'SQL> show parameter ****SQL> alter system set xxx=xxxSQL> select * from v$session;SQL> select * from v$process p, v$session s where p.serial#=s.serial# and p.spid=12615;
输出htm格式的报表:SQL> SET MARKUP HTML ONSQL> spool select * from ALL_RULE_SET_RULES.htmSQL> select * from select * from ALL_RULE_SET_RULES;SQL> spool offSQL> SET MARKUP HTML OFFSQL> startup restrict mount;SQL> drop database;
注册到listener:SQL> alter system registerSQL> purge recyclebin;
Oracle_Database SQL Reference,SQL的语法:http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm
PL SQL Packages and Types,PL/SQL参考:http://st-doc.us.oracle.com/10/102/appdev.102/b14258/toc.htm
Oracle Database Reference,数据字典使用语法:http://st-doc.us.oracle.com/10/102/server.102/b14237/toc.htm
============================常用命令================================su - userchown -R oracle:dba sw-jinnichmod -R +x *ls -auname -rrpm -qdu -sm *ps -ef grepssh-agent $SHELLssh-addsar -u 1 10topiostatsqlplus / as sysdba!sqlhistoryscp rac1pub:/etc/hosts ./hcat /etc/hostscat /proc/cpuinfocat /etc/initiatorname.iscsicat /etc/fstabmount -amount /dev/sdb1fsck.reiserfs /dev/sda3mkfs.reiserfs /dev/sdb1fdisk -ln新建 w保存 p主分区============================常用软件================================mozillaSUSE:KDEYASTREDHAT:/usr/bin/redhat-config-network============================网络设置================================/sbin/ifconfig改IP:vi /etc/sysconfig/networkvi /etc/hostsvi /etc/sysconfig/network-scripts/ifcfg-eth0/sbin/service network restart改DNS:vi /etc/resolv.conf=========================RAC数据库相关==============================emctl start stop status setpasswd dbconsolelsnrctl servlsnrctl status LISTENER_RAC2PUBsrvctl status database -d nagf
env grep SIDexport ORACLE_SID=+ASM1asmcmdASMCMD> lsdgASMCMD> lslvASMCMD> lsctASMCMD> exit/etc/init.d/oracleasm listdisksSQL> select name from v$asm_disk;SQL> alter diskgroup netapp_dg dismount;
find /dev -name *scsi* morevi /etc/iscsi.conf/etc/init.d/iscsi start/etc/init.d/iscsi restartchkconfig iscsi onchkconfig iscsi offchkconfig iscsi -l
SQL> select tablespace_name from dba_tablespaces;SQL> desc dba_datafiles;SQL> select file_name,file_id,tablespace_name from dba_data_files;SQL> select name from v$datafileunionselect member from v$logfileunionselect name from v$controlfileunionselect name from v$tempfile;SQL> select index_name from dba_indexes where index_name like 'CALL_%'SQL> show parameter ****SQL> alter system set xxx=xxxSQL> select * from v$session;SQL> select * from v$process p, v$session s where p.serial#=s.serial# and p.spid=12615;
输出htm格式的报表:SQL> SET MARKUP HTML ONSQL> spool select * from ALL_RULE_SET_RULES.htmSQL> select * from select * from ALL_RULE_SET_RULES;SQL> spool offSQL> SET MARKUP HTML OFFSQL> startup restrict mount;SQL> drop database;
注册到listener:SQL> alter system registerSQL> purge recyclebin;
Sunday, December 28, 2008
XMLBeans2.0
XMLBean是Apache的一个开源项目,可以从http://www.apache.org下载,配置内容看readme.txt (home,path,classpath-lib里的xmlbean.jar) 解压后目录如下:
xmlbean
+---bin
+---docs
+---lib
+---samples
+---schemas
利用scomp来生成Java Classes
scomp是XMLBean提供的一个编译工具,它在bin的目录下. 通过这个工具,我们可以将以上的Schema文件生成Java Classes.scomp的语法如下:-
scomp [options] [dirs]* [schemaFile.xsd]* [service.wsdl]* [config.xsdconfig]*
主要参数说明:
-src [dir] -- 生成的Java Classes存放目录
-srconly -- 不编译Java Classes,不产生Jar文件
-out [jarFileName] -- 生成的Jar文件,缺省是xmltypes.jar
-compiler -- Java编译器的路径,即Javac的位置
schemaFile.xsd -- XML Schema文件位置
config.xsdconfig -- xsdconfig文件的位置, 这个文件主要用来制定生成的Java Class的一些文件名规则和Package的名称,在本文,package是sample.xmlbean
运行的:
scomp -src build\src -out build\customerXmlBean.jar schema\customer.xsd
-compiler C:\jdk142_04\bin\javac customer.xsdconfig
这个命令行的意思是告诉scomp生成customerXmlBean.jar,放在build目录下,同时生成源代码放在build\src 下, Schema文件是customer.xsd,xsdconfig文件是customer.xsdconfig.其实, 生成的Java源代码没有多大作用,我们要的是jar文件.我们先看一下build\src\sample\xmlbean下生成的Classes.
摘自于:XMLBeans2.0.0如何使用总结
Saturday, December 27, 2008
Thursday, December 25, 2008
【转】佛学181智慧
一、人之所以痛苦,在于追求错误的东西。
二、与其说是别人让你痛苦,不如说是自己的修养不够。
三、如果你不给自己烦恼,别人也永远不可能给你烦恼。因为在你自己的内心,你放不下。
四、好好的管教你自己,不要管别人。
五、不宽恕众生,不原谅众生,是苦了你自己。
六、别说别人可怜,自己更可怜,自己又懂得人生多少?
七、学佛是对自己的良心交待,不是做给别人看的。
八、福报不够的人,就会常常听到是非;福报够的人,从来就没听到过是非。
九、修行是点滴的工夫。
十、在顺境中修行,永远不能成佛。
十一、你永远要感谢给你逆境的众生。
十二、你随时要认命,因为你是人。
十三、你永远都要宽恕众生,不论他有多坏,甚至他伤害过你,你一定要放下,才能得到真正的快乐。
十四、这个世界本来就是痛苦的,没有例外的。
十五、当你快乐时,你要想,这快乐不是永恒的。当你痛苦时你要想这痛苦也不是永恒的。
十六、认识自己,降伏自己,改变自己,才能改变别人。
十七、今日的执著,会造成明日的后悔。
十八、你可以拥有爱,但不要执著,因为分离是必然的。
十九、不要浪费你的生命在你一定会后悔的地方上。
二十、你什么时候放下,什么时候就没有烦恼。
二一、内心没有分别心,就是真正的苦行。
二二、学佛第一个观念,永远不去看众生的过错。你看众生的过错,你永远污染你自己,你根本不可能修行。
二三、你每天若看见众生的过失和是非,你就要赶快去忏悔,这就是修行。
二四、业障深重的人,一天到晚都在看别人的过失与缺点,真正修行的人,从不会去看别人的过失与缺点。
二五、每一种创伤,都是一种成熟。
二六、当你知道迷惑时,并不可怜,当你不知道迷惑时,才是最可怜的。
二七、狂妄的人有救,自卑的人没有救。
二八、你不要一直不满人家,你应该一直检讨自己才对。不满人家,是苦了你自己。
二九、一切恶法,本是虚妄的,你不要太自卑你自己。一切善法,也是虚妄的,你也不要太狂妄你自己。
三十、当你烦恼的时候,你就要告诉你自己,这一切都是假的,你烦恼什么?
三一、当你未学佛的时候,你看什么都不顺。当你学佛以后,你要看什么都很顺。
三二、你要包容那些意见跟你不同的人,这样子日子比较好过。你要是一直想改变他,那样子你会很痛苦。要学学怎样忍受他才是。你要学学怎样包容他才是。
三三、承认自己的伟大,就是认同自己的愚疑。
三四、修行就是修正自己错误的观念。
三五、医生难医命终之人,佛陀难渡无缘的众生。
三六、一个人如果不能从内心去原谅别人,那他就永远不会心安理得。
三七、心中装满着自己的看法与想法的人,永远听不见别人的心声。
三八、毁灭人只要一句话,培植一个人却要千句话,请你多口下留情。
三九、当你劝告别人时,若不顾及别人的自尊心,那么再好的言语都没有用的。
四十、不要在你的智慧中夹杂着傲慢。不要使你的谦虚心缺乏智慧。
四一、根本不必回头去看咒骂你的人是谁?如果有一条疯狗咬你一口,难道你也要趴下去反咬他一口吗?
四二、忌妒别人,不会给自己增加任何的好处。忌妒别人,也不可能减少别人的成就。
四三、永远不要浪费你的一分一秒,去想任何你不喜欢的人。
四四、多少人要离开这个世间时,都会说出同一句话,这世界真是无奈与凄凉啊!
四五、恋爱不是慈善事业,不能随便施舍的。感情是没有公式,没有原则,没有道理可循的。可是人们至死都还在执著与追求。
四六、请你用慈悲心和温和的态度,把你的不满与委屈说出来,别人就容易接受。
四七、创造机会的人是勇者。等待机会的人是愚者。
四八、能说不能行,不是真智慧。
四九、多用心去倾听别人怎么说,不要急着表达你自己的看法。
五十、同样的瓶子,你为什么要装毒药呢?同样的心理,你为什么要充满着烦恼呢?
五一、得不到的东西,我们会一直以为他是美好的,那是因为你对他了解太少,没有时间与他相处在一起。当有一天,你深入了解后,你会发现原不是你想像中的那么美好。
五二、这个世间只有圆滑,没有圆满的。
五三、修行要有耐性,要能甘于淡泊,乐于寂寞。
五四、活着一天,就是有福气,就该珍惜。当我哭泣我没有鞋子穿的时候,我发现有人却没有脚。
五五、多一分心力去注意别人,就少一分心力反省自己,你懂吗?
五六、眼睛不要老是睁得那么大,我且问你,百年以后,那一样是你的。
五七、欲知世上刀兵劫,但听屠门夜半声。不要光埋怨自己多病,灾祸横生,多看看横死在你刀下的众生又有多少?
五八、憎恨别人对自己是一种很大的损失。
五九、每一个人都拥有生命,但并非每个人都懂得生命,乃至于珍惜生命。不了解生命的人,生命对他来说,是一种惩罚。
六十、自以为拥有财富的人,其实是被财富所拥有。
六一、情执是苦恼的原因,放下情执,你才能得到自在。
六二、随缘不是得过且过,因循苟且,而是尽人事听天命。
六三、不要太肯定自己的看法,这样子比较少后悔。
六四、当你对自己诚实的时候,世界上没有人能够欺骗得了你。
六五、用伤害别人的手段来掩饰自己缺点的人,是可耻的。
六六、世间的人要对法律负责任。修行的人要对因果负责任。
六七、在你贫穷的时候,那你就用身体去布施,譬如说扫地、洒水、搬东西等,这也是一种布施。
六八、内心充满忌妒,心中不坦白,言语不正的人,不能算是一位五官端正的人。
六九、默默的关怀与祝福别人,那是一种无形的布施。
七十、多讲点笑话,以幽默的态度处事,这样子日子会好过一点。
七一、与人相处之道,在于无限的容忍。
七二、不要刻意去猜测他人的想法,如果你没有智慧与经验的正确判断,通常都会有错误的。
七三、要了解一个人,只需要看他的出发点与目的地是否相同,就可以知道他是否真心的。
七四、人生的真理,只是藏在平淡无味之中。
七五、不洗澡的人,硬擦香水是不会香的。名声与尊贵,是来自于真才实学的。有德自然香。
七六、与其你去排斥它已成的事实,你不如去接受它,这个叫做认命。
七七、佛菩萨只保佑那些肯帮助自己的人。
七八、逆境是成长必经的过程,能勇于接受逆境的人,生命就会日渐的茁壮。
七九、你要感谢告诉你缺点的人。
八十、能为别人设想的人,永远不寂寞。
八一、如果你能像看别人缺点一样,如此准确般的发现自己的缺点,那么你的生命将会不平凡。
八二、原谅别人,就是给自己心中留下空间,以便回旋。
八三、时间总会过去的,让时间流走你的烦恼吧!
八四、你硬要把单纯的事情看得很严重,那样子你会很痛苦。
八五、永远扭曲别人善意的人,无药可救。
八六、人不是坏的,只是习气罢了,每个人都有习气,只是深浅不同罢了。只要他有向道的心,能原谅的就原谅他,不要把他看做是坏人。
八七、说一句谎话,要编造十句谎话来弥补,何苦呢?
八八、其实爱美的人,只是与自己谈恋爱罢了。
八九、世界上没有一个永远不被毁谤的人,也没有一个永远被赞叹的人。当你话多的时候,别人要批评你,当你话少的时候,别人要批评你,当你沈默的时候,别人还是要批评你。在这个世界上,没有一个不被批评的。
九十、夸奖我们,赞叹我们的,这都不是名师。会讲我们,指示我们的,这才是善知识,有了他们我们才会进步。
九一、你目前所拥有的都将随着你的死亡而成为他人的,那为何不现在就布施给真正需要的人呢?
九二、为了赞美而去修行,有如被践踏的香花美草。
九三、白白的过一天,无所事事,就像犯了窃盗罪一样。
九四、能够把自己压得低低的,那才是真正的尊贵。
九五、广结众缘,就是不要去伤害任何一个人。
九六、沈默是毁谤最好的答覆。
九七、对人恭敬,就是在庄严你自己。
九八、拥有一颗无私的爱心,便拥有了一切。
九九、仇恨永远不能化解仇恨,只有慈悲才能化解仇恨,这是永恒的至理。
一00、你认命比抱怨还要好,对于不可改变的事实,你除了认命以外,没有更好的办法了。
一0一、不要因为众生的愚疑,而带来了自己的烦恼。不要因为众生的无知,而痛苦了你自己。
一0二、别人讲我们不好,不用生气、难过。说我们好也不用高兴,这不好中有好,好中有坏,就看你会不会用?
一0三、如果你自己明明对,别人硬说你不对,你也要向人忏悔,修行就是修这些。你什么事都能忍下来,才会进步。就是明明是你对,你也要向他人求忏悔,那就是修行了。
一0四、当你的错误显露时,可不要发脾气,别以为任性或吵闹,可以隐藏或克服你的缺点。
一0五、不要常常觉得自己很不幸,世界上比我们痛苦的人还要多。
一0六、愚痴的人,一直想要别人了解他。有智慧的人,却努力的了解自己。
一0七、别人永远对,我永远错,这样子比较没烦恼。
一0八、来是偶然的,走是必然的。所以你必须,随缘不变,不变随缘。
一0九、慈悲是你最好的武器。一一0、只要面对现实,你才能超越现实。
一一一、良心是每一个人最公正的审判官,你骗得了别人,却永远骗不了你自己的良心。
一一二、不懂得自爱的人,是没有能力去爱别人的。
一一三、学佛就是在学做人而已。
一一四、正人行邪法,邪法亦正,邪人行正法,正法亦邪,一切唯心造。
一一五、有时候我们要冷静问问自已,我们在追求什么?我们活着为了什么?
一一六、不要因为小小的争执,远离了你至亲的好友,也不要因为小小的怨恨,忘记了别人的大恩。一一七、勇于接受别人的批评,正好可以调整自己的缺点。
一一八、感谢上苍我所拥有的,感谢上苍我所没有的。
一一九、凡是能站在别人的角度为他人着想,这个就是慈悲。
一二0、学佛不是对死亡的一种寄托,而是当下就活得自在和超越。
一二一、佛陀从不勉强别人去做他不喜欢的事情,佛陀只是告诉众生,何者是善?何者是恶?善恶还是要自己去选择,生命还是要自己去掌握。
一二二、所谓的放下,就是去除你的分别心、是非心、得失心、执著心
一二三、说话不要有攻击性,不要有杀伤力,不夸已能,不扬人恶,自然能化敌为友。
一二四、一个常常看别人缺点的人,自己本身就不够好,因为他没有时间检讨他自己。
一二五、是非天天有,不听自然无,是非天天有,不听还是有,是非天天有,看你怎么办?
一二六、真正的布施,就是把你的烦恼、忧虑、分别和执著心通通放下。
一二七、如果你真的爱他,那么你必须容忍他部份的缺点。
一二八、要克服对死亡的恐惧,你必须要接受世上所有的人,都会死去的观念。
一二九、所有的病患,医生最难治,所有的众生,自以为是的人最难渡。
一三0、一匹驴,吃再好的草,也不会成为一匹骏马。用执著和分别心去修行,再大的精进,也不会成佛。
一三一、了解永恒真理的人,就不会为任何的生离死别而哀伤悲泣,因为生离死别是必然的。
一三二、虽然你讨厌一个人,但却又能发觉他的优点好处,像这样子有修养的人,天下真是太少了。一三三、若能一切随他去,便是世间自在人。
一三四、希望你常对自己说,闻到了佛法,我是最幸福的人,除了这幸福外,再没有别的了。
一三五、如果你能每天呐喊二十一遍「我用不着为这一点小事而烦恼」,你会发现,你心里有一种不可思议的力量,试试看,很管用的。
一三六、诚实的面对你内心的矛盾和污点,不要欺骗你自己。
一三七、因果不曾亏欠过我们什么,所以请不要抱怨。
一三八、我们确实有如是的优点,但也要隐藏几分,这个叫做涵养。
一三九、无事莫把闲话聊,是非往往闲话生。
一四0、大多数的人一辈子只做了三件事;自欺、欺人、被人欺。
一四一、太过于欣赏自己的人,不会去欣赏别人的优点。
一四二、活在别人的掌声中,是禁不起考验的人。
一四三、心是最大的骗子,别人能骗你一时,而它却会骗你一辈子。
一四四、坏孩子,父母总是比较操心。所以对于罪业愈深重的众生,我们更应该特别宽恕他怜愍他,而不应该远离他舍弃他。
一四五、只要自觉心安,东西南北都好。如有一人未度,切莫自己逃了。
一四六、用平常心来生活,用惭愧心来待人,心来处事,用菩提心契佛心。
一四七、当你手中抓住一件东西不放时,你只能拥有这件东西,如果你肯放手,你就有机会选择别的。人的心若死执自己的观念,不肯放下,那么他的智慧也只能达到某种程度而已。
一四八、人家怕你,并不是一种福,人家欺你,并不是一种辱。
一四九、不是某人使我烦恼,而是我拿某人的言行来烦恼自己。
一五0、不要刻意去曲解别人的善意,你应当往好的地方想。
一五一、世上的事,不如己意者,那是当然的。
一五二、我的财富并不是因为我拥有很多,而是我要求的很少。
一五三、吃了就一定要拉,人一定要学会随缘放下,否则就会便秘。
一五四、常以为别人在注意你,或希望别人注意你的人,会生活的比较烦恼。
一五五、我能为你煮东西,但我不能为你吃东西。各人吃饭是各人饱,各人生死是个人了。
一五六、看轻别人很容易,要摆平自己却很困难。
一五七、人类最大的错误,在于不敢承担圣人的心。
一五八、你只管活你自己的,不必去介意别人的扭曲与是非。
一五九、如果你准备结婚的话,告诉你一句非常重要的哲学名言「你一定要忍耐包容对方的缺点,世界上没有绝对幸福圆满的婚姻,幸福只是来自于无限的容忍与互相尊重。」
一六0、如果你能够平平安安的渡过一天,那就是一种福气了。多少人在今天已经见不到明天的太阳,多少人在今天已经成了残废,多少人在今天已经失去了自由,多少人在今天已经家破人亡。
一六一、是非和得失,要到最后的结果,才能评定。
一六二、你不必和因果争吵,因果从来就不会误人。你也不必和命运争吵,命运它是最公平的审判官。
一六三、你有你的生命观,我有我的生命观,我不干涉你。只要我能,我就感化你。如果不能,那我就认命。
一六四、你希望掌握永恒,那你必须控制现在。
一六五、恶口永远不要出自于我们的口中,不管他有多坏,有多恶。你愈骂他,你的心就被污染了,你要想,他就是你的善知识。
一六六、当你明天开始生活的时候,有人跟你争执,你就让他赢,这个赢跟输,都只是文字的观念罢了。当你让对方赢,你并没有损失什么。所谓的赢,他有赢到什么?得到什么?所谓的输,你又输到什么?失去什么?
一六七、我们大部份的生命都浪费在文字语言的捉摸上。
一六八、你不要常常觉得自己很委曲,你应该要想,他对我这样已经很好了,这就是修行的功夫。
一六九、别人可以违背因果,别人可以害我们,打我们,毁谤我们。可是我们不能因此而憎恨别人,为什么?我们一定要保有一颗完整的本性和一颗清净的心。
一七0、与任何人接触时,要常常问自己,我有什么对他有用?使他得益。如果我不能以个人的道德、学问和修持的力量,来使人受益,就等于欠了一份债。
一七一、出家是一生一世的事,修行是多生多劫的事。
一七二、信佛,学佛,不是为自己,乃是为一切苦海中的众生。
一七三、佛不渡无缘的人,不能渡的人,我们就把他当做菩萨来看。
一七四、如果一个人没有苦难的感受,就不容易对他人给予同情。你要学救苦救难的精神,就得先受苦受难。
一 七五、一般人在遇到对方的权势大,财富大,气力大,在无可奈何的情形之下而忍,这算什么忍耐呢?真正的忍是,就算他欺负了你,对不住你,但他什么都不及 你,你有足够的力量对付他,而你却能容忍他,认为他的本性和我一样,只是一时糊涂,或在恶劣的环境中受到熏染罢了,你不必与他计较,能在这样的情况及心境 之下容忍那才是真正的忍耐。
一七七、世界原本就不是属于你,因此你用不着抛弃,要抛弃的是一切的执著。万物皆为我所用,但非我所属。
一七八、宁可自己去原谅别人,莫让别人来原谅你。
一七九、当你用烦恼心来面对事物时,你会觉得一切都是业障,世界也会变得丑陋可恨。
一八0、欲为诸佛龙象,先做众生马牛。
一八一、虽然我们不能改变周遭的世界,我们就只好改变自己,用慈悲心和智慧心来面对这一切。
谢谢你看完了哈!~~佛会保佑你的 !~~3Q!~~~
九、修行是点滴的工夫。
谢谢你看完了哈!~~佛会保佑你的 !~~3Q!~~~
Tuesday, December 23, 2008
Oracle 学习计划
1.首先要学习ORACLE的体系结构,分清基本概念 掌握有关ORACLE的基本概念,学习一些简单的实际操作,懂得如何去管理ORACLE数据库(基本使用)对SQL和ORACLE体系结构有更深入的了解。
2.到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA,请继续。
3.现在可以根据自己的实际情况,进行有选择的学习。可以选择深入学习ORACLE的管理、备份与恢复、性能调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样可以在实际中成长,学会TROUBLE SHOOTING。
4.在学习的过程中,可以在网站或论坛中与他人进行交流,可以看别人的一些经验文章,也可以自己写一些心得体会。
学习资料
- 《Oracle 数据库管理基础-》考OCP证书,对oracle先有一个系统的学习,然后看Oracle Concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。
- Oracle官方文档:《concept》oracle的体系和概念
OCP的教学用书STUDY GUIDE(SG)。
Oracle 10g 备份恢复手册
Oracle 10g 高级管理与优化
Oracle 10g PLSQL程序设计
Oracle 10g 数据库管理员手册
http://metalink.oracle.com/
http://www.oracle.com
http://www.dbazine.com/ http://asktom.oracle.com
http://www.orafaq.net/
http://www.ixora.com.au/
http://www.oracle-base.com
http://www.dba-oracle.com/oracle_links.htm
Monday, October 27, 2008
[转]腾讯员工写给毕业生的文字
从校园到职场——写给2008毕业生
亲爱的各位同学,腾讯未来的伙伴们, 当我写下这个标题的时候,内心充满的激动与欣喜,因为不论是在面试过程中还是在QQ群中,我感受到了大家对即将走上职场、走进腾讯的充满憧憬、期待而又带着惶恐的心情,这样的感受令我想起了9年前,我刚从南京大学毕业的时候,相信我当时的心情与大家此时相同。 九年多时间,我的岗位发生过很多次改变,从一名软件研发工程师,到测试工程师,到资深系统工程师,到项目经理,到小组长,到总监,这个过程中我有太多的感受,这次终于逼着自己上周给大家做个承诺来与大家分享。 可以谈的方面很多,大家来报到后(欢迎提前来实习哈)我们相处的时间很多,因此我这次先就大家比较关心的方面以及我认为很重要的方面谈谈我的想法。算是抛一个砖,来公司后,我们身边会有很多优秀的同事会给到大家很多有价值的帮助,尤其是我们的领导Michael Jiang,是一位非常优秀的经理人,我们可以从他身上学到从业务到做人多个方面的经验。
http://blog.yinsha.com/index.php/20/viewspace_77886.html
亲爱的各位同学,腾讯未来的伙伴们, 当我写下这个标题的时候,内心充满的激动与欣喜,因为不论是在面试过程中还是在QQ群中,我感受到了大家对即将走上职场、走进腾讯的充满憧憬、期待而又带着惶恐的心情,这样的感受令我想起了9年前,我刚从南京大学毕业的时候,相信我当时的心情与大家此时相同。 九年多时间,我的岗位发生过很多次改变,从一名软件研发工程师,到测试工程师,到资深系统工程师,到项目经理,到小组长,到总监,这个过程中我有太多的感受,这次终于逼着自己上周给大家做个承诺来与大家分享。 可以谈的方面很多,大家来报到后(欢迎提前来实习哈)我们相处的时间很多,因此我这次先就大家比较关心的方面以及我认为很重要的方面谈谈我的想法。算是抛一个砖,来公司后,我们身边会有很多优秀的同事会给到大家很多有价值的帮助,尤其是我们的领导Michael Jiang,是一位非常优秀的经理人,我们可以从他身上学到从业务到做人多个方面的经验。
http://blog.yinsha.com/index.php/20/viewspace_77886.html
Sunday, October 26, 2008
Terry Qu's CV
Chengliang Qu
State Key Lab of Software Engineering, Wuhan University
Wuhan, 430072, PRC
Phone: 86+15871403192
Email: terry-qu@hotmail.com
Personal Page: http://terryqu.blogspot.com
EDUCATION
2006.10 – Present State Key Lab of Software Engineering(SKLSE), Wuhan University, Wuhan, P.R.China
Exempted from the M.S.Candidate Entrance Examination
Master in Software Architecture, Aspect-oriented Software Development, Semantic Web
Expected Graduation Date: July 2009 Mentor: Prof. Ying Shi, Deputy Director
2003.9 – 2006.10 International School of Software (ISS), Wuhan University, Wuhan, P.R.China
B.S. in Software Engineering
Major GPA: 3.83/4.0 Class Ranking: 2/33
COMPUTER Operating Systems: Linux (Redhat, Fedora), Win XP/2000, Mainframe Z/OS
SKILLS Programming Languages:
l Eclipse Platform: Java, J2EE, JSP/Servlet, XML, UML, Web Services, WSDL, AspectJ, JavaScript, SQL Conversance
l C/C++,Delphi, Visual Basic 6/VB.Net, JCL, HTML/DHTML, CSS Familiarity
Databases: SQL, MySQL, MS SQL Server, PostgreSQL, JDBC, MS Access
Frameworks&Plug-ins: Jarkata Struts, GEF,EMF,SWT/JFace for Eclipse RCP
Web Application Servers: Resin, Apache Tomcat
Other Tools: MyEclipse6.0; VC++6.0; CVSNT; WinCVS; AptanaStudio; RationalRose; Protege; Edraw; Visio; Project2000; Notpad++; XMLSpy; Dreamweaver; FlashFTP; UltraEdit; Delphi7; InstallAnywhere;
PROJECT EXPERIENCE
2008.3-present Main Researcher and Developer, RDF4S Platform
l Conducted in-depth study of resource description framework and semantic web
l Design and develop a RDF4S Platform based on resource description framework for
Semantics (RDF4S) specification proposed by SKLSE for national program 863- design and implementation of a semantics-oriented programming language
l Established the overall development environment
l Conceptualized and implemented the text editor plug-in and graphical editor plug-in of web service description language for semantics (WSDL4S) using EMF and Eclipse plug-in development skills
2007.3-2007.5 Project Leader, Epoch platform, SKLSE, Wuhan University, China
l Designed and developed a CASE platform- for the design of aspect-oriented software architecture based on the aspect-oriented software architecture design language-Epoch by using GEF and Eclipse RCP development skills.
l Accumulated and researched a mountain of the GEF knowledge by reading enormous GEF specification and technical documents about Eclipse plug-in and RCP development as well as detailed analysis of the open source project on Sourceforge using GEF
l Grasped the kernel thinking of GEF and API specification, built the development environment and accomplished the whole architectural design of platform.
2006.10-2007.12 Project Leader, Interactive English Platform
l Designed and developed the large-scale commercial Web system-Interactive English Platform for Yingwei tech company of Wuhan based on Struts framework
l Researched and developed objectives, goals, and budget plan
l Drafted team proposal and investigation reports and coordinated team of ten
l Conceptualized and achieved feasibility and requirement analysis , development schedule, allocation of workload, database/architecture/business logic design, code specification, testing, document maintenance, establishment of environment , core sub-module development and code optimization,. http://www.wd-english.com/
2006.3—2006.5 Project leader Wuhan University Blog Community Web system based on MVC
Designed the core business process and database, implemented the critical functional requirements - template design, tags and testing case, document creation, project architecture establishment, and demonstrated the final product in response to experts’ inquiries.
2006.6 Designed and developed C/S system in Java on Linux seperately using CORBA/RMI/Socket
2006.1 Designed and developed Bug Management System based on MVC using Jsp/Servlet
2005.12—2006.1 Designed and developed CMM compiler in C
2005.10—2005.12 Designed and developed enterprise information management system based on RBAC in Delphi as a main developer responsible for designing database and implementing audit functional module and other sub modules.
TRAINING Passed Sun Certified Java Programming (SCJP) Examination SCORE:80% 2006.11
CERTIFICATE Participated in IBM Mainframe Training 2007.3-6
Lessons: Introduction to z/OS; z/OS Fundamental System Skills; JCL; Storage Management
Fundamentals; VSAM; RACF;
SELECTED HONORS AND AWARDS
l The 1st Fellowship of State Key Lab of Software Engineering 2007, 2008
l The Excellent Party member of International School of Software, Wuhan University 2007
l The Third Consecutive Annual People’s Scholarship of Wuhan University 2004, 2005, 2006
l The 1st Prize of 2006 Software Design Competition Hosted by ISS and Sponsored by KingSoft corporation
l The 13th place in the Final of “Goes the West wherever the motherland needs us most” Chinese speech contest
l The Excellent Student Award of Wuhan University in Morality, Intellectuality and Physical Force 2003-2004
l The Excellent Leader Award of Wuhan University 2003-2004
l The 2nd Prize of National Chemistry Olympics Contest of Senior High School Students 2001
ACTIVITIES
l 2006-present Being the party branch secretary of graduate party branch in grade 2007 of SKLSE , put stress on the construction of a contingent of party branch ,and instantly conveyed the gist of superior branch’s documents and supervised and cultivated non-party students’ potential for entry into party ,led members to visit ZhongShan Armada and 8.7 Meeting Location
l 2005 As the host of the evening party for welcoming freshman of ISS, successfully challenged the opportunity, and won the accolades
l 2004 As the external liaison minister of Students’ Union , strongly convinced KingSoft corporation , one of the most leading companies in IT field , to offer the sponsor for Software Design Competition hosted by ISS, and prepared and conducted the plan for the final success of the competition
l 2004 Established an actively cooperative relationship between ISS and Wuhan Evening Newspaper ,the most popular newspaper office and initiated an original activity jointly held by ISS and Wuhan Evening Newspaper by selling newspaper to collect money as donations for Hope Project
l 2003 As the monitor, successfully managed the class affairs, coordinated and executed class social, athletic and recreational activities such as debate, speech, table tennis, football contest, dance party, spring outing and so forth.
l 2003 Being elected as volunteer of the grand 110th anniversary ceremony of Wuhan University, accompanied the VIP abroad to visit Wuhan University as a guide (top 0.1%)
HOBBIES Making Friends, Playing Football/Table-Tennis/Basketball/Badminton, Making Speech
SELF-EVALUATION
◆ Five years of specialized study in computer science has laid a solid theoretical foundation
◆ A strong capability to conduct logical reasoning and the ability to solve encountered problems independently
◆ I've developed my own efficient learning strategies and absorbed full experience in designing and developing large- scale systems
◆ A hard-working person with strong sense of integrity, responsibility ,innovation, self-motivated, enthusiasm.
◆ Good Cooperative and Conscientious Attitude
State Key Lab of Software Engineering, Wuhan University
Wuhan, 430072, PRC
Phone: 86+15871403192
Email: terry-qu@hotmail.com
Personal Page: http://terryqu.blogspot.com
EDUCATION
2006.10 – Present State Key Lab of Software Engineering(SKLSE), Wuhan University, Wuhan, P.R.China
Exempted from the M.S.Candidate Entrance Examination
Master in Software Architecture, Aspect-oriented Software Development, Semantic Web
Expected Graduation Date: July 2009 Mentor: Prof. Ying Shi, Deputy Director
2003.9 – 2006.10 International School of Software (ISS), Wuhan University, Wuhan, P.R.China
B.S. in Software Engineering
Major GPA: 3.83/4.0 Class Ranking: 2/33
COMPUTER Operating Systems: Linux (Redhat, Fedora), Win XP/2000, Mainframe Z/OS
SKILLS Programming Languages:
l Eclipse Platform: Java, J2EE, JSP/Servlet, XML, UML, Web Services, WSDL, AspectJ, JavaScript, SQL Conversance
l C/C++,Delphi, Visual Basic 6/VB.Net, JCL, HTML/DHTML, CSS Familiarity
Databases: SQL, MySQL, MS SQL Server, PostgreSQL, JDBC, MS Access
Frameworks&Plug-ins: Jarkata Struts, GEF,EMF,SWT/JFace for Eclipse RCP
Web Application Servers: Resin, Apache Tomcat
Other Tools: MyEclipse6.0; VC++6.0; CVSNT; WinCVS; AptanaStudio; RationalRose; Protege; Edraw; Visio; Project2000; Notpad++; XMLSpy; Dreamweaver; FlashFTP; UltraEdit; Delphi7; InstallAnywhere;
PROJECT EXPERIENCE
2008.3-present Main Researcher and Developer, RDF4S Platform
l Conducted in-depth study of resource description framework and semantic web
l Design and develop a RDF4S Platform based on resource description framework for
Semantics (RDF4S) specification proposed by SKLSE for national program 863- design and implementation of a semantics-oriented programming language
l Established the overall development environment
l Conceptualized and implemented the text editor plug-in and graphical editor plug-in of web service description language for semantics (WSDL4S) using EMF and Eclipse plug-in development skills
2007.3-2007.5 Project Leader, Epoch platform, SKLSE, Wuhan University, China
l Designed and developed a CASE platform- for the design of aspect-oriented software architecture based on the aspect-oriented software architecture design language-Epoch by using GEF and Eclipse RCP development skills.
l Accumulated and researched a mountain of the GEF knowledge by reading enormous GEF specification and technical documents about Eclipse plug-in and RCP development as well as detailed analysis of the open source project on Sourceforge using GEF
l Grasped the kernel thinking of GEF and API specification, built the development environment and accomplished the whole architectural design of platform.
2006.10-2007.12 Project Leader, Interactive English Platform
l Designed and developed the large-scale commercial Web system-Interactive English Platform for Yingwei tech company of Wuhan based on Struts framework
l Researched and developed objectives, goals, and budget plan
l Drafted team proposal and investigation reports and coordinated team of ten
l Conceptualized and achieved feasibility and requirement analysis , development schedule, allocation of workload, database/architecture/business logic design, code specification, testing, document maintenance, establishment of environment , core sub-module development and code optimization,. http://www.wd-english.com/
2006.3—2006.5 Project leader Wuhan University Blog Community Web system based on MVC
Designed the core business process and database, implemented the critical functional requirements - template design, tags and testing case, document creation, project architecture establishment, and demonstrated the final product in response to experts’ inquiries.
2006.6 Designed and developed C/S system in Java on Linux seperately using CORBA/RMI/Socket
2006.1 Designed and developed Bug Management System based on MVC using Jsp/Servlet
2005.12—2006.1 Designed and developed CMM compiler in C
2005.10—2005.12 Designed and developed enterprise information management system based on RBAC in Delphi as a main developer responsible for designing database and implementing audit functional module and other sub modules.
TRAINING Passed Sun Certified Java Programming (SCJP) Examination SCORE:80% 2006.11
CERTIFICATE Participated in IBM Mainframe Training 2007.3-6
Lessons: Introduction to z/OS; z/OS Fundamental System Skills; JCL; Storage Management
Fundamentals; VSAM; RACF;
SELECTED HONORS AND AWARDS
l The 1st Fellowship of State Key Lab of Software Engineering 2007, 2008
l The Excellent Party member of International School of Software, Wuhan University 2007
l The Third Consecutive Annual People’s Scholarship of Wuhan University 2004, 2005, 2006
l The 1st Prize of 2006 Software Design Competition Hosted by ISS and Sponsored by KingSoft corporation
l The 13th place in the Final of “Goes the West wherever the motherland needs us most” Chinese speech contest
l The Excellent Student Award of Wuhan University in Morality, Intellectuality and Physical Force 2003-2004
l The Excellent Leader Award of Wuhan University 2003-2004
l The 2nd Prize of National Chemistry Olympics Contest of Senior High School Students 2001
ACTIVITIES
l 2006-present Being the party branch secretary of graduate party branch in grade 2007 of SKLSE , put stress on the construction of a contingent of party branch ,and instantly conveyed the gist of superior branch’s documents and supervised and cultivated non-party students’ potential for entry into party ,led members to visit ZhongShan Armada and 8.7 Meeting Location
l 2005 As the host of the evening party for welcoming freshman of ISS, successfully challenged the opportunity, and won the accolades
l 2004 As the external liaison minister of Students’ Union , strongly convinced KingSoft corporation , one of the most leading companies in IT field , to offer the sponsor for Software Design Competition hosted by ISS, and prepared and conducted the plan for the final success of the competition
l 2004 Established an actively cooperative relationship between ISS and Wuhan Evening Newspaper ,the most popular newspaper office and initiated an original activity jointly held by ISS and Wuhan Evening Newspaper by selling newspaper to collect money as donations for Hope Project
l 2003 As the monitor, successfully managed the class affairs, coordinated and executed class social, athletic and recreational activities such as debate, speech, table tennis, football contest, dance party, spring outing and so forth.
l 2003 Being elected as volunteer of the grand 110th anniversary ceremony of Wuhan University, accompanied the VIP abroad to visit Wuhan University as a guide (top 0.1%)
HOBBIES Making Friends, Playing Football/Table-Tennis/Basketball/Badminton, Making Speech
SELF-EVALUATION
◆ Five years of specialized study in computer science has laid a solid theoretical foundation
◆ A strong capability to conduct logical reasoning and the ability to solve encountered problems independently
◆ I've developed my own efficient learning strategies and absorbed full experience in designing and developing large- scale systems
◆ A hard-working person with strong sense of integrity, responsibility ,innovation, self-motivated, enthusiasm.
◆ Good Cooperative and Conscientious Attitude
Tuesday, October 21, 2008
java中堆栈(stack)和堆(heap)【转摘】
一、堆栈(stack)和堆(heap)?
(1)内存分配的策略
按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.
静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求.
栈式存储分配也可称为动态存储分配,是由一个类似于堆栈的运行栈来实现的.和静态存储分配相反,在栈式存储方案中,程序对数据区的需求在编译时是完全未知的,只有到运行的时候才能够知道,但是规定在运行中进入一个程序模块时,必须知道该程序模块所需的数据区大小才能够为其分配内存.和我们在数据结构所熟知的栈一样,栈式存储分配按照先进后出的原则进行分配。
静态存储分配要求在编译时能知道所有变量的存储要求,栈式存储分配要求在过程的入口处必须知道所有的存储要求,而堆式存储分配则专门负责在编译时或运行时模块入口处都无法确定存储要求的数据结构的内存分配,比如可变长度串和对象实例.堆由大片的可利用块或空闲块组成,堆中的内存可以按照任意顺序分配和释放.
(2)堆和栈的比较
上面的定义从编译原理的教材中总结而来,除静态存储分配之外,都显得很呆板和难以理解,下面撇开静态存储分配,集中比较堆和栈:
从堆和栈的功能和作用来通俗的比较, 堆主要用来存放对象的,栈主要是用来执行程序的 .而这种不同又主要是由于堆和栈的特点决定的:
在编程中,例如C/C++中,所有的方法调用都是通过栈来进行的,所有的局部变量,形式参数都是从栈中分配内存空间的。实际上也不是什么分配,只是从栈顶向上用就行,就好像工厂中的传送带(conveyor belt)一样,Stack Pointer会自动指引你到放东西的位置,你所要做的只是把东西放下来就行.退出函数的时候,修改栈指针就可以把栈中的内容销毁.这样的模式速度最快,当然要用来运行程序了.需要注意的是,在分配的时候,比如为一个即将要调用的程序模块分配数据区时,应事先知道这个数据区的大小,也就说是虽然分配是在程序运行时进行的,但是分配的大小多少是确定的,不变的,而这个"大小多少"是在编译时确定的,不是在运行时.
堆是应用程序在运行的时候请求操作系统分配给自己内存,由于从操作系统管理的内存分配,所以在分配和销毁时都要占用时间,因此用堆的效率非常低.但是堆的优点在于,编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间,因此,用堆保存数据时会得到更大的灵活性。事实上,面向对象的多态性,堆内存分配是必不可少的,因为多态变量所需的存储空间只有在运行时创建了对象之后才能确定.在C++中,要求创建一个对象时,只需用new命令编制相关的代码即可。执行这些代码时,会在堆里自动进行数据的保存.当然,为达到这种灵活性,必然会付出一定的代价:在堆里分配存储空间时会花掉更长的时间!这也正是导致我们刚才所说的效率低的原因,看来列宁同志说的好,人的优点往往也是人的缺点,人的缺点往往也是人的优点(晕~).
(3)JVM中的堆和栈
JVM是基于堆栈的虚拟机.JVM为每个新创建的线程都分配一个堆栈.也就是说,对于一个Java程序来说,它的运行就是通过对堆栈的操作来完成的。堆栈以帧为单位保存线程的状态。JVM对堆栈只进行两种操作:以帧为单位的压栈和出栈操作。
我们知道,某个线程正在执行的方法称为此线程的当前方法.我们可能不知道,当前方法使用的帧称为当前帧。当线程激活一个Java方法,JVM就会在线程的Java堆栈里新压入一个帧。这个帧自然成为了当前帧.在此方法执行期间,这个帧将用来保存参数,局部变量,中间计算过程和其他数据.这个帧在这里和编译原理中的活动纪录的概念是差不多的.
从Java的这种分配机制来看,堆栈又可以这样理解:堆栈(Stack)是操作系统在建立某个进程时或者线程(在支持多线程的操作系统中是线程)为这个线程建立的存储区域,该区域具有先进后出的特性。
每一个Java应用都唯一对应一个JVM实例,每一个实例唯一对应一个堆。应用程序在运行中所创建的所有类实例或数组都放在这个堆中,并由应用所有的线程共享.跟C/C++不同,Java中分配堆内存是自动初始化的。Java中所有对象的存储空间都是在堆中分配的,但是这个对象的引用却是在堆栈中分配,也就是说在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)而已。
一、堆栈(stack)和堆(heap)?
(1)内存分配的策略
按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.
静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求.
栈式存储分配也可称为动态存储分配,是由一个类似于堆栈的运行栈来实现的.和静态存储分配相反,在栈式存储方案中,程序对数据区的需求在编译时是完全未知的,只有到运行的时候才能够知道,但是规定在运行中进入一个程序模块时,必须知道该程序模块所需的数据区大小才能够为其分配内存.和我们在数据结构所熟知的栈一样,栈式存储分配按照先进后出的原则进行分配。
静态存储分配要求在编译时能知道所有变量的存储要求,栈式存储分配要求在过程的入口处必须知道所有的存储要求,而堆式存储分配则专门负责在编译时或运行时模块入口处都无法确定存储要求的数据结构的内存分配,比如可变长度串和对象实例.堆由大片的可利用块或空闲块组成,堆中的内存可以按照任意顺序分配和释放.
(2)堆和栈的比较
上面的定义从编译原理的教材中总结而来,除静态存储分配之外,都显得很呆板和难以理解,下面撇开静态存储分配,集中比较堆和栈:
从堆和栈的功能和作用来通俗的比较, 堆主要用来存放对象的,栈主要是用来执行程序的 .而这种不同又主要是由于堆和栈的特点决定的:
在编程中,例如C/C++中,所有的方法调用都是通过栈来进行的,所有的局部变量,形式参数都是从栈中分配内存空间的。实际上也不是什么分配,只是从栈顶向上用就行,就好像工厂中的传送带(conveyor belt)一样,Stack Pointer会自动指引你到放东西的位置,你所要做的只是把东西放下来就行.退出函数的时候,修改栈指针就可以把栈中的内容销毁.这样的模式速度最快,当然要用来运行程序了.需要注意的是,在分配的时候,比如为一个即将要调用的程序模块分配数据区时,应事先知道这个数据区的大小,也就说是虽然分配是在程序运行时进行的,但是分配的大小多少是确定的,不变的,而这个"大小多少"是在编译时确定的,不是在运行时.
堆是应用程序在运行的时候请求操作系统分配给自己内存,由于从操作系统管理的内存分配,所以在分配和销毁时都要占用时间,因此用堆的效率非常低.但是堆的优点在于,编译器不必知道要从堆里分配多少存储空间,也不必知道存储的数据要在堆里停留多长的时间,因此,用堆保存数据时会得到更大的灵活性。事实上,面向对象的多态性,堆内存分配是必不可少的,因为多态变量所需的存储空间只有在运行时创建了对象之后才能确定.在C++中,要求创建一个对象时,只需用new命令编制相关的代码即可。执行这些代码时,会在堆里自动进行数据的保存.当然,为达到这种灵活性,必然会付出一定的代价:在堆里分配存储空间时会花掉更长的时间!这也正是导致我们刚才所说的效率低的原因,看来列宁同志说的好,人的优点往往也是人的缺点,人的缺点往往也是人的优点(晕~).
(3)JVM中的堆和栈
JVM是基于堆栈的虚拟机.JVM为每个新创建的线程都分配一个堆栈.也就是说,对于一个Java程序来说,它的运行就是通过对堆栈的操作来完成的。堆栈以帧为单位保存线程的状态。JVM对堆栈只进行两种操作:以帧为单位的压栈和出栈操作。
我们知道,某个线程正在执行的方法称为此线程的当前方法.我们可能不知道,当前方法使用的帧称为当前帧。当线程激活一个Java方法,JVM就会在线程的Java堆栈里新压入一个帧。这个帧自然成为了当前帧.在此方法执行期间,这个帧将用来保存参数,局部变量,中间计算过程和其他数据.这个帧在这里和编译原理中的活动纪录的概念是差不多的.
从Java的这种分配机制来看,堆栈又可以这样理解:堆栈(Stack)是操作系统在建立某个进程时或者线程(在支持多线程的操作系统中是线程)为这个线程建立的存储区域,该区域具有先进后出的特性。
每一个Java应用都唯一对应一个JVM实例,每一个实例唯一对应一个堆。应用程序在运行中所创建的所有类实例或数组都放在这个堆中,并由应用所有的线程共享.跟C/C++不同,Java中分配堆内存是自动初始化的。Java中所有对象的存储空间都是在堆中分配的,但是这个对象的引用却是在堆栈中分配,也就是说在建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,而在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)而已。
Subscribe to:
Posts (Atom)

