杜娟's profile娟娟的糖果屋PhotosBlogListsMore Tools Help

Blog


    April 22

    被球球点到名字了,55555555~~~~~~,刚看到

    于去年的某天被球球点到名字了,居然刚刚才看到尴尬。看了一下题目,蛮有意思的,呼呼~~吐舌

    俺也引用球球的好多东西做了这篇日志,谢谢喽~

    --------------------------------------------------------------------------------------------------------------

    规则:
    1.被点到名字的要在自己日志里写下问题的答案,然后去掉一个你最不喜欢的问题,加上一个你自己问的问题,传给十个人,列出他们的名字,还要到他们留言板里通知他们----你被点名了.
    2.这10个人要在自己日志里注明是从谁那接来的题,并再想一个题,传给其他10人,让游戏继续下去,不得回传.被点到名字的人会得到大家的祝福,并且所有美好的愿望会在不久的将来实现.
    3.完成游戏的人要通知点你名的人
    4.个人补充一条,本游戏纯属游戏,所以被我点名的朋友也可以不玩啦,没什么后果,呵呵,大家开心就好

    --------------------------------------------------------------------------------------------------------------

    1. 如果你和你的他(她)在生活中产生矛盾都不肯让步,你会怎么办? 
    首先还是会查找一下自己的原因啦,俺还是比较贤惠的吧?hoho~~

    2. 你觉得怎么样才算幸福? 
    每天过的顺顺利利,开开心心~~~

    3. 你会经常追问你的恋人过去的感情史吗? 会对他(她)以前的恋人或喜欢过的人怀有敌意吗?
    年轻的时候会问,不过现在年龄大了,也就顾不上了:)。

    4. 如果曾经伤你伤的很深又是你最爱的人回来找你,你会回头吗?
    不会。

    5. 真正喜欢的人会放手吗?
    会。

    6. 当你在面对你爱的和爱你的两个人的时候,你选哪个?
    爱我的人。

    7. 一个人的长相会影响你是否选择他(她)?
    基本不会。

    8. 遇到你真爱的人但他(她)不爱你,或者是他(她)有对象,你会放弃吗?
    会的。

    9. 你相信这个世界上有真正属于自己的那个唯一的人吗?
    相信。

    10. 如果你喜欢的人不喜欢你,可是却愿意和你在一起,你会?
    我觉得题目有些矛盾哦。

    11. 知道最后会伤得很深,还愿意付出真心好好爱吗?
    不会,俺比较理智。

    12. 你觉得面相跟算卦可靠吗?
    俺有时候挺迷信的。

    13. 心疼的时候你会怎么办..? 
    逛街购物。

    14. 有没有可以回去的感情?
    没有。

    15. 会原谅曾经伤害过你的恋人吗(分手)?
    不会。

    16. 现在最大的心愿是什么?
    全家幸福平安健康。

    17. 你觉得自己活着是为了什么?
    为自己和家人过上更好的生活。

    18. 有一辈子的好朋友吗?
    有的。

    19. 你是期待未来还是想回到过去? 为什么?
    俺对未来还是充满了期待的,是个喜欢幻想的人,当然也会朝着这个方向努力的。

    20. 如果中国允许同性恋结婚,你会和你喜欢的同性结婚吗?
    绝对不会。

    23. 下辈子你要做什么?
    还做现在的我。

    24. 如果对方说了很很伤你的话,你还会原谅他吗?
    具体问题具体分析,hoho。

    25. 彼此伤害过还会做朋友吗?
    一切皆有可能。

    26. 喜欢和爱有什么区别?
    爱是喜欢的升华。

    27. 如果你同时喜欢上2个人,会怎么办?
    似乎不太可能,毕竟俺的经历是有限的,脑细胞也有限哦:)。

    28. 你觉得现在的你和五年前有什么不同?
    经历了很多,也成熟了很多。

    29. 你的男朋友喜欢上你的最好朋友,你会怎么办? 你认为你的最好的朋友该不该告诉你?
    应该不会吧,要对自己有信心。

    30. 你会相信你内心最真实的感觉呢,还是相信你看到听到的证据呢?
    相信直觉。

    31. 维持两人(男女朋友,夫妻之类)关系靠什么?
    理解、宽容。

    32. 朋友怎样对待你,你会觉得无比开心?
    真诚相待,互相帮助。

    33.你想要一个有着万能口袋的机器猫做好朋友呢? 还是想自己变成一个Superman?

    我更希望自己就是超人,哈哈。

    我也来点名喽:莹莹,晓慧,苗强,totti,Will,玛雅,丫丫,David,Gerald,Michael,你们慢慢享受吧...

    我去掉第10个问题,然后补充的问题是:如果可以重新选择职业,你希望自己在哪个城市里从事着哪方面的工作呢?

    纯属娱乐大众,可以不答哦~大笑

    April 21

    关于取名(转)

        姓名,传承了人的情、意、志;姓名,蕴含了人的精、气、神。人的姓名不只是一个简单的人体符号,而且对人的情绪、智力、婚恋、未能得逞、健康等各方面有着一定的影响.给孩子起名,只要掌握一些要领和方法,还是自己起为好,因为只有你们最了解自己的孩子,也只有你们知道自己的期望是什么。再者,取名有一些限制,比如说家族中已有人用的名字不能用,但外人不知道哪个字你的家族已有人用过,另一方面,古语有言曰:"名字父母所取,肤发父母所赐,故为人子,应怀感恩之心。",虽然现在我们一般不说这个了,但做为父母的我们,孩子的名字还是自己起更加有意义:
    一.给孩子起名字要注意的原则:
    1、音韵的灵动力:名字念起来会产生声音的磁场,好的名字悦耳,不佳的名字会形成干扰,不少艺术家或作家都会另外取一个名字或另取字号,如:张大千(原名张员)。好名字不仅会令人印象深刻,自己也能认同。
    2、避免谐音: 父母若打算自己帮宝宝取名字,要注意名字念起来是否有不雅的谐音,以免日后徒生困扰。如:吴理茂、曾豪孝、雨玲(雨淋)、尉琮(喂虫)。最好是名字取好后,多念几遍,看看听起来是否流畅。
    3、注意字义: 父母若想为孩子取名字,必须先了解字的意义,因为有些字并不常见,或者换了旁侧的部首,却意义不佳,所以最好在取名字前,查阅康熙字典确定字义。
    4、八字: 有些是参考宝宝的八字来帮宝宝取名,即利用八字来了解宝宝的先天命格,如:是否阴阳协调、五行均等,再借着取名来调和、改善宝宝的运势。帮宝宝命名可以依照八字命盘、再参考格局、笔画,最后找出合适的字义。比如由八字得知宝宝个性任性刁蛮,建议可用,如:理、德、修、维,来修饰孩子的个性。
    5、生肖: 不少父母在取名字时,常会因生肖来选择字,如:龙年时男生常取名为龙。或者某些生肖,适合用某些字,如:蛇喜欢待在小洞,蛇年出生的宝宝,可以选择:哲、启、善、唯等字。
    6、单名: 一般而言,单名好记且响亮,但是就单名欠缺地格、外格,除非命格好者,否则不适合使用,或者可再取字或号作为辅助,如:孙文,字中山;李白,字太白。
    7、笔画的八十一灵动: 可分别算出五格(天格、地格、人格、外格、总格)的八十一灵动,并观察其五行的相生相克关系。总格24、25、29、31、32、33、35(这样的笔画数格局很不错,但人生有较多波澜重叠)37、39、41、45、47、48(这样的笔画数是不错的格局,有这样笔画数的人,大都能克服困难,开创格局。)
    8、三才五格: 五格是由姓名的笔画中算得,五格的笔画可算出相应的五行,接着即可了解五格及五行间相生相克与吉凶关系,取名字时,最重要在于五行是否协调,再者才是笔画好不好。三才是指天格、人格、地格间的组合并系。取名字时可参考康熙字典的字义和笔画,因为有些字必须以偏旁部首来算,才能得到正确的笔画。
    二,基本要领:
    1,以父姓加固定的字派(有的家谱规定必须使用)加一个有特定意义的字;
    2,以孩子父母的姓加上一个有特定意义的字,组成三个字的姓名;
    3,以孩子父姓加上一个有特定意义的字,组成单名(容易造成重名);
    4,以孩子父母的姓加上两个有特定意义的字,组成四个字的名。
    三,“有特定意义的字”可以是:
    1,孩子出生的季节,如春天出生的用“春”字,秋天出生的用“秋”字;
    2,孩子出生的日子,如国庆日出生的用“国庆”“建国”“建华”;
    3,孩子出生的时晨,如早晨出生的用“晓光”“晨光”;
    4,孩子出生的地点:如“京生”“津生”“沪生”“渝生”;
    5,父母对孩子的期望:男孩用“健、英、伟”,女孩用“慧、娟、淑”等。
    四,需要特别注意的是:
    1,尽量不用多数人都使用的常用字,以避免重名;
    2,尽量不用多数人容易念错的生辟字,以避免难认;
    3,尽量不用笔画繁多和字形不正的字,以避免难写;
    4,尽可能使用好听的褒意诣音,不用不顺耳的贬意诣音;
    5,尽可能使用多音调,即三个字避免同一声调,念起来响亮有起伏感;
    6,在父母的姓字上多下功夫,或拆其字形,或用其字音,但要慎用叠音。
    五,具体建议:
    1,买本相关的书,了解一些命名数理和生辰八字五行相生相克的知识。
    2,如果凭想象实在想不出理想的字,不妨查查字典。
    3,现在给孩子取名,最好是用四个字的名,即父母两人的姓加上两个字:
    如男孩用“夫子”“健夫”,女孩用“慧子”“纯子”等,四个字的
    名不易重名,别具一格,好处多多,将逐步流行。
    4,一般来说,男孩取名用字应含阳钢之气:如“英”“强”;女孩取名用字应含贤淑之意:如“慧”“娟”。而有时男女反用则孩子长大后各方面都比较优秀。
    总而言之,取名的总体原则是:好听、易记、画简、雅致、义深。
    下面是很多好听的男孩女孩的名字,说不定其中就有适合你们孩子的名字:
    一些好听的女孩名字范例:
    雅静(优雅文静)
    梦洁(一个梦幻般的女孩,心地善良,纯洁)
    梦璐(如梦幻般的女孩,璐,谐音露,露字为日月结合的灵之美.智慧且不夸张)
    惠茜(贤惠,茜只是名字好听)
    漫妮(生活浪漫,妮是对女孩的称呼,没什么意义)
    语嫣 (嫣:美好鲜艳 )
    桑榆(出自唐?王勃《滕王阁序》:“北海虽赊,扶摇可接;东隅已逝,桑榆非晚。”)
    倩雪(即前雪,也就是雪天出生的可爱公主啦)
    香怡(香气怡人)
    灵芸(在古代,有一个叫薛灵芸的少女,长得容华绝世,貌赛貂禅,他被当时的皇帝曹丕看中,欲召她进宫做宠妃,愿您的女儿也象她一样美丽,双手灵巧)
    倩雪(即前雪,也就是雪天出生的可爱公主啦)
    玉珍(象玉一般美丽,珍珠一样令人喜爱)
    茹雪(茹,谐音如;全名意思是想雪一般纯洁,善良)
    正梅(为人正直,能承受各种打击)
    美琳(美丽,善良,活泼)
    欢馨(快乐,与家人生活得非常温馨)
    优璇(优,各个方面都很优秀;璇,像美玉一样美丽,受人欢迎)
    雨嘉(雨,纯洁;嘉,优秀)
    娅楠(娅,谐音雅,文雅;楠只是名字好听)
    明美(明白事理,长得标志美丽,有着花容月貌)
    可馨(一个美丽的可人儿。能与家人生活得非常温馨)
    惠茜(贤惠,茜只是名字好听)
    漫妮(生活浪漫,妮是对女孩的称呼,没什么意义)
    香茹(香,死后留香百世,茹,没什么大意义)
    月婵(比貂禅还漂亮美丽,比月光还温柔)
    嫦曦(像嫦娥一样有着绝世美丽容貌,像晨曦一样朝气蓬勃,有精神)
    静香(文静,象明朝时期的香妃一样美丽,文雅,贞烈)
    梦洁(一个梦幻般的女孩,心地善良,纯洁)
    凌薇(气势、朝气都凌人,薇,祝她将来成为一代名人)
    美莲(美丽如莲花一样,还有出淤泥而不染的高尚品质)
    雅静(优雅文静)
    雪丽(美丽如雪)
    依娜(有伊人风采,娜一般指姑娘美丽,婀娜多姿嘛)
    雅芙(文雅,如出水芙蓉一般)
    雨婷(温柔,聪明,漂亮)
    怡香(香气怡人)
    珺瑶 珺:美玉 瑶:美玉
    梦瑶 瑶:美玉
    婉婷(婉寓意“和顺、温和”“婷“寓意“美好”)
    睿婕 (意思是聪明的女孩)
    雅琳( 以“雅”入名,寓意“超脱、优雅”)
    静琪(安静又乖巧的女孩)
    彦妮 彦:古时候指有才学有德行的人 妮:指女孩子
    馨蕊 馨:香气
    静宸 宸:古代君王的代称
    雪慧 冰雪聪慧
    淑颖 贤淑,聪颖
    乐姗 姗:女子走路时婀娜的样子
    玥怡 怡:心旷神怡
    芸熙 熙:光明
    钰彤 钰:美玉 彤:红色
    璟雯 璟:玉的光彩 雯:色彩斑斓的云,多用于人名
    天瑜 瑜:美玉
    婧琪 婧:女子有才 琪:美玉
    梦瑶 瑶:美玉
    静宸 宸:古代君王的代称
    诗琪 (诗情画意;美玉)
    美萱 萱:一种忘忧的草
    雪雁 (在雪花中飞舞的飞雁)
    煜婷 (照耀;亭亭玉立)
    笑怡 怡:心旷神怡
    优璇(优,各个方面都很优秀;璇,像美玉一样美丽,受人欢迎)
    雨嘉(雨,纯洁;嘉,优秀)
    娅楠(娅,谐音雅,文雅;楠只是名字好听)
    雨婷(温柔,聪明,漂亮)
    玥婷 玥:古代传说中的一种神珠 婷:美好
    芸萱 萱:一种忘忧的草
    馨彤 馨:香气 彤:红色
    沛玲(精神充沛,小巧玲珑)
    语嫣 (嫣:美好鲜艳 )
    凌菲 (菲:草木的香气很浓 )
    羽馨 (羽缎;温馨)
    靖瑶 (靖:平安 瑶:美玉 )
    瑾萱 (瑾:美玉 萱:传说中一种忘忧的草 )
    漫妮(生活浪漫,妮是对女孩的称呼,没什么意义)
    灵芸(在古代,有一个叫薛灵芸的少女,长得容华绝世,貌赛貂禅,他被当时的皇帝曹丕看中,欲召她进宫做宠妃,愿您的女儿也象她一样美丽,双手灵巧)
    欣妍(开心愉快,妍是美丽)
    玉珍(象玉一般美丽,珍珠一样令人喜爱)
    茹雪(茹,谐音如;全名意思是想雪一般纯洁,善良)
    正梅(为人正直,能承受各种打击)
    美琳(美丽,善良,活泼)
    欢馨(快乐,与家人生活得非常温馨)
    优璇(优,各个方面都很优秀;璇,像美玉一样美丽,受人欢迎)
    雨嘉(雨,纯洁;嘉,优秀)
    娅楠(娅,谐音雅,文雅;楠只是名字好听)
    明美(明白事理,长得标志美丽,有着花容月貌)
    可馨(与家人生活得非常温馨)
    惠茜(贤惠,茜只是名字好听)
    漫妮(生活浪漫,妮是对女孩的称呼,没什么意义)
    香茹(香,死后留香百世,茹,没什么大意义)
    月婵(比貂禅还漂亮美丽,比月光还温柔)
    嫦曦(像嫦娥一样有着绝世美丽容貌,像晨曦一样朝气蓬勃,有精神)
    静香(文静,象明朝时期的香妃一样美丽,文雅,贞烈)
    梦洁(一个梦幻般的女孩,心地善良,纯洁)
    凌薇(气势、朝气都凌人,薇,祝她将来成为一代名人)
    美莲(美丽如莲花一样,还有出淤泥而不染的高尚品质)
    雅静(优雅文静)
    雪丽(美丽如雪)
    韵寒(即蕴涵)
    莉姿(具有公主或王后的一切风度与姿色)
    梦璐(如梦幻般的女孩,璐,谐音露,露字为日月结合的灵之美.智慧且不夸张)
    沛玲(精神充沛,小巧玲珑)
    欣妍(开心愉快,妍是美丽)
    曼玉(曼妙身材,婷婷玉立)
    歆瑶( 歆:心悦,欢愉 瑶:美玉 )
    凌菲 (菲:草木的香气很浓 )
    靖瑶 (靖:平安 瑶:美玉 )
    瑾萱 (瑾:美玉 萱:传说中一种忘忧的草 )
    佑怡( 怡:好心情 )
    婳祎 (婳:形容女子娴静美好 祎:形容事物美好 )
    檀雅 (檀:植物 雅:正规 )
    若翾 (翾:飞翔 )
    熙雯 (熙:光明 雯:成花纹的云彩)
    诗茵(诗:寓意文雅、浪漫)
    静璇 (聪明文静)
    婕珍 (意思是聪明的女孩)
    沐卉 (卉:草的总称 沐:如雨般湿润 )
    琪涵(有美玉一般内涵的女孩)
    佳琦 (琦,是玉的意思,佳琦意思是犹如上好美玉一样白璧无暇!)
    雪丽(美丽如雪)
    依娜(有伊人风采,娜一般指姑娘美丽,婀娜多姿嘛)
    雅芙(文雅,如出水芙蓉一般)
    雨婷(温柔,聪明,漂亮)
    怡香(香气怡人)
    韵寒(即蕴涵)
    莉姿(具有公主或王后的一切风度与姿色)
    梦琪、忆柳、之桃、慕青、问兰、尔岚、元香、初夏、沛菡、傲珊、曼文、乐菱、痴珊、恨玉、惜文、香寒、新柔、语蓉、海安、夜蓉、涵柏、水桃、醉蓝、春儿、语琴、从彤、傲晴、语兰、又菱、碧彤、元霜、怜梦、紫寒、妙彤、曼易、南莲、紫翠、雨寒、易烟、如萱、若南、寻真、晓亦、向珊、慕灵、以蕊、寻雁、映易、雪柳、孤岚、笑霜、海云、凝天、沛珊、寒云、冰旋、宛儿、绿真、盼儿、晓霜、碧凡、夏菡、曼香、若烟、半梦、雅绿、冰蓝、灵槐、平安、书翠、翠风、香巧、代云、梦曼、幼翠、友巧、听寒、梦柏、醉易、访旋、亦玉、凌萱、访卉、怀亦、笑蓝、春翠、靖柏、夜蕾、冰夏、梦松、书雪、乐枫、念薇、靖雁、寻春、恨山、从寒、忆香、觅波、静曼、凡旋、以亦、念露、芷蕾、千兰、新波、代真、新蕾、雁玉、冷卉、紫山、千琴、恨天、傲芙、盼山、怀蝶、冰兰、山柏、翠萱、恨松、问旋、从南、白易、问筠、如霜、半芹、丹珍、冰彤、亦寒、寒雁、怜云、寻文、乐丹、翠柔、谷山、之瑶、冰露、尔珍、谷雪、乐萱、涵菡、海莲、傲蕾、青槐、冬儿、易梦、惜雪、宛海、之柔、夏青、亦瑶、妙菡、春竹、痴梦、紫蓝、晓巧、幻柏、元风、冰枫、访蕊、南春、芷蕊、凡蕾、凡柔、安蕾、天荷、含玉、书兰、雅琴、书瑶、春雁、从安、夏槐、念芹、怀萍、代曼、幻珊、谷丝、秋翠、白晴、海露、代荷、含玉、书蕾、听白、访琴、灵雁、秋春、雪青、乐瑶、含烟、涵双、平蝶、雅蕊、傲之、灵薇、绿春、含蕾、从梦、从蓉、初丹。听兰、听蓉、语芙、夏彤、凌瑶、忆翠、幻灵、怜菡、紫南、依珊、妙竹、访烟、怜蕾、映寒、友绿、冰萍、惜霜、凌香、芷蕾、雁卉、迎梦、元柏、代萱、紫真、千青、凌寒、紫安、寒安、怀蕊、秋荷、涵雁、以山、凡梅、盼曼、翠彤、谷冬、新巧、冷安、千萍、冰烟、雅阳、友绿、南松、诗云、飞风、寄灵、书芹、幼蓉、以蓝、笑寒、忆寒、秋烟、芷巧、水香、映之、醉波、幻莲、夜山、芷卉、向彤、小玉、幼南、凡梦、尔曼、念波、迎松、青寒、笑天、涵蕾、碧菡、映秋、盼烟、忆山、以寒、寒香、小凡、代亦、梦露、映波、友蕊、寄凡、怜蕾、雁枫、水绿、曼荷、笑珊、寒珊、谷南、慕儿、夏岚、友儿、小萱、紫青、妙菱、冬寒、曼柔、语蝶、青筠、夜安、觅海、问安、晓槐、雅山、访云、翠容、寒凡、晓绿、以菱、冬云、含玉、访枫、含卉、夜白、冷安、灵竹、醉薇、元珊、幻波、盼夏、元瑶、迎曼、水云、访琴、谷波、乐之、笑白、之山、妙海、紫霜、平夏、凌旋、孤丝、怜寒、向萍、凡松、青丝、翠安、如天、凌雪、绮菱、代云、南莲、寻南、春文、香薇、冬灵、凌珍、采绿、天春、沛文、紫槐、幻柏、采文、春梅、雪旋、盼海、映梦、安雁、映容、凝阳、访风、天亦、平绿、盼香、觅风、小霜、雪萍、半雪、山柳、谷雪、靖易、白薇、梦菡、飞绿、如波、又晴、友易、香菱、冬亦、问雁、妙春、海冬、半安、平春、幼柏、秋灵、凝芙、念烟、白山、从灵、尔芙、迎蓉、念寒、翠绿、翠芙、靖儿、妙柏、千凝、小珍、天巧。妙旋、雪枫、夏菡、元绿、痴灵、绮琴、雨双、听枫、觅荷、凡之、晓凡、雅彤、香薇、孤风、从安、绮彤、之玉、雨珍、幻丝、代梅、香波、青亦、元菱、海瑶、飞槐、听露、梦岚、幻竹、新冬、盼翠、谷云、忆霜、水瑶、慕晴、秋双、雨真、觅珍、丹雪、从阳、元枫、痴香、思天、如松、妙晴、谷秋、妙松、晓夏、香柏、巧绿、宛筠、碧琴、盼兰、小夏、安容、青曼、千儿、香春、寻双、涵瑶、冷梅、秋柔、思菱、醉波、醉柳、以寒、迎夏、向雪、香莲、以丹、依凝、如柏、雁菱、凝竹、宛白、初柔、南蕾、书萱、梦槐、香芹、南琴、绿海、沛儿、晓瑶、听春、凝蝶、紫雪、念双、念真、曼寒、凡霜、飞雪、雪兰、雅霜、从蓉、冷雪、靖巧、翠丝、觅翠、凡白、乐蓉、迎波、丹烟、梦旋、书双、念桃、夜天、海桃、青香、恨风、安筠、觅柔、初南、秋蝶、千易、安露、诗蕊、山雁、友菱、香露、晓兰、白卉、语山、冷珍、秋翠、夏柳、如之、忆南、书易、翠桃、寄瑶、如曼、问柳、香梅、幻桃、又菡、春绿、醉蝶、亦绿、诗珊、听芹、新之、易巧、念云、晓灵、静枫、夏蓉、如南、幼丝、秋白、冰安、秋白、南风、醉山、初彤、凝海、紫文、凌晴、香卉、雅琴、傲安、傲之、初蝶、寻桃、代芹、诗霜、春柏、绿夏、碧灵、诗柳、夏柳、采白、慕梅、乐安、冬菱、紫安、宛凝、雨雪、易真、安荷、静竹、代柔、丹秋、绮梅、依白、凝荷、幼珊、忆彤、凌青、之桃、芷荷、听荷、代玉、念珍、梦菲、夜春、千秋、白秋、谷菱、飞松、初瑶、惜灵、恨瑶、梦易、新瑶、曼梅、碧曼、友瑶、雨兰、夜柳、香蝶、盼巧、芷珍、香卉、含芙、夜云、依萱、凝雁、以莲、易容、元柳、安南、幼晴、尔琴、飞阳、白凡、沛萍、雪瑶、向卉、采文、乐珍、寒荷、觅双、白桃、安卉、迎曼、盼雁、乐松、涵山、恨寒、问枫、以柳、含海、秋春、翠曼、忆梅、涵柳、梦香、海蓝、晓曼、代珊、春冬、恨荷、忆丹、静芙、绮兰、梦安、紫丝、千雁、凝珍、香萱、梦容、冷雁、飞柏、天真、翠琴、寄真、秋荷、代珊、初雪、雅柏、怜容、如风、南露、紫易、冰凡、海雪、语蓉、碧玉、翠岚、语风、盼丹、痴旋、凝梦、从雪、白枫、傲云、白梅、念露、慕凝、雅柔、盼柳、半青、从霜、怀柔、怜晴、夜蓉、代双、以南、若菱、芷文、寄春、南晴、恨之、梦寒、初翠、灵波、巧春、问夏、凌春、惜海、亦旋、沛芹、幼萱、白凝、初露、迎海、绮玉、凌香、寻芹、秋柳、尔白、映真、含雁、寒松、友珊、寻雪、忆柏、秋柏、巧风、恨蝶、青烟、问蕊、灵阳、春枫、雪巧、丹萱、凡双、孤萍、紫菱、寻凝乐珍、寒荷、觅双、白桃、安卉、迎曼、盼雁、乐松、涵山、恨寒、问枫、以柳
    一些好听的男孩名字范例:
    辰逸 (让人觉得很舒服的名字,且和“沉毅”“诚意”二词同音)
    浩宇 (胸怀犹如宇宙,浩瀚无穷)
    瑾瑜 (出自成语---握瑾怀瑜,比喻拥有美好的品德)
    皓轩 (意为:光明磊落,气宇轩昂)
    擎苍 (顶天立地,男儿本色)(出自宋代诗人苏轼的《江城子`密州出猎》“...左牵黄,右擎苍...”)
    擎宇(不喜欢上面的哪个还可以选这个,意思相同)
    致远 (出自诸葛亮的《诫子书》:“非淡泊无以明志,非宁静无以致远”)
    烨磊 (光明磊落)
    晟睿(“晟”是光明、兴盛的意思;“睿”是智慧的意思)
    文博(文采飞扬,博学多才)
    天佑(生来就有上天庇佑的孩子)
    英杰(英俊杰出)
    致远 (出自诸葛亮的《诫子书》:“非淡泊无以明志,非宁静无以致远”)
    俊驰(出自成语:俊才星驰)
    雨泽 (恩惠像雨一样多)
    烨磊 (光明磊落)
    伟奇(伟大、神奇)
    晟睿(“晟”是光明、兴盛的意思,读shèng;“睿”是智慧的意思)
    文博(文采飞扬,博学多才)
    天佑(生来就有上天庇佑的孩子)
    文昊(昊的字意是:广大无边)
    修洁(修:形容身材修长高大,洁:整洁)
    黎昕 (黎:黎明 昕:明亮的样子 )
    远航(好男儿,就放他去远航吧)
    旭尧 (旭:旭日 尧:上古时期的贤明君主,后泛指圣人 )
    圣杰 (圣:崇高 杰:杰出 )
    俊楠 (俊:英俊 楠:坚固 )
    鸿涛 (鸿:旺盛,兴盛 )
    伟祺 (伟:伟大 祺 :吉祥 )
    荣轩 (轩:气度不凡 )
    越泽 (泽:广博的水源)
    浩宇 (胸怀犹如宇宙,浩瀚无穷)
    瑾瑜 (出自成语――握瑾怀瑜,比喻拥有美好的品德)
    皓轩 (意为:光明磊落,气宇轩昂)
    擎苍 (顶天立地,男儿本色)(出自宋代诗人苏轼的《江城子`密州出猎》“…左牵黄,右擎苍…”)
    擎宇(意思同上)
    志泽 (泽:广域的水源 )
    子轩 (轩:气度不凡 )
    睿渊 (睿智;学识渊博)
    弘文 (弘扬;文:文学家)
    哲瀚 (拥有广大的学问)
    雨泽 (恩惠)
    楷瑞 (楷:楷模;瑞:吉祥)
    建辉 (建造辉煌成就)
    晋鹏( 晋:进也,本义,上进 鹏:比喻前程远大 )
    天磊 (磊:众石累积 )
    绍辉( 绍:继承 辉:光辉 )
    浩南 (浩:浩大 )
    泽洋 (广阔的海洋 )
    鑫磊 (鑫:财富 )
    鹏煊 (煊:光明,读xuān )
    博文 (文韬武略,博大精深 )
    昊强 (昊:苍天,苍穹 )
    越泽 (越过广阔的水源 )
    旭尧 (旭:旭日 尧:为传说中上古的贤明君主,后泛指圣人)
    伟宸 (宸:古代君王的代称 )
    志泽 (泽:广域的水源 )
    博超 (博:博大 超:超越 )
    君浩 (君:君子 浩:浩大 )
    子骞 (骞:高举,飞起 )
    鹏涛 (鹏:比喻气势雄伟 )
    炎彬 (炎:燃烧 彬:形容文雅 )
    鹤轩 (鹤:闲云野鹤 轩:气度不凡 )
    伟泽 (伟:伟大 泽:广域的水源)
    越彬 (彬:形容文雅 )
    风华 (风华正茂 )
    靖琪 (靖:平安 琪:美玉 )
    明辉 (辉:光明 )
    伟诚 (伟:伟大 诚:诚实 )
    明轩 (轩:气度不凡 )
    绍辉 (辉:辉煌 )
    健柏((柏:松柏,是长寿的象征。“健柏”就是健康长寿的意思)
    英杰(英俊杰出)
    修杰(修:形容身材修长高大)
    志泽 (泽:广域的水源 )
    弘文 (弘扬,文:文学家)
    峻熙 (峻:高大威猛;熙:前途一片光明)
    嘉懿 (嘉:美好;懿:美好)
    煜城 (照耀城市)
    懿轩 (懿:美好;轩:气宇轩昂)
    烨伟 (烨:光耀)
    苑博 (博:博学)
    鹏涛 (鹏:比喻气势雄伟)
    炎彬 (炎:燃烧 彬:形容文雅)
    鹤轩 (鹤:闲云野鹤 轩:气度不凡)
    伟泽 (伟:伟大 泽:广域的水源)
    君昊 (君:君子 昊:苍天,苍穹)
    熠彤 (熠:光耀 彤:红色)
    鸿煊 (鸿:大也 煊:光明)
    博涛 (博:博学)
    苑杰 (杰:杰出)
    黎昕 (昕:明亮的样子)
    烨霖 (烨:光明)
    晋鹏 (晋:进也,本义,上进 鹏:比喻前程远大 )
    烨华 (烨:光耀)
    煜祺 (煜:照耀 祺:吉祥)
    智宸 (智:智慧 宸:古代君王的代称)
    正豪 (豪:豪气)
    昊然 (昊:苍天,苍穹)
    明杰 (明智,杰出)
    立诚 (诚:诚实)
    立轩 (轩:气度不凡)
    立辉 (辉:辉煌)
    峻熙 (峻:高大威猛;熙:前途一片光明)
    嘉懿 (嘉:美好;懿:美好)
    煜城 (照耀城市)
    懿轩 (懿:美好;轩:气宇轩昂)
    烨华 烨:光耀
    煜祺 煜:照耀 祺:吉祥
    智宸 智:智慧 宸:古代君王的代称
    正豪 豪:豪气
    昊然 昊:苍天,苍穹
    志泽 (泽:广域的水源 )
    明杰 明智 杰出
    弘文 (弘扬;文:文学家)
    烨伟 烨:光耀
    苑博 博:博学
    鹏涛 鹏:比喻气势雄伟
    炎彬 炎:燃烧 彬:形容文雅
    鹤轩 鹤:闲云野鹤 轩:气度不凡
    伟泽 伟:伟大 泽:广域的水源
    君昊 君:君子 昊:苍天,苍穹
    熠彤 熠:光耀 彤:红色
    鸿煊 鸿:大也 煊:光明
    博涛 博:博学
    苑杰 杰:杰出
    黎昕 昕:明亮的样子
    烨霖 烨:光明
    哲瀚 (拥有广大的学问)
    雨泽 (恩惠)
    楷瑞 (楷:楷模;瑞:吉祥)
    建辉 (建造辉煌成就)
    致远 (出自诸葛亮的《诫子书》:“非淡泊无以明志,非宁静无以致远”)
    俊驰(出自成语:俊才星驰)
    雨泽 (恩惠像雨一样多)
    烨磊 (光明磊落)
    国豪(国人因它而自豪)
    伟奇(伟大、神奇)
    文博(文采飞扬,博学多才)
    天佑(生来就有上天庇佑的孩子)
    文昊(昊的字意是:广大无边)
    修杰(修:形容身材修长高大)
    黎昕 (黎:黎明 昕:明亮的样子 )
    远航(好男儿,就放他去远航吧)
    旭尧 (旭:旭日 尧:上古时期的贤明君主,后泛指圣人 )
    英杰(英俊杰出)
    圣杰 (圣:崇高 杰:杰出 )
    鑫鹏 鑫:财富 鹏:比喻气势雄伟
    俊楠 (俊:英俊 楠:坚固 )
    鸿涛 (鸿:旺盛,兴盛 )
    伟祺 (伟:伟大 祺 :吉祥 )
    荣轩 (轩:气度不凡 )
    浩宇 (胸怀犹如宇宙,浩瀚无穷)
    晋鹏 晋:进也,本义,上进 鹏:比喻前程远大
    瑾瑜 (出自成语――握瑾怀瑜,比喻拥有美好的品德)
    昊天 思聪 展鹏 笑愚 志强 炫明 雪松 思源 智渊 思淼
    晓啸 天宇 浩然 文轩 鹭洋 振家 乐驹 晓博 文博 昊焱
    立果 金鑫 锦程 嘉熙 鹏飞 子默 思远 浩轩 语堂 聪健
    April 18

    我的五月运

    射手座

    总运指数:★★★☆☆

    本月运势相对平稳,感情上偶有矛盾和口角,不过,每次矛盾解除后都会让彼此多一份了解,对这份感情也更加珍惜;事业上升的趋势比较强烈,工作中的上佳表现让你有机会加薪;财运不错,收入多于支出,理性消费能让你积攒不少财富,投资上可以多听取专家的意见,小额投资易有不少收获。

    爱情指数:★★★☆☆

    单人爱情际遇:

    单身者在月初显得非常活跃,会积极主动向心仪的对象发起攻势,往往因为太过热情,让对方对你的“慇勤”感觉有些不自在。到了中旬,你的时间大多被工作占用,在事业上非常努力的表现易让你得到不少异性同事的欣赏,若能好好把握,能开始一段美好的爱情。

    双人恋情发展:

    有伴的人本月容易遇到不少感情的麻烦事。因为太专注于工作,另一半有种被冷落的感觉,不时会为了发泄情绪跟你小吵小闹,也易因观念不同而发生口角。倘若你能主动退让,则能减少许多摩擦。

    事业学业:★★★★☆

    工作者:

    有机会接手高难度工作,虽然非常忙碌,但你表现出的睿智和勇于挑战的精神让上司对你非常赏识。工作中的人际关系也处理得不错,忙碌中你还会抽出时间帮助身边的同事,建立起良好的人脉关系,对日后的工作进展很有利。

    学生族:

    学生族在本月显得很安静,把更多精力集中到学习中。有旺盛的求知欲,对比较模糊的知识点会主动去钻研,成绩明显进步。

    投资理财:★★★☆☆

    工作收入不错,钱包充实不少,拿出一部分钱来投资的想法越来越强烈。妥善投资的确有可观的回报,切忌过于冲动,小额的投资能让你得到不少回报,还能学到许多投资技巧。

    健康:普通

    优势:睿智、勇于挑战而且热心助人,人际关系很好。

    弱势:工作太忙碌而冷落了另一半,摩擦较多。

    休闲解压:晒太阳

    开运物品:钢笔

    贵人方位:东北方向

    期待中~~~~天使天使天使

    April 15

    生活流水账

    忙忙碌碌了一阵子,又好久没有更新我的空间了尴尬天气终于转暖了,借着今早灿烂的阳光,俺萌生了一种要写点咚咚的念头,于是乎:生活流水账。。。哈哈
    所有的同学、朋友们都在忙碌的工作着,为了生活、为了自己的理想,而我也是一样天使
    朋友并不很关心你飞的高不高,而是非常关心你飞的累不累,不知道身在各地的兄弟姐妹们,你们现在过得好吗?真的希望能再次与你们共享生活的片断,所以,日志要加油写哦!吐舌
    周末跟室友一起看了《国家宝藏2》,自我感觉不算满意,过多的套用了第一步的套路,就连后面点火的效果都是几近相似,害得我差点睡着了(也或许是学车累得生病),还好尼古拉斯凯奇依然是那般的帅,也算是没白看吧天使,期待他的下一步新作。。。
    突然想到5.1黄金周已经被改到三天了哦,看来这短短的时间也干不了什么大事儿了大笑,或许,要应老爸的邀请,去参加他同学家孩子的婚礼,顺便让自己也沾点喜气吧!
    每一天的太阳都是新的,同样,只要你肯努力,每一天的生活都是充满希望的,希望身在各地的各位好朋友们感受着明媚的阳光时,也能感受到我永恒的祝福!顺便也把这份祝福送给我自己吧天使,2008年是不寻常的一样,希望在我身边也会发生一些不寻常的事儿吐舌
    March 24

    遐想

    新的一周开始了,度过了悠闲的周末之后,又回到我的办公桌前开始工作了,不过开了电脑,却始终静不下心来给自己安排点正事儿做失望
    难道还沉浸在周末里?困惑
    不由自主地再次打开我的共享空间,顺便看看发生在朋友们身边的事情,不由得感触万千。。。
    时间过得真快呀,转眼我已走过了我的学生时代,开始为生活奔波了,虽说已经工作一年了,可似乎我从今年开始也才真正的进入状态尴尬
    现在的生活当中,已经很少再有往日里跟同学们一起打闹嘻嘻的一幕,好在公司里的同事们都很友好,但似乎总跟学生时代有些不太一样。说不出的感觉了。。。
    最近还总张罗着本科同学的聚会,不过去外地的、出差的占了绝大多数,唉,一切都只剩下回忆了聚会
    March 17

    看我七十二变

    一个新的工作周开始了,好在这阵子不算忙,闲暇时想到了为自己做点儿什么正在思考
    恩,我的发型还有着装吐舌。总在讲台上讲课,为了营造一种资深、老成的IT讲师形象,这阵子一直把自己打扮得很成熟,教学效果倒是达到了,只是,让自己的穿着跟年龄有些不符困惑。人家都是喜欢往年轻了打扮,我却要特意让自己显得老成,唉,真有些对不住自己哭泣......
    当机立断,yesterday俺决定变回俺自己原来的样子!首先,来到一家发型工作室,为自己打造了一款活泼的卷发,扎起来,显得更可爱的天使。第二步,来到商场,为自己从上到下置办了一身休闲装,恩,基本满意,不过也正应了“女人要对自己狠一点”那句话,发誓这个月不再乱买东西了生病
    早上的天气很晴朗,俺的心情也不错,嘻嘻有棕榈树的小岛。来到办公室,果然,同事们都不认识俺了,估计再去图书馆得出示工作证了,不然还不得把我当成student,汗一下。也不知道这个造型能持续多久,先让周围的人适应一下再说,当是帮他们改变一下环境吧!哈哈大笑
    等有机会俺贴两张照片上来吧,让兄弟们见识一下,到时候可别把我ps了哈!讽刺
     
    March 15

    享受周末

    自从开了个人空间之后还从来没有在上面说点什么呢,不过倒是经常看到朋友们的空间里经常记录着很多新鲜事儿有棕榈树的小岛。今天俺闲来无事,也上来整两句吧,一来让大家知道俺没有人间蒸发了大笑,二来作为自己生活片段的一个回忆录吧!hoho~~
    今天,是3.15,天,居然是个很特殊的日子哦!很有纪念意义,也是俺开始执笔的纪念日!哈哈大笑。。。
    周末了,本打算好好在家复习一下驾驶的理论题,不过还是不忍心关掉我可爱的电视,《女人不易做》,很不错的一个片子哦,适合女士们看,推荐一下!广告时间过去了,俺又要接着看了。。。
    预知后事如何,请看下回分解吐舌
    October 23

    用JFreeChart画统计分析柱状图

    我们介绍使用 JFreeChart 生成柱状图,首先从一个最简单的例子开始。
    一 最简单的例子 为了降低门槛,让大家心理有个底,先介绍一个简单的不能再简单的例子,图片中的各类属性都采用默认值。 <%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="org.jfree.chart.ChartFactory,
    org.jfree.chart.JFreeChart,
    org.jfree.chart.plot.PlotOrientation,
    org.jfree.chart.servlet.ServletUtilities,
    org.jfree.data.DefaultCategoryDataset"%>
    <%

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.addValue(300, "广州", "苹果");
    dataset.addValue(200, "广州", "梨子");
    dataset.addValue(500, "广州", "葡萄");
    dataset.addValue(340, "广州", "芒果");
    dataset.addValue(280, "广州", "荔枝");
    JFreeChart chart = ChartFactory.createBarChart3D("水果销量统计图","水果","销量",dataset,PlotOrientation.VERTICAL,false,false,false);
    String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
    String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
    %>
    <IMG height=300 src="<%= graphURL %>" width=500 useMap="#<%= filename %>" border=0>
    这个 JSP 程序运行的结果如下图

    PieChart1
    图 一

    二 柱状图高级特性
            上面的程序简单,但生成的柱状图也很简单。更多的时候,我们可能需要不同的效果。org.jfree.chart.ChartFactory 这个工厂类有createBarChart,createStackedBarChart,createBarChart3D,createStackedBarChart3D这几个工厂方法创建不同类型的柱状图。关于这四个方法的 JFreeChart 的 Java Doc API 文档有详细说明,比较重要的是 PlotOrientation.VERTICAL 让平行柱垂直显示,而 PlotOrientation.HORIZONTAL 则让平行柱水平显示。
    几个对柱状图影响较大的几个类,它们分别是:
    org.jfree.chart.axis.CategoryAxis
    org.jfree.chart.axis.ValueAxis
    org.jfree.chart.renderer.BarRenderer
    org.jfree.chart.renderer.BarRenderer3D 我们还是以实例来说明这几个类,先来假设一个需要统计的数据表:

    北京 上海 广州 成都 深圳
    苹果 672 766 223 540 126
    梨子 325 521 210 340 106
    葡萄 332 256 523 240 526
    根据上表数据,首先构造 CategoryDataset, 这里不再使用上面简单例子里面的 DefaultCategoryDataset 类,而是 DatasetUtilities 更有效的构造 CategoryDataset,如下列代码:

    double[][] data = new double[][] {{672, 766, 223, 540, 126}, {325, 521, 210, 340, 106}, {332, 256, 523, 240, 526} };
    String[] rowKeys = {"苹果","梨子","葡萄"};
    String[] columnKeys = {"北京","上海","广州","成都","深圳"};
    CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);

    用上面的 dataset 生成的 3D 柱状图

    PieChart2
    图 二
    org.jfree.chart.axis.CategoryAxis
    CategoryAxis domainAxis = plot.getDomainAxis();
    //设置 columnKey 是否垂直显示
    domainAxis.setVerticalCategoryLabels(true);
    //设置距离图片左端距离
    domainAxis.setLowerMargin(0.1);
    //设置距离图片右端距离
    domainAxis.setUpperMargin(0.1);
    //设置 columnKey 是否间隔显示
    domainAxis.setSkipCategoryLabelsToFit(true);
    plot.setDomainAxis(domainAxis);
    上面代码产生的效果如下图,注意与图二的区别。

    PieChart4
    图 三
    org.jfree.chart.axis.ValueAxis

    ValueAxis rangeAxis = plot.getRangeAxis();
    //设置最高的一个柱与图片顶端的距离
    rangeAxis.setUpperMargin(0.15);
    //设置最低的一个柱与图片底端的距离
    //rangeAxis.setLowerMargin(0.15);
    plot.setRangeAxis(rangeAxis);


    上面代码产生的效果如下图,注意与图二的区别。

    PieChart5
    图 四
    org.jfree.chart.renderer.BarRenderer3D


    BarRenderer3D renderer = new BarRenderer3D();
    renderer.setBaseOutlinePaint(Color.BLACK);
    //设置 Wall 的颜色
    renderer.setWallPaint(Color.gray);
    //设置每种水果代表的柱的颜色
    renderer.setSeriesPaint(0, new Color(0, 0, 255));
    renderer.setSeriesPaint(1, new Color(0, 100, 255));
    renderer.setSeriesPaint(2, Color.GREEN);
    //设置每种水果代表的柱的 Outline 颜色
    renderer.setSeriesOutlinePaint(0, Color.BLACK);
    renderer.setSeriesOutlinePaint(1, Color.BLACK);
    renderer.setSeriesOutlinePaint(2, Color.BLACK);
    //设置每个地区所包含的平行柱的之间距离
    renderer.setItemMargin(0.1);
    //显示每个柱的数值,并修改该数值的字体属性
    renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setItemLabelFont(new Font("黑体",Font.PLAIN,12));
    renderer.setItemLabelsVisible(true);

    上面代码产生的效果如下图,注意与图二的区别。

    PieChart6
    图 五
    补充两个有用的方法
    补充 org.jfree.chart.plot.CategoryPlot 的两个方法,这两个方法对所有类型的图表都有作用,因为在前面没有介绍,这里补充一下。


    //设置地区、销量的显示位置
    plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);

    上面代码产生的效果如下图,注意与图二的区别。

    PieChart7
    图 六三 完整范例
    前面都是一些代码片段,现在把这些片段组合成一个完整范例。

    <DIV class=code>
    <%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="java.awt.Color,
    java.awt.Font,
    org.jfree.chart.ChartFactory,
    org.jfree.chart.JFreeChart,
    org.jfree.chart.plot.PlotOrientation,
    org.jfree.chart.servlet.ServletUtilities,
    org.jfree.data.CategoryDataset,
    org.jfree.data.DatasetUtilities,
    org.jfree.chart.plot.CategoryPlot,
    org.jfree.chart.axis.CategoryAxis,
    org.jfree.chart.axis.ValueAxis,
    org.jfree.chart.renderer.BarRenderer3D,
    org.jfree.chart.labels.StandardCategoryItemLabelGenerator,
    org.jfree.chart.axis.AxisLocation"%>
    <%
    double[][] data = new double[][] {
    {672, 766, 223, 540, 126},
    {325, 521, 210, 340, 106},
    {332, 256, 523, 240, 526}
    };
    String[] rowKeys = {"苹果","梨子","葡萄"};
    String[] columnKeys = {"北京","上海","广州","成都","深圳"};
    CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);
    JFreeChart chart = ChartFactory.createBarChart3D("水果销量图统计",null,null,dataset,
    PlotOrientation.VERTICAL,true,false,false);
    chart.setBackgroundPaint(Color.WHITE);
    CategoryPlot plot = chart.getCategoryPlot();
    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setVerticalCategoryLabels(false);
    plot.setDomainAxis(domainAxis);
    ValueAxis rangeAxis = plot.getRangeAxis();
    //设置最高的一个 Item 与图片顶端的距离
    rangeAxis.setUpperMargin(0.15);
    //设置最低的一个 Item 与图片底端的距离
    rangeAxis.setLowerMargin(0.15);
    <BR>plot.setRangeAxis(rangeAxis);
    BarRenderer3D renderer = new BarRenderer3D();
    renderer.setBaseOutlinePaint(Color.BLACK);
    //设置 Wall 的颜色<BR>
    renderer.setWallPaint(Color.gray);
    //设置每种水果代表的柱的颜色
    renderer.setSeriesPaint(0, new Color(0, 0, 255));
    renderer.setSeriesPaint(1, new Color(0, 100, 255));
    renderer.setSeriesPaint(2, Color.GREEN);
    //设置每个地区所包含的平行柱的之间距离
    renderer.setItemMargin(0.1);
    //显示每个柱的数值,并修改该数值的字体属性<BR>
    renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setItemLabelsVisible(true);
    plot.setRenderer(renderer);
    //设置柱的透明度<BR>
    plot.setForegroundAlpha(0.6f);
    //设置地区、销量的显示位置<BR>
    plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session);
    String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
    %s>
    <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>"&gt;
    </DIV>
    看看程序运行的结果吧:

    PieChart8

    图 七

    三 总结


    我只介绍了少量的方法,更多的请参考 JFreeChart 的 Java Doc API 文档和 Sample Code。

    初识 JMS [转]

        自己搞了J2EE这么久,EJB/JNDI/RMI/JTA这些都了解的七七八八。但是,对于JMS这个东东,只听说在EJB的消息bean中有用到过,一直以来俺都敬而远之。最近公司要做一个国外的外包项目,里头有涉及到JMS的技术,现在只能临时抱佛脚。互联网上关于JMS的文章少之又少,没办法,只有自力更生,硬是查看了SUN的官方技术API文档,也算是初步揭开JMS这个神秘的面纱吧。

    JMS的基本概念

        JMS(Java Message Service) 的主要目的是为了在我们的Java程序之间用分布式的方式实现对消息的创建、发送、接收和读取。一个典型的JMS应用,主要包含以下几个部分:
    ●JMS Provider -- JMS的核心模块,用来控制和管理JMS应用。如果说JMS整个是一个十字路口,那么这个Provider应该就充当交通信号灯和
    交警的角色了。
    ●JMS Clients -- 接收和发送message的Java程序终端,简单的说应该就是交互的源/目标对象,可以有一个或多个Clients存在。
    ●Messages -- 在JMS Clients中间传递交互的消息对象,这是JMS最基本的媒体单元。
    ●Administered Objects --  由JMS Provider创建和定义,然后提供给JMS Clients使用。 JMS定义了两种 Administered Objects:
      1) ConnectionFactory:提供给Clients使用,用来建立和JMS Provider之间的连接。
      2) Destination:在Clients之间交互时,携载了消息对象的发送源与接收目标。
    ●JMS Clients是通过JNDI的方式来查找这些Administered Objects的。
    ●Non-JMS Clients -- 使用本地消息的API来实现的Clients。

        此外,JMS可以在不同的域对象之间实现以下两种方式的消息传输机制:PTP(Point-to-Porint)和Pub/Sub(Publish-and-Subscribe),这两种方式可以并存于同一个应用之中。PTP是点对点传输消息,建立在消息队列的基础上,每个客户端对应一个消息队列,客户端发送消息到对方的消息队列中,从自己的消息队列读取消息。 Pub/Sub是将消息定位到某个层次结构栏目的节点上,Pub/Sub通常是匿名的并能够动态发布消息,Pub/Sub必须保证某个节点的所有发布者(Publisher)发布的信息准区无误地发送到这个节点的所有消息订阅者(Subscriber)。

        我们不需要仔细去了解这两种方式的意义,JMS在此提供了一个更加统一的实现方式,该方式主要有以下几个接口:ConnectionFactory、Connection、Destination、Session(消息交互线程的上下文环境)、MessageProducer(消息的发送者)、MessageConsumer(消息的接收者)。

    使用JMS API不仅使通信变得松散耦合,而且它还使通信变得:
    ●异步:JMS提供者将到来的消息发送给客户,客户不用发送请求接收消息。
    ●可靠:JMS API确保消息传送一次而且只传送一次。可靠性差的应用程序可能会丢失消息或者重复接收消息

    这里,我不想详细去写一个JMS应用的Demo。简单的就其API文档所提供的资料,来总结一下吧。

    JMS应用中的消息发送

    1、获得一个上下文环境:
    Context ctx = new InitialContext();
    2、通过JNDI查找来建立一个ConnectionFactory对象:
    ConnectionFactory cf = (ConnectionFactory) ctx.lookup("java:JmsXA");
    3、通过JNDI查找来建立一个或多个Destination对象:
    Destination dest = (Queue) ctx.lookup("queue/A");  
    4、通过ConnectionFactory创建一个JMS Connection连接:
    Connection conn = cf.createConnection();
    5、创建一个或多个JMS Session对象:
    Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
    6、使用一个Session对象和Destination对象,合作创建一个MessageProducer(消息发送端):
    MessageProducer msgp = session.createProducer(dest);   //此处的dest已经被强制为P2P Queue对象
    QueueSender sender = (QueueSender) msgp; 
    //此处发送端指明采用的是 PTP的方式来实现JMS。当然你也可以用Pub/Sub的方式来实现
    Destination dest = (Topic) ctx.lookup("queue/A");  
    ...
    TopicPublisher sender = (TopicPublisher) msgp;
    7、通过某个Session建立一个或多个JMS Message对象:
    //此处仅以文字消息发送为例,您也可以建立和发送MapMessage, BytesMessage, ObjectMessage, StreamMessage
    TextMessage msg = session.createTextMessage();
    msg.setText("消息详细内容");
    8、在已有的连接上,开始发布我们已经建立好的消息对象:
    sender.send(msg);
    9、关闭已经建立的连接:
    conn.close();

    JMS应用中的消息接收

    1-5:同发送过程的初始化步骤1-5,因为是消息的接收方,JNDI的寻址方式应该同于发送方,这里的JNDI相当于是双方接头的暗号。
    6、使用一个Session对象和Destination对象,合作创建一个MessageConsumer(消息接收端):
    MessageConsumer msgconsumer = session.createConsumer(dest);
    7、启动这个已经建立的连接,准备接收来自发送方的消息:
    conn.start();
    8、截获来自发送端的消息:
    TextMessage msg = (TextMessage) msgconsumer.receive();
    String message = msg.getText();
    9、关闭已经建立的连接:
    conn.close();

    以上的消息接收端成功的接收了一条消息,如果我们要监控JMS消息的接收事件,需要在第7步之前,声明一个实现了MessageListener接口的对象:
    MessageListener ml = new JmsListenner();  
    msgConsumer.setMessageListener(ml); 
    这里的JmsListenner是我们自定实现的一个MessageListener,其中关键的事件是:
    public void onMessage(Message message);
    一个Session对象可以同时控制旗下的多个Consumer对象和MessageListener对象,但是这个Session是一个单线程模式的传递机制,即:必须在当前Message对象被onMessage处理之后,才能继续接收下一条异步传送过来的Message对象。

    总结

    以上是我对JMS的一个初步的了解,也希望在以后的工作中对此有更进一步的认识,很乐意和大家探讨 :)

    离线状态下,解析XML出错 [转]

    在最近的一个项目中,我用到Dom4j去解析现有的Spring2.0中的bean节点,从中获取一些公用的属性信息。

    java 代码
    1. // Get params of hsql setting from web context   
    2. SAXReader xmlReader = new SAXReader();   
    3. Document doc = xmlReader.read(getSpringContextFilePath(sce));   
    4. Element beanNode = (Element) doc.selectSingleNode("/beans/bean[@id='DatabaseParam']");  


    这段代码在电脑连接到互联网上的时候工作都正常,但是如果电脑在端线状态的时候就会报错如下:

    org.dom4j.DocumentException: http://www.springframework.org/ Nested exception: http://www.springframework.org/
    at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    at org.dom4j.io.SAXReader.read(SAXReader.java:321)
    at com.adeptra.demo.SystemListener.contextInitialized(SystemListener.java:86)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    Nested exception:
    java.net.UnknownHostException: http://www.springframework.org/
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
    at java.net.Socket.connect(Socket.java:507)
    at java.net.Socket.connect(Socket.java:457)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
    ....

    看错误的提示,应该是说现在电脑无法找到一个http://www.springframework.org/ 的网络主机。

    仔细察看一下Spring的配置文件头,里面有如下的一个头文件注释:

    xml 代码
    1. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">   

    问题就出现在这里!xmlReader.read 读取Spring配置文件的时候报错。

    所以,我们需要替换掉这里的http://www.springframework.org/ 为一个本地的dtd文件。如何替换呢?

    可以考虑将这里的http:///协议的路径改为一个file:/// 方式的本地文件,但是这样路径就指定死了,不便于程序移植。

    另外一种方案就是,为这里的xmlReader添加一个EntiyResolver:

    java 代码
    1. // Set a resolver for reader to locate dtd file for Spring   
    2. xmlReader.setEntityResolver(new EntityResolver()   
    3. {   
    4.     public InputSource resolveEntity(String publicId,   
    5.             String systemId)   
    6.     {   
    7.         if (publicId.equals("-//SPRING//DTD BEAN//EN"))   
    8.         {   
    9.             InputStream in = getClass().getResourceAsStream(   
    10.                     "/spring-beans-2.0.dtd");   
    11.             return new InputSource(in);   
    12.         }   
    13.         return null;   
    14.     }   
    15. });  

    这样,每一次的xmlReader调用时,dom4j首先就会去从本地的classpath下面去寻找一个相应的dtd去处理,问题也就迎刃而解了。

    可能有人有另外的疑问了,为什么Spring本身解析xml没有出现过这个错误呢? 其实Spring会首先在本地的固定路径中寻找spring-beans-2.0.dtd文件(具体在spring-beans.jar包中的com.springframework.beans.factory.xml路径下),如果找不到,然后才会参照DOCTYPE中的地址去寻找。

    October 18

    再述oracle数据库体系结构 之二:逻辑结构 [转]

    第六篇 再述oracle数据库体系结构 之二:逻辑结构
        oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema)。
        oracle数据库在逻辑上是由多个表空间组成的,表空间在物理上包含一个或多个数据文件。而数据文件大小是块大小的整数倍;表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块大小的整数倍。

    一、表空间
    1.什么是表空间?

        表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。
        表空间具有在线(online)和离线(offline)属性,可以将除SYSTEM和RBS以外的其他作何表空间置为离线。
        查询表空间的文件信息:SELECT * FROM DBA_DATA_FILES。查询表空间的空闲空间信息:SELECT * FROM DBA_FREE_SPACE。若表空间的剩余空间不够,可以重新设置数据文件的大小:ALTER DATABASE DATAFILE 'filenamespec' RESIZE 500m。查询数据库中的表空间信息:SELECT * FROM DBA_TABLESPACE。

    2.表空间的特性
    a.限制用户可以使用的磁盘空间大小
    SQL>ALTER USER user1 QUOTA 100M ON tablespace1
    b.设置为离线、在线、只读、读写
    SQL>ALTER TABLESPACE tbs1 ONLINE;
    SQL>ALTER TABLESPACE tbs1 OFFLIKE;
    SQL>ALTER TABLESPACE tbs1 READ ONLY;
    SQL>ALTER TABLESPACE tbs1 READ WRITE;
      注意,在表空间被设置为READ ONLY或OFFLINE之后,该表空间数据文件的同步信息将不能改变,从而会造成不同步。在表空间置为READ WRITE或ONLINE之后,使用命令ALTER SYSTEM SWITCH LOGFILE强制执行多次日志切换后,系统自动保持所有数据文件的同步。
      不能将SYSTEM表空间置为READ ONLY或OFFLINE。如果undo空间中已经创建了回退段,且该回退段的状态为ONLINE,则undo表空间不能设置为READ ONLY或OFFLINE。
    c.备份与恢复表空间
      数据库备份时,可以只备份一个独立的表空间。表空间备份可以在线执备份也可以离线冷备份。
    d.优化I/O性能,应将表空间中的各数据文件放在不同的磁盘以平衡I/O。

    3.临时表空间
      临时表空间用于为用户排序的ORDER BY语句使用。创建数据库时可以指定数据库的默认临时表空间。在创建用户的时候可以指定用户的默认临时表空间。
    SQL>CREATE USER fey IDENTIFIED BY 12345 TEMPORARY TABLESPACE temp;
      在oracle8i中,如果创建用户时未指出用户的临时表空间,系统使用SYSTEM表空间作为该用户的临时表空间。而在oracle10g中,如果创建用户时未指出用户的临时表空间,系统使用TEMP表空间作为该用户的临时表空间。

    二、段
      数据库的段可以分为四类:数据段、索引段、回退段、临时段。
    1.数据段
      数据段是用于存储数据的段,他存储在数据表空间中。每一个表都有一个数据段(聚簇除外),表的数据存储在数据段中,默认情况下段名与表名相同。以下语句查询段的信息:
    SQL>SELECT SEGMENTNAME,TABLESPACE,NAME,BYTES,BLOCKS FROM USER_EXTENTS;

    2.索引段
      索引段用于存储索引,以下语句查询索引信息:
    SQL>SELECT * FROM ALL_INDEXS
    SQL>SELECT * FROM USER_INDEXS

    3.回退段
      回退段用于存储用户数据修改之前的值,因而可以在特定条件下回退数据。回退段与事务是一对多的关系,一个事务只能使用一个回退段,而一个回退段可存放一个或多个事务的回退数据。
      在oracle8i及之前的版本中,管理回退段是项很复杂的工作,管理员需要根据每个事务的大小和事务数量来确定、计算回退段的数量及存储参数,在oracle9i之后,oracle增加了undo表空间,由系统自动管理它。从此不再需要考虑对回退段的管理。参数undo_management决定数据库使用的是回退段还是undo表空间,其值为auto表示使用undo表空间自动管理,manual表示手动管理回退段。

    4.临时段
      临时段用于order by语句的排序以及一些汇总。

    三、区
      区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区存储于段中,它由连续的数据块组成。
      一个段中,最小的区的个数是由参数MINEXTENTS来确定。参数MAXEXTENTS决定一个数据段中的区的最大个数。这些参数是可以在线动态修改的。
      区的分配过程中,每次至分配5个区,如果所剩的空闲空间不够5个区,就会出现错误:ORA-01653。
      可以通过字典dba_tablespace查询表空间中区的信息。可以通过字典user_table查询段中区的信息。可以通过字典user_extents查询区的分配状况。

    四、数据块
      数据块是数据中中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O 的最小单位,数据块大小由DB_BLOCK_SIZE参数决定,不同的oracle版本DB_BLOCK_SIZE的默认值是不同的。
      9i以前的版本只能设定一种块大小,在9i及10g中,可以设定多种块大小,不同表空间可以指定不同的块大小。

    五、模式对象
      模式对象是一种应用,包括:表、视图、聚簇、索引序列生成器、同义词、哈希、程序单元、数据库链等。模式对象以后在oracle schema专栏中详细说明。
        

    再述oracle数据库体系结构 之一:物理结构 [转]

    在一个服务器中,每一个运行的数据库都有一个数据库实例(instancename) 相联系。数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),即构成了oracle的内存结构。然后启动若干个常驻内存的操作系统进程,即组成了oracle的进程结构。除此之外,还有数据库的物理与逻辑结构。数据库体系统结构图可以参考第一篇。在接下来的篇幅中将分五篇来详细说明oracle数据库的体系结构。
    • oracle物理结构
    • oracle逻辑结构
    • oracle内存结构
    • oracle进程结构
    • oracle连接配置结构

      因为我的学习路线与学任何东西一样,分四个阶段,先需了解总体结构和原理,然后再进一步型清楚他们,第三再分块理解吸收,最后再综合提升。当然动手做试验须贯穿始终。

      本篇说明物理结构。

      物理结构,即oracle数据库使用的操作系统文件结构。对于数据库物理结构文件,不同的oracle版本,不同的操作系统平台上有不同的存储目录结构。

    • winnt  | d:\oracle\product\10.1.0\oradata\DB_NAME\*.*(oracle 10g);d:\orant\database\*.*(oracle7,oracle8)
    • Unix | /home/app/oracle/product/10.1.0/oradata/DB_NAME/*.*(10g);/home/app/oradata/db_name/*.*(8i,9i)

      数据库的物理结构文件按其作用可以分为三类:

    • 数据文件
    • 日志文件
    • 控制文件

    一、数据文件

      数据文件用来存储数据库的数据,如表、索引等。读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。这是为了减少I/O,如果读取数据时,缓冲区中已经有要读取的数据,就不需要再从磁盘中读取了。存储数据时也是一样,事务提交时改变的数据先存储到内存缓冲区中,再由oracle后台进程DBWR决定如何将其写入到数据文件中。

    1.查询数据文件的信息

    sql>select * from dba_data_files或

    sql>select * from v$datafile(此数据字典包含文件的动态信息)

    一个数据文件只与一个数据库相联系。数据文件的大小是可以改变的。可以通过以下语句查询表空间的空间空闲量

    sql>select * from dba_free_space

    2.修改数据文件的大小

    sql>alter database datafile "d:\...\df1.dbf" resize 800m

    3.数据库文件的自动扩展特性。请看下面的例子:

    sql>alter tablespace tbs1 add datafile "d:\...\df2.dbf" size 500m autoextend on next 50m maxsize 1000m

    sql>alter database mydb1 datafile "d:\...\df2.dbf","d:\...\df3.dbf" autoexetend off

    sql>alter database mydb1 datafile "d:\...\df2.dbf","d:\...\df3.dbf" autoexetend on next 30m maxsize unlimited

    二、重做日志文件

      重做日志文件记录对数据库的所有修改信息。它是三类文件中最复杂的一类文件,也是保证数据库安全与数据库备份与恢复有直接关系的文件。

     1.日志文件组与日志成员

      在每一个oracle数据库中,至少有两个重做日志文件组。每组有一个个或多个重做日志文件,即日志成员。同一组中的成员是镜像关系,它们存储的内容是一模一样的。oracle在写日志时,以一个日志组为逻辑单位写入,只在将日志都写入日志组中的每个成员文件中后,写日志才完成。

    2.日志工作原理

      oracle有多个日志文件组,当一个日志文件组中所有的成员所有的成员同时被写满数据时,系统自动转换到下一个日志文件组,这个转换过程称为日志切换。

      当日志切换后,会给前一个日志组编一个号,用于归档日志的编号,这个编号称为日志序列号。此编号由1开始,每切换一次,序列号自动加1,最大值受参数MAXLOGHISTORY限制,该参数的最大值为65534。

      当oracle把最后一个日志组写满了以后,自动转向第一个日志组,这时,再向第一个日志组写日志的时候,如果数据库运行在非归档模式下,这个日志组中的原有日志信息就会被覆盖。

      使用以下语句查询日志文件信息:

    sql>select * from v$log

    相关字段说明如下:

    GROUP#:日志文件组号

    THREAD#:日志文件线程号,一般为1,双机容时为2

    SEQUENCE#:日志序列号

    BYTES:日志文件大小

    MEMBERS:该组的日志成员个数

    ARC:该组日志信息是否已经完成归档

    STATUS:该组状态(CURRENT:表示当前正在使用的组;NACTIVE:表示非活动组;ACTIVE:表示归档未完成)

    FIRST_CHANGE#:系统改变号SCN,也叫检查点号

    FIRST_TIME:系统改变时间

    DBA可以使用下列命令进行强制日志切换

    sql>alter system switch logfile

     3.NOARCHIVELOG/ARCHIVELOG

      NOARCHIVELOG是非归档模式,如果数据库运行在这种模式下,当日志切换时,新切换到的日志组中的日志信息会被覆盖。ARCHIVELOG:归档模式,如果数据库运行在这种模式下,日志会被归档存储,产生归档日志,且在未归档之前,日志不允许被覆盖写入。

      要确认数据库的归档方式,可以查询数据字典v$database:

    sql>select log_mode from v$database

      要了解归档日志的信息,可以查询数据字典v$archived_log。

      要将数据库改为归档模式:

    a.alter database archivelog

    b.设置初始化参数LOG_ARCHIVE_START=TRUE

    c.设置归档文件目标存储路径 LOG_ARCHIVE_DEST=C:\ORA\ARCHIVE

    d.设置归档文件命名格式参数 LOG_ARCHIVE_FORMAT="ORCK%T%S.ARC"。这个格式中的%S表示日志序列号,自动左边补零;%s表示日志序列号,自动左边不补零;%T表示日志线程号,左边补零;%t表示日志线程号不补零。

    e.重新启动数据库

    4.CKPT进程(检查点进程)

      CKPT进程保证有修改过的数据库缓冲区中的数据都被写入到数据文件,日志文件、数据文件、数据库头和控制文件中都有写入检查点标记。数据库在恢复时,只需提供自上一个检查以来所做的修改。检查点完成时系统将更新数据库数据库头和控制文件。

      参数LOG_CHECKPOINT_TIMEOUT决定一个检查点发生的时间间隔。LOG_CHECKPOINT_INTERVAL决定一个检查需要填充的日志文件块的数量。检查点号,也称系统改变号(SCN),它标识一个检查点。可以通过v$log查询日志文件的检查点信息,通过v$datafile查询数据文件的检查点信息,通过v$database查询数据库头的检查点信息。三个地方的检查点号相同,如果不同,说明发明数据库不同步,此时数据库肯定无法正常启动。

    5.增加与删除日志文件组、日志成员(详细语法请参考oracle文档)

    alter database [database] add logfile [group integer] filespec[,[group...

    alter database [database] add logfile (...)

    alter database [database] drop logfile [grout integer]

    alter database  [database] add logfile member "filespec" [reuse] to group integer

    alter database [database] drop logfile member "filename","filename"...

    alter database [database] rename file "filename" to "filename"

    6.清除日志文件数据

    alter database [database] clear [unarchived] logfile group integer|filespec

     

    三、控制文件

      控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件,控制文件的内容包括:

    • 数据库名及数据库唯一标识
    • 数据文件和日志文件标识
    • 数据库恢复所需的同步信息,即检查点号

      控制文件由参数control_files指定,格式如下:

    control_files=("home/app/.../control01.ctl","home/app/.../control02.ctl")

    参数中各个文件是镜像关系,也就是说,几个文件中只要有一个文件完好,数据库就可以正常运行。

      以下语句查询控制文件的信息:

    sql>select * from v$controlfile

      如果控制文件损坏或丢失,数据库将终止并且无法启动,所以,要对控制文件进行镜象,手工镜像步骤如下:

    a.关闭数据库

    b.复制控制文件

    c.修改参数文件,加入新增的控制文件位置描述

    d.重新启动数据库

      另外注意,控制文件中还包含几个服务器参数的设置,如果修改这些参数的值,刚需要重新创建控制文件,这些参数是:

    • MAXLOGFILES:最大日志文件个数
    • MAXLOGMEMBERS:最大日志成员个数
    • MAXLOGHISTORY:最大历史日志个数
    • MAXDATAFILES:最大数据文件个数
    • MAXINSTANCES:最大实例文件个数

      所有修改数据库结构的命令都会引起控制文件的改变。同时出会记录在oracle跟踪文件中,跟踪文件的名称为alter_SID.log,路径如下:

    d:\oracle\product\10.1.0\admin\DB_NAME\bdump\SIDALRT.log(unix是alter_SID.ora)

    也可以在参数文件中指定跟踪文件的存储路径,后台进程跟踪文件目录由参数background_dump_dest指定,用户跟踪文件位置由参数user_bdump_dest指定,如:

    background_bdump_dest=/u01/app/oracle/oralog/bdump

    user_bdump_dest=/u01/app//oralog/udump

    April 11

    常用ASP 函数

    Array()
     FUNCTION: 返回一个数组
     SYNTAX: Array(list)
     ARGUMENTS: 字符,数字均可
     EXAMPLE: <%
    Dim myArray()
    For i = 1 to 7
      Redim Preserve myArray(i)
      myArray(i) = WeekdayName(i)
    Next
    %>
     RESULT: 建立了一个包含7个元素的数组myArray
    myArray("Sunday","Monday", ... ... "Saturday")
     
    CInt()
     FUNCTION: 将一个表达式转化为数字类型
     SYNTAX: CInt(expression)
     ARGUMENTS: 任何有效的字符均可
     EXAMPLE: <%
    f = "234"
    response.write cINT(f) + 2
    %>
     RESULT: 236
    转化字符"234"为数字"234",如果字符串为空,则返回0值 
     
    CreateObject()
     FUNCTION: 建立和返回一个已注册的ACTIVEX组件的实例。
     SYNTAX: CreateObject(objName)
     ARGUMENTS: objName 是任何一个有效、已注册的ACTIVEX组件的名字.
     EXAMPLE: <%
    Set con = Server.CreateObject("ADODB.Connection")
    %>
     RESULT: 
     
    CStr()
     FUNCTION: 转化一个表达式为字符串.
     SYNTAX: CStr(expression)
     ARGUMENTS: expression 是任何有效的表达式。
     EXAMPLE: <%
    s = 3 + 2
    response.write "The result is: " & cStr(s)
    %>
     RESULT: 转化数字“5”为字符“5”。
     
    Date()
     FUNCTION: 返回当前系统日期.
     SYNTAX: Date()
     ARGUMENTS: None.
     EXAMPLE: <%=Date%>
     RESULT: 8/4/99
     
    DateAdd()
     FUNCTION: 返回一个被改变了的日期。
     SYNTAX: DateAdd(timeinterval,number,date)
     ARGUMENTS: timeinterval is the time interval to add; number is amount of
    time intervals to add; and date is the starting date.
     EXAMPLE: <%
    currentDate = #8/4/99#
    newDate = DateAdd("m",3,currentDate)
    response.write newDate
    %>

    <%
    currentDate = #12:34:45 PM#
    newDate = DateAdd("h",3,currentDate)
    response.write newDate
    %>
     RESULT: 11/4/99
    3:34:45 PM

    "m" = "month";
    "d" = "day";

    If currentDate is in time format then,
    "h" = "hour";
    "s" = "second";
     
    DateDiff()
     FUNCTION: 返回两个日期之间的差值 。
     SYNTAX: DateDiff(timeinterval,date1,date2 [, firstdayofweek ][,
    firstweekofyear>)
     ARGUMENTS: timeinterval 表示相隔时间的类型,如“M“表示“月”。
     EXAMPLE: <%
    fromDate = #8/4/99#
    toDate = #1/1/2000#
    response.write "There are " & _
      DateDiff("d",fromDate,toDate) & _
      " days to millenium from 8/4/99."
    %>
     RESULT: 从8/4/99 到2000年还有 150 天.
     
    Day()
     FUNCTION: 返回一个月的第几日 .
     SYNTAX: Day(date)
     ARGUMENTS: date 是任何有效的日期。 
     EXAMPLE: <%=Day(#8/4/99#)%>
     RESULT: 4
     
    FormatCurrency()
     FUNCTION: 返回表达式,此表达式已被格式化为货币值 
     SYNTAX: FormatCurrency(Expression [, Digit ][, LeadingDigit ][, Paren ][,
    GroupDigit>>)
     ARGUMENTS: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是
    计算机的区域设置; LeadingDigit 三态常数,指示是否显示小数值小数点前面的
    零。 
     EXAMPLE: <%=FormatCurrency(34.3456)%>
     RESULT: $34.35
     
    FormatDateTime()
     FUNCTION: 返回表达式,此表达式已被格式化为日期或时间
     SYNTAX: FormatDateTime(Date, [, NamedFormat])
     ARGUMENTS: NamedFormat 指示所使用的日期/时间格式的数值,如果省略,则使用
    vbGeneralDate.
     EXAMPLE: <%=FormatDateTime("08/4/99", vbLongDate)%>
     RESULT: Wednesday, August 04, 1999
     
    FormatNumber()
     FUNCTION: 返回表达式,此表达式已被格式化为数值.
     SYNTAX: FormatNumber(Expression [, Digit ][, LeadingDigit ][, Paren ][,
    GroupDigit>>)
     ARGUMENTS: Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是
    计算机的区域设置。; LeadingDigit i指示小数点右侧显示位数的数值。默认值为 -
    1,指示使用的是计算机的区域设置。; Paren 指示小数点右侧显示位数的数值。默认
    值为 -1,指示使用的是计算机的区域设置。; GroupDigit i指示小数点右侧显示位数
    的数值。默认值为 -1,指示使用的是计算机的区域设置。.
     EXAMPLE: <%=FormatNumber(45.324567, 3)%>
     RESULT: 45.325
     
    FormatPercent()
     FUNCTION: 返回表达式,此表达式已被格式化为尾随有 % 符号的百分比(乘以
    100 )。 (%)
     SYNTAX: FormatPercent(Expression [, Digit ][, LeadingDigit ][, Paren ][,
    GroupDigit>>)
     ARGUMENTS: 同上.
     EXAMPLE: <%=FormatPercent(0.45267, 3)%>
     RESULT: 45.267%
     
    Hour()
     FUNCTION: 以24时返回小时数.
     SYNTAX: Hour(time)
     ARGUMENTS: 
     EXAMPLE: <%=Hour(#4:45:34 PM#)%>
     RESULT: 16
    (Hour has been converted to 24-hour system)
     
    Instr()
     FUNCTION: 返回字符或字符串在另一个字符串中第一次出现的位置.
     SYNTAX: Instr([start, ] strToBeSearched, strSearchFor [, compare])
     ARGUMENTS: Start为搜索的起始值,strToBeSearched接受搜索的字符串 
    strSearchFor要搜索的字符.compare比较方式(详细见ASP常数)
     EXAMPLE: <%
    strText = "This is a test!!"
    pos = Instr(strText, "a")
    response.write pos
    %>
     RESULT: 9
     
    InstrRev()
     FUNCTION: 同上,只是从字符串的最后一个搜索起
     SYNTAX: InstrRev([start, ] strToBeSearched, strSearchFor [, compare])
     ARGUMENTS: 同上.
     EXAMPLE: <%
    strText = "This is a test!!"
    pos = InstrRev(strText, "s")
    response.write pos
    %>
     RESULT: 13

     
    Int()
     FUNCTION: 返回数值类型,不四舍五入,注意取值是不大于它的整数。
     SYNTAX: Int(number)
     ARGUMENTS: 
     EXAMPLE: <%=INT(32.89)%>  <%=int(-3.33)%>
     RESULT: 32  -4
     
    IsArray()
     FUNCTION: 判断一对象是否为数组,返回布尔值 .
     SYNTAX: IsArray(name)
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = "Test!"
    response.write IsArray(strTest)
    %>
     RESULT: False
     
    IsDate()
     FUNCTION: 判断一对象是否为日期,返回布尔值
     SYNTAX: IsDate(expression)
     ARGUMENTS: expression is any valid expression.
     EXAMPLE: <%
    strTest = "8/4/99"
    response.write IsDate(strTest)
    %>
     RESULT: True
     
    IsEmpty()
     FUNCTION: 判断一对象是否初始化,返回布尔值.
     SYNTAX: IsEmpty(expression)
     ARGUMENTS: 
     EXAMPLE: <%
    Dim i
    response.write IsEmpty(i)
    %>
     RESULT: True
     
    IsNull()
     FUNCTION: 判断一对象是否为空,返回布尔值.
     SYNTAX: IsNull(expression)
     ARGUMENTS: 
     EXAMPLE: <%
    Dim i
    response.write IsNull(i)
    %>
     RESULT: False
     
    IsNumeric()
     FUNCTION: 判断一对象是否为数字,返回布尔值.
     SYNTAX: IsNumeric(expression)
     ARGUMENTS: 
     EXAMPLE: <%
    i = "345"
    response.write IsNumeric(i)
    %>
     RESULT: True
    就算数字加了引号,ASP还是认为它是数字。
     
    IsObject()
     FUNCTION: 判断一对象是否为对象,返回布尔值.
     SYNTAX: IsObject(expression)
     ARGUMENTS: 
     EXAMPLE: <%
    Set con = Server.CreateObject("ADODB.Connection")
    response.write IsObject(con)
    %>
     RESULT: True
     
    LBound()
     FUNCTION: 返回指定数组维的最小可用下标.
     SYNTAX: Lbound(arrayname [, dimension])
     ARGUMENTS: ; dimension 指明要返回哪一维下界的整数。使用 1 表示第一维,2
    表示第二维,以此类推。如果省略 dimension 参数,默认值为 1.
     EXAMPLE: <%
    i = Array("Monday","Tuesday","Wednesday")
    response.write LBound(i)
    %>
     RESULT: 0
     
    LCase()
     FUNCTION:  返回字符串的小写形式
     SYNTAX: Lcase(string)
     ARGUMENTS: string is any valid string expression.
     EXAMPLE: <%
    strTest = "This is a test!"
    response.write LCase(strTest)
    %>
     RESULT: this is a test!
     
    Left()
     FUNCTION: 返回字符串左边第length个字符以前的字符(含第length个字符).
     SYNTAX: Left(string, length)
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = "This is a test!"
    response.write Left(strTest, 3)
    %>
     RESULT: Thi
     
    Len()
     FUNCTION: 返回字符串的长度.
     SYNTAX: Len(string | varName)
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = "This is a test!"
    response.write Len(strTest)
    %>
     RESULT: 15
     
    LTrim()
     FUNCTION: 去掉字符串左边的空格.
     SYNTAX: LTrim(string)
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = " This is a test!"
    response.write LTrim(strTest)
    %>
     RESULT: This is a test!
     
    Mid()
     FUNCTION: 返回特定长度的字符串(从start开始,长度为length).
     SYNTAX: Mid(string, start [, length])
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = "This is a test! Today is Monday."
    response.write Mid(strTest, 17, 5)
    %>
     RESULT: Today
     
    Minute()
     FUNCTION: 返回时间的分钏.
     SYNTAX: Minute(time)
     ARGUMENTS: 
     EXAMPLE: <%=Minute(#12:45:32 PM#)%>
     RESULT: 45
     
    Month()
     FUNCTION: 返回日期.
     SYNTAX: Month(date)
     ARGUMENTS: date is any valid date expression.
     EXAMPLE: <%=Month(#08/04/99#)%>
     RESULT: 8
     
    MonthName()
     FUNCTION: Returns a string identifying the specified month.
     SYNTAX: MonthName(month, [, Abb])
     ARGUMENTS: month is the numeric representation for a given month; Abb
    (optional) is a boolean value used to display month abbreviation. True
    will display the abbreviated month name and False (default) will not show
    the abbreviation.
     EXAMPLE: <%=MonthName(Month(#08/04/99#))%>
     RESULT: August
     
    Now()
     FUNCTION: Returns the current system date and time.
     SYNTAX: Now()
     ARGUMENTS: None
     EXAMPLE: <%=Now%>
     RESULT: 8/4/99 9:30:16 AM
     
    Replace()
     FUNCTION: Returns a string in which a specified sub-string has been
    replaced with another substring a specified number of times.
     SYNTAX: Replace(strToBeSearched, strSearchFor, strReplaceWith [, start
    ][, count ][, compare>])
     ARGUMENTS: strToBeSearched is a string expression containing a sub-
    string to be replaced; strSearchFor is the string expression to search for
    within strToBeSearched; strReplaceWith is the string expression to replace
    sub-string strSearchFor; start (optional) is the numeric character
    position to begin search; count (optional) is a value indicating the
    comparision constant.
     EXAMPLE: <%
    strTest = "This is an apple!"
    response.write Replace(strTest, "apple", "orange")
    %>
     RESULT: This is an orange!
     
    Right()
     FUNCTION: 返回字符串右边第length个字符以前的字符(含第length个字符).
     SYNTAX: Right(string, length)
     ARGUMENTS: .
     EXAMPLE: <%
    strTest = "This is an test!"
    response.write Right(strTest, 3)
    %>
     RESULT: st!
     
    Rnd()
     FUNCTION: 产生一个随机数.
     SYNTAX: Rnd [ (number) ]
     ARGUMENTS: 
     EXAMPLE: <%
    Randomize()
    response.write RND()
    %>
     RESULT: 任何一个在0 到 1 之间的数
     
    Round()
     FUNCTION: 返回按指定位数进行四舍五入的数值.
     SYNTAX: Round(expression [, numRight])
     ARGUMENTS: numRight数字表明小数点右边有多少位进行四舍五入。如果省略,则
    Round 函数返回整数.
     EXAMPLE: <%
    i = 32.45678
    response.write Round(i)
    %>
     RESULT: 32
     
    Rtrim()
     FUNCTION: 去掉字符串右边的字符串.
     SYNTAX: Rtrim(string)
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = "This is a test!! "
    response.write RTrim(strTest)
    %>
     RESULT: This is a test!!
     
    Second()
     FUNCTION: 返回秒.
     SYNTAX: Second(time)
     ARGUMENTS: .
     EXAMPLE: <%=Second(#12:34:28 PM#)%>
     RESULT: 28
     
    StrReverse()
     FUNCTION: 反排一字符串
     SYNTAX: StrReverse(string)
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = "This is a test!!"
    response.write StrReverse(strTest)
    %>
     RESULT: !!tset a si sihT
     
    Time()
     FUNCTION: 返回系统时间.
     SYNTAX: Time()
     ARGUMENTS: .
     EXAMPLE: <%=Time%>
     RESULT: 9:58:28 AM
     
    Trim()
     FUNCTION: 去掉字符串左右的空格.
     SYNTAX: Trim(string)
     ARGUMENTS: string is any valid string expression.
     EXAMPLE: <%
    strTest = " This is a test!! "
    response.write Trim(strTest)
    %>
     RESULT: This is a test!!
     
    UBound()
     FUNCTION: 返回指定数组维数的最大可用下标.
     SYNTAX: Ubound(arrayname [, dimension])
     ARGUMENTS: ; dimension (optional) 指定返回哪一维上界的整数。1 表示第一
    维,2 表示第二维,以此类推。如果省略 dimension 参数,则默认值为 1.
     EXAMPLE: <%
    i = Array("Monday","Tuesday","Wednesday")
    response.write UBound(i)
    %>
     RESULT: 2
     
    UCase()
     FUNCTION: 返回字符串的大写形式.
     SYNTAX: UCase(string)
     ARGUMENTS: 
     EXAMPLE: <%
    strTest = "This is a test!!"
    response.write UCase(strTest)
    %>
     RESULT: THIS IS A TEST!!
     
    VarType()
     FUNCTION: 返回指示变量子类型的值
     SYNTAX: VarType(varName)
     ARGUMENTS: 
     EXAMPLE: <%
    i = 3
    response.write varType(i)
    %>
     RESULT: 2(数字)详见"asp常数"
     
    WeekDay()
     FUNCTION: 返回在一周的第几天.
     SYNTAX: WeekDay(date [, firstdayofweek])
     ARGUMENTS: .
     EXAMPLE: <%
    d = #8/4/99#
    response.write Weekday(d)
    %>
     RESULT: 4(星期三)
     
    WeekDayName()
     FUNCTION: 返回一周第几天的名字.
     SYNTAX: WeekDayName(weekday [, Abb ][, firstdayofweek>)
     ARGUMENTS: Abb可选。Boolean 值,指明是否缩写表示星期各天的名称。如果省
    略, 默认值为 False,即不缩写星期各天的名称.firstdayofweek指明星期第一天的
    数值
     EXAMPLE: <%
    d = #8/4/99#
    response.write WeekdayName(Weekday(d))
    %>
     RESULT: Wednesday
     
    Year()
     FUNCTION: 返回当前的年份.
     SYNTAX: Year(date)
     ARGUMENTS: 
     EXAMPLE: <%=Year(#8/4/99#)%>
     RESULT: 1999


    Quote: http://www.fixdown.com/article/article/927.htm