#
毕业后,有人工作,有人继续上学,大家千万不要错过这篇文章,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享,也希望对有缘人有所帮助!这篇文章有点长,但是希望你能够耐心的看完,看完之后有种“相见恨晚”的感觉,特别激动,希望大家好好的珍藏这篇文章,相信多年以后,再来看这篇文章,一定有不同的感觉。
正如”打工皇帝”唐骏说:”我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学到什么,对发展是不是有利……”
人总是从平坦中获得的教益少,从磨难中获得的教益多;从平坦中获得的教益浅,从磨难中获得的教益深。一个人在年轻时经历磨难,如能正确视之,冲出黑暗,那就是一个值得敬慕的人。最要紧的是先练好内功,毕业后这5年就是练内功的最佳时期,练好内功,才有可能在未来攀得更高。
出路在哪里?出路在于思路!
其实,没有钱、没有经验、没有阅历、没有社会关系,这些都不可怕。没有钱,可以通过辛勤劳动去赚;没有经验,可以通过实践操作去总结;没有阅历,可以一步一步去积累;没有社会关系,可以一点一点去编织。但是,没有梦想、没有思路才是最可怕的,才让人感到恐惧,很想逃避!
人必须有一个正确的方向。无论你多么意气风发,无论你是多么足智多谋,无论你花费了多大的心血,如果没有一个明确的方向,就会过得很茫然,渐渐就丧失了斗志,忘却了最初的梦想,就会走上弯路甚至不归路,枉费了自己的聪明才智,误了自己的青春年华。
荷马史诗《奥德赛》中有一句至理名言:”没有比漫无目的地徘徊更令人无法忍受的了。”毕业后这5年里的迷茫,会造成10年后的恐慌,20年后的挣扎,甚至一辈子的平庸。如果不能在毕业这5年尽快冲出困惑、走出迷雾,我们实在是无颜面对10年后、20年后的自己。毕业这5年里,我们既有很多的不确定,也有很多的可能性。
毕业这5年里,我们既有很多的待定,也有很多的决定。
迷茫与困惑谁都会经历,恐惧与逃避谁都曾经有过,但不要把迷茫与困惑当作可以自我放弃、甘于平庸的借口,更不要成为自怨自艾、祭奠失意的苦酒。生命需要自己去承担,命运更需要自己去把握。在毕业这5年里,越早找到方向,越早走出困惑,就越容易在人生道路上取得成就、创造精彩。无头苍蝇找不到方向,才会四处碰壁;一个人找不到出路,才会迷茫、恐惧。
生活中,面对困境,我们常常会有走投无路的感觉。不要气馁,坚持下去,要相信年轻的人生没有绝路,困境在前方,希望在拐角。只要我们有了正确的思路,就一定能少走弯路,找到出路!
成功的人不是赢在起点,而是赢在转折点。
不少刚刚毕业的年轻人,总是奢望马上就能找到自己理想中的工作。然而,很多好工作是无法等来的,你必须选择一份工作作为历练。职业旅程中的第一份工作,无疑是踏入社会这所大学的起点。也许你找了一份差强人意的工作,那么从这里出发,好好地沉淀自己,从这份工作中汲取到有价值的营养,厚积薄发。千里之行,始于足下,只要出发,就有希望到达终点。
起点可以相同,但是选择了不同的拐点,终点就会大大不同!
毕业这几年,我们的生活、感情、职业等都存在很多不确定的因素,未来也充满了各种可能。这个时候,必须学会选择,懂得放弃,给自己一个明确的定位,使自己稳定下来。如果你不主动定位,就会被别人和社会”定型”!
可以这么说:一个人在毕业这5年培养起来的行为习惯,将决定他一生的高度。我们能否成功,在某种程度上取决于自己对自己的评价,这就是定位。你给自己定位是什么,你就是什么。定位能决定人生,定位能改变命运。丑小鸭变成白天鹅,只要一双翅膀;灰姑娘变成美公主,只要一双水晶鞋。
人的命,三分天注定,七分靠打拼,有梦就”会红”,爱拼才会赢。只要不把自己束缚在心灵的牢笼里,谁也束缚不了你去展翅高飞。
现实情况远非他们所想的那样。于是,当优越感逐渐转为失落感甚至挫败感时,当由坚信自己是一块”金子”到怀疑自己是一粒”沙子”时,愤怒、迷茫、自卑就开始与日俱增。
其实,应该仔细掂量一下自己,你是否真是金子?是真金,手中要有绝活,才能上要有过人之处才行。一句话:真金是要靠实力来证明的,只有先把自己的本领修炼好了,才有资格考虑伯乐的事情
每颗珍珠原本都是一粒沙子,但并不是每一粒沙子都能成为一颗珍珠。
想要卓尔不群,就要有鹤立鸡群的资本。忍受不了打击和挫折,承受不住忽视和平淡,就很难达到辉煌。年轻人要想让自己得到重用,取得成功,就必须把自己从一粒沙子变成一颗价值连城的珍珠。
天有下雨与日出,人生高峰与低谷。
莫为浮云遮望眼,风物长宜放眼量。
只要拂去阴霾,就能亮出朗朗晴空。如果你在工作上有些不如意,要相信自己不会一直处于人生的低谷期,总有一天能冲破重重云层。告诉自己:我并没有失败,只是暂时没有成功!只要在内心点亮一盏希望之灯,一定能驱散黑暗中的阴霾,迎来光明。
的确,论资历,他们是不折不扣的职场菜鸟,业务涉及不深,人脉一穷二白,在工作中经常碰壁。他们的压力并不一定都像千钧大石,而是像大雨来临前的天色,灰色低沉,明明有空间,却被灰色填满每个缝隙,只能等待大雨倾盆之后的晴空。
”起得比鸡早,睡得比狗晚,干得比驴多,吃得比猪差。”这是很多刚刚毕业的人喜欢用来调侃自己生活状态的话。虽然有点儿夸张,但是,他们中的很多人的确一直都被灰色心情所笼罩–心里永远是多云转阴。记得有位哲人曾说:”我们的痛苦不是问题本身带来的,而是我们对这些问题的看法产生的。”换个角度看人生,是一种突破、一种解脱、一种超越、一种高层次的淡泊与宁静,从而获得自由自在的快乐。
一位哲人说:”人生就是一连串的抉择,每个人的前途与命运,完全把握在自己手中,只要努力,终会有成。”就业也好,择业也罢,创业亦如此,只要奋发努力,都会成功。你是不是准备把生命的承诺全部都交给别人?
毕业后这5年,是改变自己命运的黄金时期。在最能决定自己命运时,如果还不把握,那你还要等到什么时候呢?我的人生我做主,命运由己不由人。
不要活在别人的嘴里,不要活在别人的眼里,而是把命运握在自己手里。
别说你没有背景,自己就是最大的背景。美国作家杰克·凯鲁亚克说过一句话:”我还年轻,我渴望上路。”在人生的旅途中,我们永远都是年轻人,每天都应该满怀渴望。每个人的潜能都是无限的,关键是要发现自己的潜能和正确认识自己的才能,并找到一个能充分发挥潜能的舞台,而不能只为舞台的不合适感到不快。要客观公正地看待自己的能力,结合自己的实际情况和爱好冷静选择,尽可能到最需要自己、最适合自己的地方。
在人力资源管理界,特别流行一个说法,即”骑马,牵牛,赶猪,打狗”理论:人品很好,能力又很强的,是千里马,我们要骑着他;人品很好但能力普通的,是老黄牛,我们要牵着他;人品、能力皆普通的,就是”猪”,我们要赶走他;人品很差能力很强的,那是”狗”,我们要打击他。
我想,刚刚毕业几年的你,一样胸怀大志,一样想成为一匹被人赏识、驰骋沙场的千里马吧?那么,就好好沉淀下来。低就一层不等于低人一等,今日的俯低是为了明天的高就。所谓生命的价值,就是我们的存在对别人有价值。能被人利用是一件好事,无人问津才是真正的悲哀!
能干工作、干好工作是职场生存的基本保障。
任何人做工作的前提条件都是他的能力能够胜任这项工作。能干是合格员工最基本的标准,肯干则是一种态度。一个职位有很多人都能胜任,都有干好这份工作的基本能力,然而,能否把工作做得更好一些,就要看是否具有踏实肯干、苦于钻研的工作态度了。
在能干的基础上踏实肯干。
工作中,活干得比别人多,你觉得吃亏;钱拿得比别人少,你觉得吃亏;经常加班加点,你觉得吃亏……其实,没必要这样计较,吃亏不是灾难,不是失败,吃亏也是一种生活哲学。现在吃点儿小亏,为成功铺就道路,也许在未来的某个时刻,你的大福突然就来了。
能吃亏是做人的一种境界,是处世的一种睿智。
在工作中并不是多做事或多帮别人干点儿活就是吃亏。如果领导让你加加班、赶赶任务,别以为自己吃了大亏,反而应该感到庆幸,因为领导只叫了你,而没叫其他人,说明他信任你、赏识你。吃亏是一种贡献,你贡献得越多,得到的回报也就越多。乐于加班,就是这样的一种吃亏。
舍得舍得,有舍才有得;学会在适当时吃些亏的人绝对不是弱智,而是大智。
给别人留余地就是给自己留余地,予人方便就是予己方便,善待别人就是善待自己。
傻人有傻福,因为傻人没有心计。和这样的人在一起,身心放松,没有太多警惕,就能相互靠近。傻在很多时候意味着执着和忠贞,也意味着宽厚和诚实,让人不知不觉站到他一边。傻人无意中得到的,比聪明人费尽心机得到的还多。毕业这几年,你的天空中只飘着几片雪花,这样你就满足了吗?成功需要坚持与积累,与其专注于搜集雪花,不如省下力气去滚雪球。巴菲特说:”人生就像滚雪球,最重要的是发现很湿的雪和很长的坡。”让自己沉淀下来,学着发现”很湿的雪”,努力寻找”很长的坡”。记住:散落的雪花会很快融化,化为乌有,只有雪球才更实在,才能长久。
在毕业这几年里,你要是能做到比别人多付出一分努力,就意味着比别人多积累一分资本,就比别人多一次成功的机会。
什么是职业化呢?职业化就是工作状态的标准化、规范化、制度化,即在合适的时间、合适的地点用合适的方式说合适的话、做合适的事,使知识、技能、观念、思维、态度、心理等符合职业规范和标准。”在每个行业里,都有很多出色的人才,他们之所以能存在,是因为比别人更努力、更智慧、更成熟。但是,最重要的是,他们比一般人更加职业化!这就是为什么我现在能当你老板的原因。一个人仅仅专业化是不够的,只有职业化的人才能飞在别人前面,让人难以超越!”不要以为我们现在已经生存得很安稳了。对于毕业5年的人来讲,一定要认清即将面临的五大挑战。
一、赡养父母。
二、结婚生子。
三、升职加薪。
四、工作压力。
五、生活质量。
有的人为生存而雀跃,目光总是停在身后,三天打鱼两天晒网,有始无终。
有的人为发展而奋斗,目光总是盯在正前方,每天进步一点点,坚持不懈。
毕业这几年,不能没有追求和探索,不能没有理想和目标。人生如逆水行舟,不进则退。甘于现状的生活就是不再前行的船,再也无法追上时代前进的步伐。一定要抓紧每一秒钟的时间来学习,要明白学习不是学生的专利。小聪明的人最得意的是:自己做过什么?大智慧的人最渴望的是:自己还要做什么?
小聪明是战术,大智慧是战略;小聪明看到的是芝麻,大智慧看到的是西瓜。
在这个世界上,既有大人物,也有小角色,大人物有大人物的活法,小人物有小人物的潇洒,每个人都有自己的生活方式,谁也勉强不了谁。但是,小聪明只能有小成绩和小视野,大智慧才能有大成就和大境界。小企业看老板,中企业看制度,大企业看文化。
小公司与大企业都有生存之道,没有好坏之分,但对一个人不同阶段的影响会不同。
小公司肯定想要发展为大企业,这是一种目标,年轻人也要给自己的职业生涯制定目标。毕业几年的你,是否经常会怯场或者是感到没有底气?居安思危绝对不是危言耸听!此刻打盹,你将做梦;此刻学习,你将圆梦。在竞争激烈的人生战场上,打盹的都是输家!
每个人在年轻的时候似乎都豪情万丈,什么都不怕,可是随着年龄的增长,每天想着房子、工作、养家糊口这些俗事儿,再也没有年轻时那种敢于”上天探星、下海捞月”的勇气了。是我们改变了生活,还是生活改变了我们?我们的思想越来越复杂,因为有了越来越多的舍不得、越来越多的顾虑,我们总是在徘徊、总是在犹豫。毕业开始一两年,生活的重担会压得我们喘不过气来,挫折和障碍堵住四面八方的通口,我们往往在压迫得自己发挥出潜能后,才能杀出重围,找到出路。可是两三年后,身上的重担开始减轻,工作开始一帆风顺,我们就松懈了下来,渐渐忘记了潜在的危险。直到有一天危机突然降临,我们在手足无措中被击败……毕业这几年,仍然处于危险期,一定要有居安思危的意识,好好打拼,这样才能有一个真正的安全人生!
生于忧患,死于安乐。如果你想跨越自己目前的成就,就不能画地自限,而是要勇于接受挑战。对畏畏缩缩的人来说,真正的危险正在于不敢冒险!
年轻人在社会的重压下,适应能力已变得越来越强,只是他们不自觉地习惯被环境推着走。他们不敢冒险,怕给自己带来终身的遗憾,于是告慰自己:”我对得起自己、对得起家人,因为我已竭尽全力。”其实,人只有不断挑战和突破才能逐渐成长。长期固守于已有的安全感中,就会像温水里的青蛙一样,最终失去跳跃的本能。
经历了这几年社会生活,你应该明白:这个世界上有富也有贫,有阴也有亮,有丑也有美,到底看到什么,取决于自己是积极还是消极。在年轻时学会勤勉地工作,用一种光明的思维对待生活,那么,只要张开手掌,你就会发现,里面有一片灿烂的人生。
把感恩刻在石头上,深深地感谢别人帮助过你,永远铭记,这是人生应有的一种境界;把仇恨写在沙滩上,淡淡忘掉别人伤害过你,学会宽容,让所有的怨恨随着潮水一去不复返,这也是一种人生境界。
学会倒出水,才能装下更多的水。从毕业那天开始,学会把每天都当成一个新的起点,每一次工作都从零开始。如果你懂得把”归零”当成一种生活的常态,当成一种优秀的延续,当成一种时刻要做的事情,那么,经过短短几年,你就可以完成自己职业生涯的正确规划与全面超越。
在职业起步的短短道路上,想要得到更好、更快、更有益的成长,就必须以归零思维来面对这个世界。不要以大学里的清高来标榜自己,不要觉得自己特别优秀,而是要把自己的姿态放下,把自己的身架放低,让自己沉淀下来,抱着学习的态度去适应环境、接受挑战。放下”身段”才能提高身价,暂时的俯低终会促成未来的高就。
年轻人从校园或者从一个环境进入一个新环境,就要勇于将原来环境里熟悉、习惯、喜欢的东西放下,然后从零开始。我们想在职场上获得成功,首先就要培养适应力。从自然人转化为单位人是融入职场的基本条件。一个人起点低并不可怕,怕的是境界低。越计较自我,便越没有发展前景;相反,越是主动付出,那么他就越会快速发展。很多今天取得一定成就的人,在职业生涯的初期都是从零开始,把自己沉淀再沉淀、倒空再倒空、归零再归零,正因为这样,他们的人生才一路高歌,一路飞扬。
在毕业这几年里,我们要让过去归零,才不会成为职场上那只背着重壳爬行的蜗牛,才能像天空中的鸟儿那样轻盈地飞翔。请好好品味一下杰克·韦尔奇说过的一句话:”纠正自己的行为,认清自己,从零开始,你将重新走上职场坦途。” 吐故才能纳新,心静才能身凉,有舍才能有得,杯空才能水满,放下才能超越。
归零思维五大表现:心中无我,眼中无钱,念中无他,朝中无人,学无止境。
年轻人难免带着几分傲气,认为自己无所不能、所向披靡,其实不然,初入职场的新人还是个”婴儿”,正处在从爬到走的成长阶段。在毕业这几年里,一定要让自己逐步培养起学徒思维、海绵思维、空杯思维,具有这样思维的人心灵总是敞开的,能随时接受启示和一切能激发灵感的东西,他们时刻都能感受到成功女神的召唤。
JavaScrip 中String 与XML 互相转换的函数小记
function convert_string_to_xml(strXML)
{
if (window.ActiveXObject) {
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(strXML);
return xmlDoc;
} else {
parser=new DOMParser();
xmlDoc=parser.parseFromString(strXML,"text/xml");
return xmlDoc;
}
}
function convert_xml_to_string(xmlObject)
{
if (window.ActiveXObject) { // for IE
return xmlObject.xml;
} else {
return (new XMLSerializer()).serializeToString(xmlObject);
}
}
摘要: JBOSS 下如何配置C3P0的连接池(解决Mysql 8小时的问题)
问题引起:
在公司配置文档管理系统(OPENKM)时,把数据源切换到Mysql数据源下,经过测试,发现经过8小时后,数据库连接自动断开。
解决办法:
把原来的openkm-ds.xml删除掉。原openkm-ds.xml的内容如下:
...
阅读全文
一、系统环境
操作系统: RedHat Enterprise Linux 5
二、安装JDK
1. 从java.sun.com下载最新的J2SE 1.5:jdk-1_5_0_17-linux-i586-rpm.bin
下载地址:
http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-1_5_0_17-linux-i586-rpm.bin?BundledLineItemUUID=QZlIBe.mUMYAAAEevV9SRJFA&OrderID=V_dIBe.mwxAAAAEeoV9SRJFA&ProductID=UEdIBe.omzcAAAEdklhGb7Xo&FileName=/jdk-1_5_0_17-linux-i586-rpm.bin
2. 将JDK安装文件jdk-1_5_0_17-linux-i586-rpm.bin拷贝到Redhat任意目录下。例如:/opt/jdk(目录jdk需要手动新建)
3. 执行 #chmod +x jdk-1_5_0_17-linux-i586-rpm.bin
4. 执行 ./jdk-1_5_0_17-linux-i586-rpm.bin
此时会出现JDK安装授权协议。可以一路按Enter浏览。如果等的不耐烦可以直接按Ctrl+C,直接会出现Do you agree to the above license terms? [yes or no]的字样。
5. 键入yes,同意该授权协议。
此时系统会开始解压jdk-1_5_0_17-linux-i586-rpm.bin
6. 解压完毕后,回到/opt/jdk目录,键入dir。会发现多出了一个解压好的安装文件:jdk-1_5_0_17-linux-i586.rpm
7. 执行 rpm -ivh jdk-1_5_0_17-linux-i586.rpm
此时,系统会开始安装JDK。安装结束后可以在/usr目录下发现新增了一个名为java的文件夹。该文件夹就是安装好的JDK目录。
8. 设置环境变量
a. 进入/etc文件夹(具体操作命令忽略),找到文件profile并打开。
[注意:profile是指文件不是指文件夹]
b. 找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,在该语句的上面添加以下语句:
export JAVA_HOME="/usr/java/jdk1.5.0_17"
[注意:“=”两侧不能有空格]
export CLASSPATH="/usr/java/jdk1.5.0_17/lib:/usr/java/jdk1.5.0_17/jre/lib"
[注意:“=”两侧不能有空格;“:”是冒号,同样不要有空格出现]
pathmunge /usr/java/jdk1.5.0_17/bin:/usr/java/jdk1.5.0_17/jre/bin
[注意:无引号]
9. 设置完毕后,保存文件。重启Redhat后登录控制终端,键入:java -version;
如果出现java version “1.5.0.17”等字样,说明您的JDK已经安装成功了!祝贺你!
Jetty启动后,如果修改javascript文件,将不能保存,使调试很麻烦。这是因为使用了CACHE,JETTY说是WINDOWS下的一个限制。可以通过如下方法修正:
解压出jetty.jar中的org/mortbay/jetty/webapp/webdefault.xml文件,将这一选项由true改为false,另存到src/main/resources目录,或者其它自选目录。
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>true</param-value> <!-- change to false -->
</init-param>
把修改后的webdefault.xml文件跟pom.xml放在一起
修改pom.xml里的Jetty Plugin的配置,加入webdefault.xml
...
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<contextPath>/</contextPath>
<webDefaultXml>webdefault.xml</webDefaultXml>
...
</configuration>
...
</plugin>
...
附。。。在项目中用到的Jetty用Java代码Call Jetty启动的方法
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;
public class JettyStarter {
public JettyStarter() {
}
public static void main(String[] args) {
try {
Server server = new Server();
Connector connector = new SelectChannelConnector();
connector.setPort(9999);
server.setConnectors(new Connector[] { connector });
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setResourceBase("./src/main/webapp");
webapp.setDefaultsDescriptor("./webdefault.xml");
server.setHandler(webapp);
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Openfire 是由Jive Software 主导开发的一套功能非常强大的开源im 服务器(前身是
wildfire),它基于XMPP 协议,完全用java实现,是一款非常优秀的服务器端软件。
一. 安装JDK(我使用的是JDK1.6), 不再详述
二. 安装 Eclipse 5.5(不再详述)
三. 安装Subversive插件
Subversive是一款不错的svn插件,具体安装方法请参看我的另一篇文章《Eclipse中
安装svn插件Subversive 》,链接
http://blog.csdn.net/zhenyucheung/archive/2008/03/19/2195518.aspx
四. check out openfire 源码
1. 在eclipse中点击Windows->Open Perspective->Other
2. 在弹出窗口中点击SVN Repository Exploring 然后点OK
3. 在SVN Repositories 点右键,选择 New->Repository Location...
4. 在弹出的New Repository Location页面,将
http://svn.igniterealtime.org/svn/repos输入URL文本框,点Finish. 你将会看到页面出
现URL地址.
5. 展开URL地址
6. 展开openfire树形结构
7. 在trunk上点击右键,选择Check Out
剩下的就是等待check out完成了 :)
五. 创建openfire工程
对使用过eclipse的人来说,这一步不用多说,这里仅列出几个需要注意的地方.
1. check out完毕后,eclipse会自动创建一个openfire工程,请把它删除(注意删除时
不要删除content),否则你将不得不手动配置一些开发环境。
2. 用Create project from existing source新建工程,注意工程名要用openfire。
-----------------
若自己创建工程:
五.创建Java项目,将源代码导入此项目中。在Eclipse中将此Java文件夹当成源代码文件夹
新建工程。库都在Build目录的lib目录下,将openfire用到的库都添加到这个新建工程的
Referenced Libraries中。
六. Build openfire
openfire是用ant构建的,所以要先设置使得eclipse中每次编译都使用内置的ant工具,
保证编译的正确执行。
1. eclipse中点击Window->Show View->Ant
2. 在Ant 页面点右键,选择 Add Buildfiles...
3. 展开openfire/build文件夹,选择build.xml, 点 OK.
4. 在Ant页面, 展开Openfire XMPP Server,双击 openfire ant 任务
七. 创建项目Builder
1. 点击Run->Open Run Dialog...
2. 选择Java Application,点击 New 按钮
3. 在Run窗口的Main选项卡中, 修改Name文本框中的值,改成Openfire,其他名字亦可
4. 点Browse按钮,选择openfire, 点ok
5. 点Search按钮,选择Main class为
org.jivesoftware.openfire.starter.ServerStarter,点OK。(这是openfire的启动类)
6. 点击进入Arguments选项卡
7. 在VM arguments文本框中输入 -
DopenfireHome="${workspace_loc:openfire}/target/openfire",这个是用于eclipse执行
java命令时传递的参数,这样openfire程序可以通过System.getProperty(“openfireHome”)得到
openfire的本地位置。
8. 点击进入Classpath选项卡
9. 点选User Entries,这样Advanced...就处于可用状态
10. 点击Advanced...按钮
11. 在Advanced Options页面,选择Add Folders, 点ok.
12. 选择openfire\src\i18n, 点ok将这个文件夹加入到class path,同样的方式把
openfire\src\resources\jar也加到class path中。
13. 在Common选项卡中,点选Run复选框。
设置完毕,这样以后在run这个工程的时候就会按照正确的配置进行了。
当Maven项目很大,或者你运行诸如 mvn site 这样的命令的时候,maven运行需要很大的内存,在默认配置下,就可能遇到java的堆溢出。如:
[INFO] Building jar: /home/dl9pf/svn/mindquarry/mindquarry-jcr/mindquarry-jcr-changes/target/mindquarry-migration-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Java heap space
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:99)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:518)
...
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 minutes 14 seconds
[INFO] Finished at: Wed Sep 05 07:44:55 CEST 2007
[INFO] Final Memory: 37M/63M
[INFO] ------------------------------------------------------------------------
解决的方法是调整java的堆大小的值。
Windows环境中
找到文件%M2_HOME%\bin\mvn.bat ,这就是启动Maven的脚本文件,在该文件中你能看到有一行注释为:
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...
它的意思是你可以设置一些Maven参数,我们就在注释下面加入一行:
set MAVEN_OPTS= -Xms128m -Xmx512m
之后,当你运行Maven命令如 mvn -version 的时候,你会看到如下的输出:
E:\test>mvn -version
E:\test>set MAVEN_OPTS= -Xms128m -Xmx512m
Maven version: 2.0.9
Java version: 1.6.0_07
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
我们看到,配置的Maven选项生效了,OutOfMemoryError也能得以相应的解决。
Linux环境中
也可以通过设置环境变量解决该问题, 如,编辑文件 /etc/profile 如下
MAVEN_OPTS=-Xmx512m
export JAVA_HOME MAVEN_HOME MAVEN_OPTS JAVA_BIN PATH CLASSPATH
如果你使用Hudson
用 Hudson + Maven做持续集成,并不幸也遇到了类似的错误,那么上述两种方式都将不再起作用了,因为Hudson使用自己的maven-agent来启动Maven,不会去调用Maven的脚本,自然相应的配置也就无效了。
好在Hudson也给为我们提供了配置点,在Hudson的项目配置页面中,有一块Build区域,这里我们已经设置了Root Pom和Goals。注意该区域的右下角有一个"Advanced..."按钮,点击会看到MAVEN_OPTS输入框,这里输入"-Xmx512m"就OK了。
m2eclipse中
类似以上的方法都会失效,所幸m2eclipse提供了配置点。步骤如下:
项目上右击 -> Run As -> Run Configurations -> Maven Build 上右击 -> New
这时会看到一个maven运行配置对话框,这里面其它的配置我不多解释了,为了解决内存溢出的问题,我们可以选择第二个TAB: JRE,然后在VM arguments中输入配置如:-Xms128m -Xmx512m。
在<Script>标签里设置一个 charset
例如:
<link type="text/css" rel="stylesheet" href="http://020sun.3322.org/hxair/style.css" charset="gb2312" />
<script type="text/javascript" src="http://020sun.3322.org/hxair/js/command.js" charset="gb2312"></script>
为一个接口提供缺省实现,这样子类可以从这个缺省实现进行扩展.而不必从原有接口进行扩展.作为适配器模式的一个特例,缺省适配模式在java语言中有着特殊的应用.(引用java模式书)
adapter是一个非常常用的设计模式.
像windows的每个窗口,事件很多个.关闭,移动,最大化,最小化,
java代码设计如下:
interface 窗口{
public void 关闭();
public void 移动();
public ovid 最大化();
...
...
}
如果客户点击了关闭按钮,java类实现如下:
Frame implements 窗口{
public void 关闭(){
System.out.println("关闭窗口");
}
public void 移动()[
}
public ovid 最大化(){
}
...
...
}
这里面我们可以看出,我们关注的只有关闭按钮触发的事件,其它的我们不用管.但是在java类中,我们必须把接口的所有方法都给实现.这样我们连一些没有用的方法也得给实现.那怕是空实现.
下面我们来建一个抽象类来实现这个接口.
public abstract Frame implements 窗口{
public void 关闭(){
}
public void 移动(){
}
public ovid 最大化(){
}
...
...
}
这里我们可以看出,抽象类给每个接口一个空的实现,那我们都可以在抽象类的基础上进行扩展。关闭功能实现如下:
public CloseFrame extends Frame{
public void 关闭(){
System.out.println("关闭窗口");
}
}
像在java中的事件处理都是用适配器模式来实现的。接口,抽象类都是已经写好的。我们只需要实现具体功能的类就可以了。
再举个简单的例子:
假如存在如下接口:
interface TestInterface{
void test1();
void test2();
void test3();
}
如果我们只关注test1接口应该怎样写呢。
abstract class TestAbstract implements Test{
public void test1(){
}
public void test2(){
}
public void test3(){
}
}
class TestTest1 extends TestAbstract{
public void test1(){
System.out.println("方法1实现");
}
}
那么在什么情况下用相信大家已经能看得出来了吧。假如你不准备实现接口的所有方法。就可以建一个抽象类来实现这个接口的所有方法,当然这里全都是空的实现.然后再写一个类继承这个抽象类就可以得到你想要的结果了.