posts - 495,  comments - 11,  trackbacks - 0
 
蔬菜及粮食是营养物质的“绿色宝库”,是人们维持生命的主要滋养来源。人们要掌握吃的学问,对症进食,择优而食,方可充分利用蔬菜、粮食的药用价值。特别介绍以下18种食品的对症吃法,希望对大家有所帮助。
■心脏病与苹果汁
苹果在所有的水果中是“口碑”最好的,而且适合不同年龄、不同体格的人。最近,美国加利福尼亚大学的研究又发现了苹果的另外一个优点:常喝苹果汁会降低心脏病的患病率。这是因为苹果汁中的抗氧化剂有利于心脏的健康运转。科学家在对25名男女进行的试验中发现:胆固醇也分“好”和“坏”两种,多喝苹果汁可以让“坏”胆固醇阻塞血管的时间比正常情况下晚一些,而“坏”胆固醇阻塞血管的时间越长就说明患心脏病的几率越大。
■感冒和大蒜
当你开始感到嗓子不舒服,鼻涕开始不受控制时,就是感冒的前兆。为了不让感冒病毒大规模地袭击你的身体,赶紧吃一些大蒜会帮助你将没有完全发作的病毒扼杀在摇篮里。这是因为大蒜中含有丰富的抗病毒成分,会增强身体的免疫力。所以,在换季的时候,多吃一些大蒜会帮你应付感冒。
■牙痛和茶
和好友聚会品茶时你也许没有想到:茶不仅对身体健康有益处,而且最近科学家还发现了茶叶的另外一个优点,即:茶叶有保护牙齿的作用。茶水中含有丰富的氟和茶多酚等成分,可以达到防龋固齿的功效。因此,饭后用茶水漱口可以保持口腔卫生。另外,茶叶中的糖、果胶等成分与唾液发生化学反应滋润了口腔的同时,还增强了口腔的自洁能力。
■脱发和牛排
如果说吃牛排可以治疗秃头,相信大部分人一定会大吃一惊。但经过科学研究发现:牛排确有此功效。所以,每次吃饭时千万别忘了吃点儿瘦牛肉。科学证明:经常吃瘦牛肉的人即使不能完全解决脱发问题,至少可以延缓这一天的到来。
■牙出血和葡萄柚
牙龈发炎是让人烦恼的事,不过一旦遇到这种情况也不必担心,因为牙龈发炎其实是体内缺乏维生素C的症状,是你的身体向你发出的求救信号,提醒你该补充维生素了。这时吃一些葡萄柚、柠檬、猕猴桃等含维生素C丰富的水果都会很有帮助,尤其是葡萄柚,效果更是立竿见影。所以,只要养成每天坚持吃一只葡萄柚的习惯,就会帮你解决牙龈发炎的问题。
■口气浑浊多喝水
对于经常需要社交应酬的人来说,口气浑浊可是最大的忌讳。中医认为,口臭与胃火有很大关系,因此,治疗口臭除了注意每天早晚刷牙外,还要合理安排你的食谱。另外一种简单易行的方法也能让你摆脱这个让人尴尬的烦恼,就是每天尽可能地多喝清水。这个方法在治疗口臭的同时,还补充了身体每天所需水分,可谓一举两得。科学研究发现:口气不清新的原因是嘴里有一种叫硫磺的物质,要让它尽快消失,每天多多喝水就解决了。
■四肢乏力与香蕉
热爱运动是件好事,但也要注意“度”的把握,因为运动过量会导致浑身乏力。运动时身体排出大量汗液,水分流失的同时,身体中很多矿物质也随着汗水排出体外,主要是钾和钠两种元素。身体中钠的“库存”量相对较大,而且钠也比较容易从食物中得到补充;但钾元素在体内的含量比较少,因此运动后更要注意选择含有丰富钾元素的食品及时补充。补充钾最理想的选择就是香蕉,因为香蕉中含有丰富的钾元素。在去健身房前,千万别忘了给自己带一两根香蕉。
■醉酒与西红柿
喝醉了酒确实是件麻烦事。喝醉后的呕吐不仅很失态,而且会造成体内的钾、钙、钠等元素的大量流失,醉酒呕吐后一定要及时补充钾、钙、钠等养分。最简单易行的办法就是喝些西红柿汁,因为西红柿汁中丰富的钾、钙、钠成分刚好补充了体内流失元素的不足。
■打嗝和糖
对于治疗打嗝,人们一直有很多偏方,目前最有效的方法就是出其不意时吓唬他一下,但如果这样还是不能止住打嗝的话,这里有一个有效的方法:试试在舌头下面放一勺糖。这种做法的科学解释还不很清楚,有的医生解释说,糖可以刺激喉咙后侧的神经,而一旦神经受到刺激,它会中断体内的神经信号,其中也包括引起打嗝的那条神经。
■心脏病和啤酒
啤酒可以美容已经不再是什么新闻了,但啤酒还有另外一种功效就是:可以减少患心脏病的可能性。实验证明,如果保持一天喝一杯啤酒,就会使患心脏病的可能性减到最小。有趣的是,啤酒的保健功能要严格控制在一天一杯才会有效,一天两杯或两杯以上都不会防治心脏病。看来,啤酒虽好同样需要节制。
■高血压和橘子汁
爱喝橘子汁是个好习惯,尤其是对于那些患高血压的人或是有高血压家族病史的人来说尤为如此。橘子汁不仅味美,而且可以治病。因为如果饮食中钾和钙的含量增加,血压就会自然降低。而橘子汁里恰恰含有丰富的钙、钾和维生素C。有试验表明,血液中含充足维生素C的人,死于心脏病的可能性要小得多。
■鱼治疗哮喘
最新的研究发现,多吃鱼类可以润肺、补肺,从而缓解哮喘病的症状。这是因为鱼肉中含有丰富的镁元素,难怪急诊室的医生都用含镁类药物来治疗哮喘病人。对于患严重哮喘的病人,医生建议:最好每日三餐中保证吃至少一顿的鱼类或其他海鲜类食物。另外,在绿色蔬菜中,菠菜也有同样的功效。
■前列腺癌和香草冰激凌
前列腺癌一直是男人的最大杀手,据说多吃西红柿会有所帮助,因为西红柿里面有西红柿素。如果你不爱吃西红柿的话,另外一个既能治病又能解馋的方法就是吃香草冰激凌。这是因为香草冰激凌里有一种叫做硼的元素,体内的硼越多,前列腺癌的发病机会就越小。
■记忆力和咖啡
咖啡除了可以在早上帮你尽快消除困意,还有很多其他的功用。荷兰的科学家曾做过一个试验:试验前,被测试者喝下含32毫克咖啡因的咖啡后,不但记忆力加强,阅读速度提高,而且头脑也变得更加清醒。所以,想要刺激大脑内存速度,提高工作效率的话,最好提前半个小时喝上一杯咖啡。但是,需要提醒你注意的是:咖啡也不能喝得太多。否则会产生依赖反应,久而久之还会上瘾。如果一旦上瘾,想戒可就难了。
总而言之,日常生活中,人们“对症进食”,就会有益于健康长寿。如果想“吃”好,每个人应该根据自己的年龄、疾病、体质来“对症进食”。
■蔬菜和关节炎
希腊的科学家最近做的实验表明:绿色蔬菜吃得越多,患关节炎的可能性就越小。这是科学家针对330人进行的试验中得出的结论。而且,爱吃蔬菜的人,老年患关节炎的可能性是不爱吃蔬菜人的1/4。因此,为了健康的骨骼,千万不要忘记在餐桌上多增些绿色。
■视线模糊和绿色蔬菜
眼睛只要睁着,就随时有被感染的可能。绿色蔬菜可以补充足够的抗氧化素,因此可以保护眼睛的健康,让眼睛免受外界的侵害。所以不妨在每日的饭桌上多一点绿色蔬菜,例如芹菜、黄瓜等等都对健康大有益处。
■皮肤青紫与花椰菜
有些人的皮肤一旦受到小小的碰撞和伤害就会变得青一块紫一块的,这是因为体内缺乏维生素(尤其是维生素K)的缘故。补充维生素K的最佳途径就是多吃花椰菜,据调查显示,每周吃几次花椰菜会使血管壁加厚、加强,而且不容易破裂。
■男性不育与五谷杂粮
叶酸是女人在做母亲前必须补充的一种维生素,因为它有利于婴儿神经系统的健康。男性其实也需要补充叶酸,因为最新的调查结果显示:男性精子含量低也与体内叶酸缺乏有关,因为叶酸可以帮助DNA的合成。让人没有想到的是,补充叶酸最简单直接的途径就是多吃粗粮。因为在五谷杂粮中叶酸含量是很高的。因此,对于想做父母的夫妇来说,补充叶酸是夫妻两个人的事。
总而言之,日常生活中,人们“对症进食”,就会有益于健康长寿。如果想“吃”好,每个人应该根据自己的年龄、疾病、体质来“对症进食”。
posted @ 2007-08-21 18:51 jadmin 阅读(61) | 评论 (0)编辑 收藏

//转载请注明出处:http://hi.baidu.com/jadmin/blog/item/163ed2f8a8e88b0dd8f9fd46.html
/**
* @(#)MatrixMultiply.java
*
*
* @author JAdmin
* @version 1.00 2007/8/21
*/

import java.util.Scanner;

public class MatrixMultiply
{
public static void main(String[] args)
{
    int m,n,p;
    System.out.println("请输入3个矩阵参数m,n,p.示例a[m][n]*b[n][p]=c[m][p]");
    Scanner sr = new Scanner(System.in);
    System.out.print("m=");
    m = sr.nextInt();
    System.out.print("n=");
    n = sr.nextInt();
    System.out.print("p=");
    p = sr.nextInt();

    int[][] a = new int[m][n];
    int[][] b = new int[n][p];
    int[][] c = new int[m][p];

    System.out.println("请输入数组a[" + m + "][" + n + "]");
    input(a);
    System.out.println("请输入数组b[" + n + "][" + p + "]");
    input(b);

    //以下开始计算c[][]
    for(int i = 0;i < c.length;i++)
     for(int j = 0;j < c[0].length;j++)
      c[i][j] = getMultiItem(a,b,i,j);

    System.out.println("************The matrix a[][]************");
    display(a);
    System.out.println("************The matrix b[][]************");
    display(b);
    System.out.println("************The matrix c[][]************");
    display(c);
}

private static void input(int[][] arr)
{
    Scanner sr = new Scanner(System.in);
    for(int i = 0;i < arr.length;i++)
     for(int j = 0;j < arr[0].length;j++)
       arr[i][j] = sr.nextInt();
}

private static void display(int[][] arr)
{
    for(int i = 0;i < arr.length;i++)
    {
     for(int j = 0;j < arr[0].length;j++)
      System.out.print(arr[i][j]+" ");
     System.out.println();
    }
}

private static int getMultiItem(int[][] a,int[][] b,int p,int q)
{
    //计算元素c[p][q]
    int tmp = 0;

    for(int i = 0;i < a[0].length;i++)
     tmp += a[p][i]*b[i][q];
    return tmp;
}
}

posted @ 2007-08-21 18:38 jadmin 阅读(61) | 评论 (0)编辑 收藏
生活在现在
      我们大部分的烦恼来自于对过去的惦念与懊悔,过去的辉煌与暗淡占据了我们很多的回忆空间,我们经常为昨天的洋相与错误而长久地悔恨,其实也只有自己才会很在意自己过去的表现,对别人而言,你过去的表现很快就过眼云烟,因此我们不需要沉醉于过去的辉煌,也不需要沉沦于过去的不幸,我们要将精神集中在今天要做什么以及如何去做才最好,尤其像我们程序员这个职业,技术革新太快,稍微停留我们就会变得过时,昨天你所开发的产品或许不错,但明天可能很快就变得陈旧不堪,你需要在今天不断地吸取新技术,不断地创新,不断地完善,才能保持产品以及自身的竞争力,生活在现在是一种积极进取的人生态度,记住:过去的已过去,未来还不可靠,只有今天才是真实可靠的。
生活在这里
     搞IT的似乎注定要“飘来飘去”,人员流动性应是所有行业中最高的,毕业七年,服务过4家公司,算是比较稳定的人了,在有些公司工作一年多就成了老员工了,应该说有时是不太守职业道德的,当我发现所在的公司并非自己的理想时,我的心就开始先飘了,人在心不在,这种状况导致工作的效果与效率都不理想,离开只是时间问题,我相信很多朋友也有过这种情况,这是不负责的,对公司与自己都不好,我们尽力做到在那里工作一天就尽责尽力一天, 打工也好创业也好,都要不断提高自己,凡事尽力做到问心无愧,我们要记住,我们现在就生活在此处此地,而不是遥远的其他地方。
停止猜想,面向实际
       我们很多心理上的障碍,往往是没有实际根据的“想当然”造成的。面对问题,有些人喜欢猜想,而不是去调查事实与解决问题,比如项目经理早上因进度缓慢问题将你骂了一顿,然后你就因此而联想下去,心里在嘀咕,项目经理是不是对你有意见?是不是不看重你?这个项目如果做不好就完了等等诸如此类的猜想,其实项目经理只是就事论事,并不针对你个人,他是希望你去想方设法将进度跟上来,或加加班,或与同事一起互相帮助一下,而你却活在自己的猜测里久久不能摆脱,结果会越来越严重,所以无论面对任何困难或责备,你需要做的是面对实际,寻找问题所在,并设法解决问题,而不要去胡乱猜想。
暂停思考,多去感受
       我对这一点的理解就是要劳逸结合,我们这个职业属于重型脑力劳动,我们经常长时间地思考,经常长时间地coding,有时因为一个BUG,我们日日夜夜冥思苦想,有时为了能让项目按进度完成,日以继夜地加班,都快变成了一台没有情感的机器,我建议朋友们偶尔暂停一下思考,花一些时间去观赏美景或美女,多聆听悦耳美妙的音乐,多去感受大自然的花草树木,休假时出趟远门旅游,如果身体允许,下雨天去踢场足球,我们应尽力让生活变得丰富多彩。
接受不愉快的情感
     矛盾无处不在,再乐观的人也会有不愉快的时候,一个优秀的程序员应会处理各种各样的关系,工作上有与客户的关系,与市场人员的关系,与测试人员的关系,与客服人员的关系,与上司的关系,与同事的关系,生活中有与家人的关系,与朋友的关系,与陌生人的关系,我们无法要求所接触的每个人都是我们所想象的,在相处的过程中一定会产生不愉快的情绪,其实愉快与不愉快是相对而言的,同时也是相互存在的,恰当地处理便会相互转化,程序BUG出现了,你一时解决不了,测试人员会追着要你赶快搞定,你变得烦躁与恼火,不停地思索,不断地调试,终于结束了,这时你会有一种如释重负的感觉,心情也会变得愉快起来。
不要随意下判断
      我们往往容易在别人稍有差错或失败之时,就马上下结论,这种方式容易与别人产生摩擦与冲突,结果自己也会烦恼与苦闷。对他人的态度和处理人际关系的正确做法应是:先不要对人或事下判断,先要说出你是如何认为的。这样对方会容易接受,往往你说完自己的看法后,对方也自然而然地知道你的结论。
不要盲目地崇拜偶像和权威
     大多人都需要一个精神寄托的对象,这个对象的成就以及影响力也往往成为我们的追求目标,比如我曾崇拜周恩来,因为他的个人魅力,我曾崇拜张学友,因为他的歌唱得出神入化,我曾崇拜温伯格,因为他的书写得好,可见崇拜或喜欢一个人,总是有一个理由的,我们不能因为这个理由而全部肯定或接受这个对象的一言一语一举一动,那样会禁锢我们的头脑束缚我们的手脚,使我们失去独立思考的习性。
我就是我
         我听过余世维博士的讲座,在他的观点中有一点是强调以我或我们为主,不要去看他们做什么,不要总说别人怎么样,而要关注我们能做什么,我们怎么样,出错了要敢于承认是我或我们的错,而不要将责任推到别人的身上。余博士的这个观点以及所引用的例子让阿蒙受益无穷,决心从我做起,从现在做起,不再怨天尤人,充分发挥自己的潜能与优势,竭尽全力做好自己能做的事情。
对自己负责
      高考的成绩并不好,可以说与我要求的目标差得太远,大一的时候总活在不断地为自己辩护的状态之中,我有时认为失败的原因在家境不好,经济压力太大,使我不能专心学习,有时又将原因归于身体不好,影响学习……这是在逃避责任和现实,将自已的过错与失败都推到客观原因上,失败或错误的原因总是说也说不完,项目没有正常完成,是谁的错,是什么错?需求不明,设计不好,管理不佳,还是程序员的水平不高?有谁能站出来承担自己的那份责任?
正确地自我估计
      无论在工作中还是社会上,我们每个人都占据着一个特定的位置,所以我们需要按这个位置的要求,去履行我们的权利与义务。在一个项目中,如果你是一个系统设计工程师,那么你就全心全力地去完成系统的概要设计与详细设计,并处理好与项目经理、系统分析员、软件开发人员之间的关系,把自己摆在准确的位置上,如果你不按照项目一致规定和大家公认的规范去做,那你将会受到项目其他人员的谴责和反对,也会使项目的管理变得混乱。所以正确地自我评估是很重要的,它可以让我们始终保持冷静,不再好高骛远,也不会骄傲自满或过分自卑,它让我们脚踏实地做事,认认真真做人。
      十大终于写完了,感觉有一丝成就感,尽管有点教条主义的味道,但出发点应是好的,未来的程序员不应是只会埋头苦干的机器,我们需要生动有趣的生活来保持我们的创新能力。在此时抛出十大原则,目的是:当程序员朋友们从远方回来,从疯狂归来之时,能看到一些理性的思维与观点,并好好地自我评估,从我做起,从现在做起,去一步一个脚印地实现自己的梦想。
http://www.uml.org.cn/success/200512123.htm
posted @ 2007-08-20 21:25 jadmin 阅读(58) | 评论 (0)编辑 收藏

  文档对象模型 (DOM) 是一个文档标准,对于完备的文档和复杂的应用程序,DOM 提供了大量灵活性。DOM标准是标准的。它很强壮且完整,并且有许多实现。这是许多大型安装的决定因素--特别是对产品应用程序,以避免在API发生改变时进行大量的改写。

  以上是我在选择处理XML数据时之所以没有选择JDOM或者dom4j等其它面向对象的标准的原因,不过也由于DOM从一开始就是一种与语言无关的模型,而且它更趋向用于像C或Perl这类语言,没有利用Java的面向对象的性能,所以在使用的过程中也遇到了不少的麻烦,今天这里做一个小结。另外,我目前使用XML主要是作为数据传输的统一格式,并统一用户界面展示的接口,应用的面并不是很广,所以使用到的DOM的内容其实不多。

  在准备使用它的时候,是做了充足的准备的,也有遇到困难的准备,所以一开始就有了一个简单的工具类来封装DOM对象使用时必要的公共方法,实际证明这样做是很明智的,一个简单的创建Document对象的操作,要是每次都需要写上5行以上代码,并且还要处理那些烦人的Exception,实在是会打击大家的积极性,所以在最初,做了一个XMLTool类,专门封装了如下的公共方法:

  1、 Document对象创建(包括空的Document对象创建,以一个给定Node节点作为根节点创建。

  2、 将一个规范的XML字符串转换成一个Document对象。

  3、 从物理硬盘读取一个XML文件并返回一个Document对象。

  4、 将一个Node对象转换成字符串。

  其中每个方法都截获相关的DOM操作所抛出的异常,转换成一个RuntimeException抛出,这些异常在实际使用过程中,一般状况下其实都不会抛出,特别是象生成一个Document对象时的ParserConfigurationException、转换Node节点成字符串时要生成一个Transformer对象时的TransformerConfigurationException等等,没有必要在它们身上花时间精力。而且真就出了相关的异常的话,其实根本没有办法处理,这样的状况通常是系统环境配置有问题(比如必要的DOM实现解析器等包没有加入环境),所以包装该异常时只是很简要的获取其Message抛出。

  代码如下:

/**
* 初始化一个空Document对象返回。
* @return a Document
*/
public static Document newXMLDocument() {
 try {
  return newDocumentBuilder().newDocument();
 } catch (ParserConfigurationException e) {
   throw new RuntimeException(e.getMessage());
 }
}
/**
* 初始化一个DocumentBuilder
* @return a DocumentBuilder
* @throws ParserConfigurationException
*/
public static DocumentBuilder newDocumentBuilder()
throws ParserConfigurationException {
return newDocumentBuilderFactory().newDocumentBuilder();
}
/**
* 初始化一个DocumentBuilderFactory
* @return a DocumentBuilderFactory
*/
public static DocumentBuilderFactory newDocumentBuilderFactory() {
 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
 dbf.setNamespaceAware(true);
 return dbf;
}
/**
* 将传入的一个XML String转换成一个org.w3c.dom.Document对象返回。
* @param xmlString 一个符合XML规范的字符串表达。
* @return a Document
*/
public static Document parseXMLDocument(String xmlString) {
 if (xmlString == null) {
  throw new IllegalArgumentException();
 }
 try {
  return newDocumentBuilder().parse(
   new InputSource(new StringReader(xmlString)));
 } catch (Exception e) {
  throw new RuntimeException(e.getMessage());
 }
}
/**
* 给定一个输入流,解析为一个org.w3c.dom.Document对象返回。
* @param input
* @return a org.w3c.dom.Document
*/
public static Document parseXMLDocument(InputStream input) {
 if (input == null) {
  throw new IllegalArgumentException("参数为null!");
 }
 try {
  return newDocumentBuilder().parse(input);
 } catch (Exception e) {
  throw new RuntimeException(e.getMessage());
 }
}
/**
* 给定一个文件名,获取该文件并解析为一个org.w3c.dom.Document对象返回。
* @param fileName 待解析文件的文件名
* @return a org.w3c.dom.Document
*/
public static Document loadXMLDocumentFromFile(String fileName) {
 if (fileName == null) {
  throw new IllegalArgumentException("未指定文件名及其物理路径!");
 }
 try {
  return newDocumentBuilder().parse(new File(fileName));
 } catch (SAXException e) {
  throw new IllegalArgumentException("目标文件(" + fileName + ")不能被正确解析为XML!
" + e.getMessage());
 } catch (IOException e) {
  throw new IllegalArgumentException("不能获取目标文件(" + fileName + ")!
" + e.getMessage());
 } catch (ParserConfigurationException e) {
  throw new RuntimeException(e.getMessage());
 }
}
/**
* 给定一个节点,将该节点加入新构造的Document中。
* @param node a Document node
* @return a new Document
*/
public static Document newXMLDocument(Node node) {
 Document doc = newXMLDocument();
 doc.appendChild(doc.importNode(node, true));
 return doc;
}
/**
* 将传入的一个DOM Node对象输出成字符串。如果失败则返回一个空字符串""。
* @param node DOM Node 对象。
* @return a XML String from node
*/
public static String toString(Node node) {
 if (node == null) {
  throw new IllegalArgumentException();
 }
 Transformer transformer = newTransformer();
 if (transformer != null) {
  try {
   StringWriter sw = new StringWriter();
   transformer.transform(new DOMSource(node),
    new StreamResult(sw));
    return sw.toString();
  } catch (TransformerException te) {
   throw new RuntimeException(te.getMessage());
  }
 }
 return errXMLString("不能生成XML信息!");
}
/**
* 将传入的一个DOM Node对象输出成字符串。如果失败则返回一个空字符串""。
* @param node DOM Node 对象。
* @return a XML String from node
*/
public static String toString(Node node) {
 if (node == null) {
  throw new IllegalArgumentException();
 }
 Transformer transformer = newTransformer();
 if (transformer != null) {
  try {
   StringWriter sw = new StringWriter();
   transformer.transform(new DOMSource(node),new StreamResult(sw));
   return sw.toString();
  } catch (TransformerException te) {
    throw new RuntimeException(te.getMessage());
  }
 }
 return errXMLString("不能生成XML信息!");
}
/**
* 获取一个Transformer对象,由于使用时都做相同的初始化,所以提取出来作为公共方法。
* @return a Transformer encoding gb2312
*/
public static Transformer newTransformer() {
 try {
  Transformer transformer =TransformerFactory.newInstance().newTransformer();
  Properties properties = transformer.getOutputProperties();
  properties.setProperty(OutputKeys.ENCODING, "gb2312");
  properties.setProperty(OutputKeys.METHOD, "xml");
  properties.setProperty(OutputKeys.VERSION, "1.0");
  properties.setProperty(OutputKeys.INDENT, "no");
  transformer.setOutputProperties(properties);
  return transformer;
 } catch (TransformerConfigurationException tce) {
  throw new RuntimeException(tce.getMessage());
 }
}
/**
* 返回一段XML表述的错误信息。提示信息的TITLE为:系统错误。之所以使用字符串拼装,主要是这样做一般
* 不会有异常出现。
* @param errMsg 提示错误信息
* @return a XML String show err msg
*/
public static String errXMLString(String errMsg) {
 StringBuffer msg = new StringBuffer(100);
 msg.append("<?xml version="1.0" encoding="gb2312" ?>");
 msg.append("<errNode title="系统错误" errMsg="" + errMsg + ""/>");
 return msg.toString();
}
/**
* 返回一段XML表述的错误信息。提示信息的TITLE为:系统错误
* @param errMsg 提示错误信息
* @param errClass 抛出该错误的类,用于提取错误来源信息。
* @return a XML String show err msg
*/
public static String errXMLString(String errMsg, Class errClass) {
 StringBuffer msg = new StringBuffer(100);
 msg.append("<?xml version="1.0" encoding="gb2312" ?>");
 msg.append("<errNode title="系统错误" errMsg=""+ errMsg
  + "" errSource=""
  + errClass.getName()
  + ""/>");
 return msg.toString();
}
/**
* 返回一段XML表述的错误信息。
* @param title 提示的title
* @param errMsg 提示错误信息
* @param errClass 抛出该错误的类,用于提取错误来源信息。
* @return a XML String show err msg
*/
public static String errXMLString(
 String title,
 String errMsg,
 Class errClass) {
  StringBuffer msg = new StringBuffer(100);
  msg.append("<?xml version="1.0" encoding="gb2312" ?>");
  msg.append("<errNode title=""
   + title
   + "" errMsg=""
   + errMsg
   + "" errSource=""
   + errClass.getName()
   + ""/>");
  return msg.toString();
 }

posted @ 2007-08-20 02:22 jadmin 阅读(85) | 评论 (0)编辑 收藏

前几天装了个Firefox2.0.6浏览器,感觉性能确实不错,但就是太耗内存了,最后决定还是用IE+GB,卸掉!

谁知卸了Firefox后,硬盘上所有的htm和html文件的图标都关联失败了,上网查了下,原来装Firefox的时候,注册表被强行修改了,解决如下:

进入注册表,依次找到HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.htm和HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html

把他们默认值改成htmlfile,再重启下机器就OK了.

posted @ 2007-08-20 02:13 jadmin 阅读(69) | 评论 (0)编辑 收藏

Imagine life as a game in which you are juggling some five balls in the air. You name them: Work, Family, Health, Friends, Spirit. And you're keeping all these in the air. You will soon understand that work is a rubber ball. If you drop it, it will bounce back. But the other four balls-family, health, friends and spirit are made of glass. If you drop one of these, it will be irrevocably scuffed, marked, nicked, damaged or even shattered. They will never be the same. You must understand that and strive for balance in your life.

How?

Don't undermine your worth by comparing yourself to others. It is because we are different that each of us is special.

Don't set your goals by what other people deem important. Only you know what is best for you.

Don't take for granted the things closest to your heart. Cling to them as you would to your life, for without them, life is meaningless.

Don't let your life slip through your fingers by living in the past or for the future. By living your life one day at a time, you live all the days of your life.

Don't give up when you still have something to give. Nothing is really over until the moment you stop trying.

Don't be afraid to admit that you are less than perfect. It is this fragile thread that binds us each together.

Don't be afraid to encounter risks. It is by taking chances that we learn how to be brave.

Don't shut love out of your life by saying it's impossible to find. The quickest way to receive love is to give; the fastest way to lose love is hold it too tightly; and the best way to keep love is to give it wings.

Don't run though life so fast that you forget not only where you've been, but also where you are going.

Don't forget, a person's greatest emotional need is to feel appreciated.

Don't be afraid to learn. Knowledge is weightless, a treasure you can always carry easily.

Don't use time or words carelessly. Neither can be retrieved.

Life is not a race, but a journey to be savored each step of the way.

Yesterday is history. Tomorrow is mystery and Today is a gift: that's why we call it "The Present".

posted @ 2007-08-19 05:27 jadmin 阅读(51) | 评论 (0)编辑 收藏

记住,从现在开始,多想想你拥有的,而不是你想要的。如果这样做,你的生活会比以前更美好,那种感受或许将是你生命中的第一次,你将会懂得心满意足的含义。

One of the more pervasive and destructive mental tendencies I've seen is that of focusing on what we want instead of what we have. It doesn't seem to make my difference how much we have, we just keep expanding our list of desires, which guarantees we will remain dissatisfied. The mind-set that says "I'll be happy" when this desire is fulfilled is the same mind-set that will repeat itself once that desire is met.

We want this or that. If we don't get what we want, we keep thinking about all that we don't have and we remain dissatisfied. If we do get what we want, we simply recreate the same thinking in our new circumstances. So, despite getting what we want, we still remain unhappy. Happiness can't be found when we are yearning for new desires.

Luckily, there is a way to be happy. It involves changing the emphasis of our thinking from what we want to what we have. Rather than wishing you were able to take a vacation to Hawaii, think of how much fun you have had close to home. The list of possibilities is endless! Each time you notice yourself falling into the "I wish life were different" trap, back off and start over. Take a breath and remember all that you have to be grateful. When you focus not on what you want, but on what you have, you end up getting more of what you want anyway. If you focus on the good qualities of your spouse, she'll be more loving. If you are grateful for your job rather than complaining about it, you'll do a better job, be more productive, and probably end up getting a raise any-way. If you focus on ways to enjoy yourself around home rather than waiting to enjoy yourself in Hawaii, you'll end up having more fun. If you ever do get to Hawaii, you'll be in the habit of enjoying yourself. And, if by some chance you don't, you have a great life anyway.

Make a note of yourself to start thinking more about what you have than what you want. If you do, your life will start appearing much better than before. For perhaps the first time in your life, you'll know what it means to feel satisfied.

posted @ 2007-08-19 05:24 jadmin 阅读(64) | 评论 (0)编辑 收藏

Windows自推出以来一直以其快捷的操作,简单的界面,实用的功能,强大的多媒体功能等诸多特性为买点长期占据着操作系统的王座。并且我们使用Windows也已经有数个春秋了,但我们真的对Windows操作了如执掌了吗?真的知道如何操作吗?以下列出一些比较实用的快捷键:

CTRL+A:选中活动窗口的所有内容
CTRL+C:把选中的东西复制到粘贴板
CTRL+F:显示“查找和替换”对话框
CTRL+G:显示定位对话框
CTRL+N:显示新建对话框
CTRL+O:显示打开对话框
CTRL+P:显示打印对话框
CTRL+S:保存当前文档
CTRL+V:粘贴
CTRL+X:剪切
CTRL+Z:撤销
ALT+F4:关闭当前活动窗口
CTRL+拖放文件:复制拖放的文件
CTRL+ESC:显示开始菜单
CTRL+F6:打开活动应用程序的下一个文档窗口
ALT+ENTER:显示选中对象的属性
ALT+F4:关闭活动项目或者退出活动的程序
ALT+空格:打开当前活动窗口的快捷菜单
ALT+TAB:在打开窗口间切换
ALT+ESC:以打开的顺序切换窗口
F1:提供当前窗口或者选中项目的帮助文件
F2:重命名选中的项目
F3:搜索文件或文件夹
F4:显示我的电脑或Windows Explorer中的地址栏
F5:刷新活动窗口
F6:在当前窗口中的元素间切换,与TAB键功能一样
F10:激活当前窗口的菜单栏
Win:显示或隐藏开始菜单
Win+BREAK:显示系统属性对话框
Win+D:显示桌面
Win+M:最小化所有窗口
Win+SHIFT+M:恢复最小化窗口
Win+E:打开我的电脑
Win+F:搜索文件或文件夹
CTRL+Win+F:搜索计算机
Win+F1:显示Windows帮助文件
Win+L:锁住键盘
Win+R:打开运行窗口
Win+U:打开辅助工具管理器
TAB:在选项间切换
SHIFT+TAB:在选项间切换,顺序与TAB相反
CTRL+TAB:在标签间进行切换
CTRL+SHIFT+TAB:在标签间反向切换
CTRL+SHIFT+ESC:打开Windows任务管理器
ALT+带下划线的字母:运行相应的命令或选择相应的选项
空格键:如果焦点选中复选框,选择或反选复选框
Win→U→U:快速关机(→表示连续分开执行)

以下的快捷键用于与Windows资源管理器类型的程序:
NUM LOCK+星号(*):显示选中文件夹的所有子文件夹(如果系统里的文件很多,反映会很慢哦~)
NUM LOCK+加号(+):显示选中文件夹的内容
NUM LOCK+减号(—):折叠选中文件夹

posted @ 2007-08-19 05:12 jadmin 阅读(70) | 评论 (0)编辑 收藏

String的创建

   String s = "hello";
   JVM先根据内容"hello"查找对象,如果没有找到,则在heap上创建新对象,并将其赋予s1,否则使用已经存在的对象

   String s = new String("hello");
   JVM直接在heap上创建新的对象,所以在heap中会出现内容相同,地址不同的String对象


String的比较

   "=="         比较地址
   "equals"     比较内容

   举例:
   String s1 = "hello";
   String s2 = "hello";
   String s3 = new String("hello");

   s1 == s2;                // true         地址相同
   s1 == s3;                // false        地址不同
   s1.equals(s2);           // true         内容相同
   s1.equals(s3);           // true         内容相同


intern() 方法

    查找内容相同(equals())的字符串

    String s1 = "hello";                 // hello不存在,jvm创建新对象 (1)
    String s2 = new String("hello");     // 创举新对象 (2),这时heap中存在两个内容为hello的对象
    s1 == s2;            // false         // 地址不同
    s1.equals(s2);       // true          // 内容相同
    s2 = s2.intern();    // true          // 找到对象(1) 并赋予s2
    s1 == s2;            // true !!       // 注意:此时s1,s2同指向(1)


效率:String 与 StringBuffer

     情景1:
     (1) String result = "hello" + " world";
     (2) StringBuffer result = new String().append("hello").append(" world");

         (1) 的效率好于 (2),不要奇怪,这是因为JVM会做如下处理
         编译前    String result = "hello" + " world";
         编译后    String result = "hello world";


     情景2:
     (1) public String getString(String s1, String s2) {
             return s1 + s2;
         }
     (2) public String getString(String s1, String s2) {
             return new StringBuffer().append(s1).append(s2);
         }

         (1) 的效率与 (2) 一样,这是因为JVM会做如下处理
         编译前    return s1 + s2;
         编译后    return new StringBuffer().append(s1).append(s2);


     情景3:
     (1) String s = "s1";
               s += "s2";
               s += "s3";
     (2) StringBuffer s = new StringBuffer().append("s1").append("s2").append("s3");

         (2) 的效率好于(1),因为String是不可变对象,每次"+="操作都会造成构造新的String对象


     情景4:
     (1) StringBuffer s = new StringBuffer();
         for (int i = 0; i < 50000; i ++) {
             s.append("hello");
         }
     (2) StringBuffer s = new StringBuffer(250000);
         for (int i = 0; i < 50000; i ++) {
             s.append("hello");
         }
       
         (2) 的效率好于 (1),因为StringBuffer内部实现是char数组,默认初始化长度为16,每当字符串长度大于char
         数组长度的时候,JVM会构造更大的新数组,并将原先的数组内容复制到新数组,(2)避免了复制数组的开销
        

关键点
     1). 简单的认为 .append() 效率好于 "+" 是错误的!
     2). 不要使用 new 创建 String
     3). 注意 .intern() 的使用
     4). 在编译期能够确定字符串值的情况下,使用"+"效率最高
     5). 避免使用 "+=" 来构造字符串
     6). 在声明StringBuffer对象的时候,指定合适的capacity,不要使用默认值(18)
     7). 注意以下二者的区别不一样
         - String s = "a" + "b";
         - String s = "a";
           s += "b";

posted @ 2007-08-19 04:43 jadmin 阅读(43) | 评论 (0)编辑 收藏
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.1.10-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql> show databases
-> ;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
mysql> create database soft;
Query OK, 1 row affected (0.00 sec)
mysql> show databases
-> ;
+----------+
| Database |
+----------+
| mysql |
| soft |
| test |
+----------+
3 rows in set (0.00 sec)
mysql> source info_web.sql
ERROR 1046 (3D000): No database selected
mysql> use soft;
Database changed
mysql> source info_web.sql
Query OK, 0 rows affected (0.11 sec)
mysql> source 2.sql;
Query OK, 0 rows affected (0.08 sec)
mysql> source 1.sql;
Query OK, 0 rows affected (0.09 sec)
mysql> show tables
-> ;
+----------------+
| Tables_in_soft |
+----------------+
| info_web |
| mainclass |
| subclass |
+----------------+
3 rows in set (0.00 sec)
mysql> show table info_web;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'info_
web' at line 1
mysql>
mysql> describe info_web;
+------------+-------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------------------+-------+
| id | varchar(32) | | PRI | | |
| number | int(11) | YES | | NULL | |
| iswarn | int(11) | YES | | NULL | |
| title | text | YES | | NULL | |
| power | int(11) | YES | | NULL | |
| limit | int(11) | YES | | NULL | |
| content | text | YES | | NULL | |
| date | datetime | YES | | 0000-00-00 00:00:00 | |
| persion_id | varchar(32) | YES | | NULL | |
| visit_num | int(11) | YES | | NULL | |
| pic_in | int(11) | YES | | NULL | |
+------------+-------------+------+-----+---------------------+-------+
11 rows in set (0.03 sec)
mysql> describe mainclass
-> ;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| main_num | int(11) | | PRI | NULL | auto_increment |
| main_name | varchar(32) | YES | | NULL | |
| main_order | int(11) | YES | MUL | 0 | |
| href | varchar(128) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
mysql> describe subclass;
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| sub_num | int(11) | | PRI | NULL | auto_increment |
| main_num | int(11) | YES | MUL | NULL | |
| sub_name | varchar(64) | YES | | NULL | |
| href | varchar(128) | YES | | NULL | |
| isuse | int(11) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
mysql>
posted @ 2007-08-19 04:29 jadmin 阅读(43) | 评论 (0)编辑 收藏
仅列出标题
共50页: First 上一页 30 31 32 33 34 35 36 37 38 下一页 Last