Thursday, October 28, 2010

Cover Letter & Resume 重点诠释 - 深度剖析

疯狂了改了三个星期的Resume和Cover Letter,吸取了各类资源和高人(行业,Career Center等)的意见之后。终于可以Debrief一下啦。仅供大家分享,挖掘过去,开创未来。网上有很多不同版本的这些信息,不过感觉都不是很 Professional,或者太泛了。。所以这篇文章是用来填补其中的漏洞的,至于基本的,就不介绍了,很多人知道的,不知道的也可以自学。。。总体来 说,Cover Letter和Resume就是问“So What”,你做了无数的事情,So what? 看你简历的人都是在问这些问题,回答好了这个问题,得到Interview就没有问题啦。

(大家看完了要是觉得好,记得转发,多多支持我哟谄笑)

先讲讲Cover Letter:

目的:Win the interview (Not the job)

结构:不要乱改结构,因为很多人只看第二段

第一段:说明你为什么要申请这个职位,以及表明你已经跟公司里面的某个人谈过了(重要!这样人家不会认为你的Cover Letter是Spam)。通常的切入点是公司的培训,文化以及行业状况,工作性质等等(选择因人和工作而异)。Anyway,表现出下过一番功夫。

第 二段:说明你为什么胜任职位。以Job Description为出发点,选出2-3点公司认为的重要的素质,加以阐述。特别重要的是!不要重复Resume里面提过的东西,要讲故事(但是要简 洁,我下面会提到CL跟Resume不同之处),讲完故事问自己一句“So what”,说明这些故事经历对公司能有什么贡献。人家看了Resume再看CL不想浪费时间看到重复的东西。

第三段:谢谢,你的联系方式。并且说明你会Follow-up (重要!很多机会是Follow up出来的,而且人家看了会觉得第一你有诚意,真心想要这份工作)

注意事项:

1. 要知道标准格式!Professional Firm很看重Professional,如果自己很牛,但是做的东西不Pro,不要怪HR或者Manager不给机会。标准格式是什么?去Vault随 便下一个Cover Letter Guide,看Sample,注意空格,空行,边距,字体,空白(空白很重要,原因?你一天工作18小时,结果让你看一张A4的纸上面全部是字。。。明白 吧。。),以及电子签名。

2. 再次强调,Cover Letter写上跟Resume不同的东西

3. Cover Letter一定要很好的Tailor到每个公司,不然就是Spam,你知道Spam的下场吧

4. 将自己的Cover Letter拿给人家看,问问是不是很吸引眼球。修改CL是一个长期过程。

再来讲讲Resume吧:

目的:Win the interview (Not the job)

结构:Contact --> Education --> Experience (篇幅一半) --> Activities (如果有两个Educations, 可以对应的放到Education下面) --> Skills

格式:不要花哨,简洁,要合理的运用“空白”(跟CL同理)。只能有一页(除非你特别肯定那个HR或者忙的要死的Manager会读完你的N-page的Resume)

Education:

1. 日期写Graduation Date,不要写 XXX - Present

2. GPA,Major GPA,TOEFL,GMAT什么的,高就放,不高就省略。多少是高?GMAT 730+, GPA 3.5+

3. 学位,专业。。。。你知道的

Experience & Activities: 四个字:结果导向(量化

相 信大家做了很多事情,也学了很多东西,然后很想把他们都放到简历上面去。很多人会说我干了我在某个学生会干了很多事情,比如组织活动,策划等等。。或者实 习中怎么怎么样了。。。It's OK, but so what? 所以,这里最关键的就是: Action leads to Results。什么是Result呢?看看公司的年报,他们都有自己的Key Performance Indicator,那就是Result。Investor关心的就是那些,他们不关心你中途干了多么Fancy的事情(虽然很重要)。这个道理对HR是 同样的。如果你的Action只是Action,没有Result的,那意义就不大了。这里可以举点例子:

- 实习中:%的工作得到承认,Performance Assessment的评价系数,创造了多少收入,为XX部门提供了多少增长率,完成了%的年度指标。。。等等

- 学生会:Membership增长百分比(Marketing做的好不好的评价),Retention rate(人才培训做的好不好的指标),参加会议的人数(影响度),满意度(组织的成功度),Budget(规模)。。。。。反正一堆,关键是要有这个意 识去想到这些。

- 然后就是参加各种比赛的得奖了。。(为什么大家喜欢得奖,因为奖项是对行动的证明。。但是多多发掘自己的过去,你也会发现即使没有奖项,你也完成了很多Result)

我 相信说了这么多,大家悟性这么好,应该明白了。。看看你的简历,每句话是否有数字,是否有结果,没有?赶紧改哟:) 总体来说,Resume是一个悟性问题,以结果为导向,甚至可以让你在未来做事情的时候有一个清晰的目标,做事的时候更有效率,更有效能。。。。。避免酱 油:)

Action words

- 强烈每句话的开头的Action Words都不一样!

- 每句话一定是Action words开头

- 针对申请职位需要的技能来设计Action words (附在了文章结尾)

Skills:

不要写无关的Skill,不要写Office,即使你觉得你Excel用的很好,在Experience里面表现出来。比如用Excel做了Valuation Model, Scenario Analysis,Pivot Table等等。。。

后话:

其 实CL和Resume就是一个认识自己,展望未来的过程。虽然整篇文章强调了Results-oriented,但是这并不代表有些事情跟Results 没有直接关系就不去干。。。个人是不喜欢这种比较功利的思想,但是business is business。。。Anyway,Enjoy your life, enjoy job hunting!

附上Action Words List (真诚感谢Weston Career Center的分享!):

Finance/Accounting Terminology

Constructed multi-scenario financial models

Asset divestitures

Equity and debt financings

Analyzed the strategic rationale, risks, and potential synergies of ______

Deal value ranging from (x amount)

Due diligence ______

Surpassed revenue goals

Increased _____ portfolio revenue by _____%

Expanded ______ from _____ to _______

Prepared and analyzed ______

Supported Client Negotiations

Employed Multiple Parameters including……

Liquidity ratios

Capital structure

Profitability and projected growth

Accretion/dilution analysis

Instrumental in revenue and income growth of…….

Directed domestic and international affiliates

Financial and Strategic Planning

Auditing and Compliance

Operating and Working Capital

Merger and Acquisition Negotiations

Cash Flow Management and Modeling

Business Valuations

Developed rapport with interested clients

Streamlined quarterly review of consolidated financial statements by….

Created and maintained financial models to…

Managed risk analysis

Implemented operational changes in the reporting process

Sensitivity analysis

Assisted in maintaining ___% accuracy of…

Managed the financial restructuring of…

Maintained account financials and presented the information in weekly meetings

Planned, performed, and supervised external financial statements

Generated division’s income statement and balance sheet

Progressive lean accounting system

Reconciled company bank accounts

Managed all accounting including sales reports and profit margin control

Built model to calculate profitability of…

Owned and presented financial strategy and cost analysis of…project

Developed investment strategies for $x portfolio

Efficient frontier analysis

Secured $x in new business relationships

Increased revenue per client by x%

Marketing Terminology

Product management

Brand management

Initiated various promotional campaigns

Arranged and directed _______ marketing events

Brand Equity

Brand Extension

Brand Recognition

Cannibalizing

Guerrilla Marketing

Social Marketing

Skimming Pricing

Line Extension

Distribution channels

Market Segmentation

Multi-Channel Marketing

Penetration Pricing Strategy

Viral Marketing

Communications platform

Product portfolio management

Customer profile and needs

Brand extension analysis

Improved forecasting accuracy by over __%

Created customized product report templates

Conducted site walkthroughs with clients and prospects

Helped drive market share of primary products

Analyzed profitability ratios in X products

Reengineered product and client mix

Performed competitive analysis

Researched emerging category opportunity

Launched national campaign…

Coordinated and scheduled consumer event promotions

Conducted post promotional analysis

Coordinated packaging stimulus, sensory testing, and qualitative exit interviews for…

Analyzed sales and consumer data to asses product/category performance

Facilitated ideation sessions to produce 20 product and packaging ideas

Developed word-of-mouth strategy to increase sales by $x

Developed strategy to increase household penetration and raise consumer awareness for...

Led team of x analysts through landscape assessment and creative development process

Crafted primary research studies to determine insights among target audience

Quantified sales lift from national promotional campaign

Defined influencer segment for brand X to drive high ROI

Ensured successful execution of retail marketing initiatives

Managed national ads, direct mail and retail marketing campaign

Improved competitive positioning

Developed comprehensive marketing strategy for new product offering

Consulting Terminology

Created storyboard for …

Analyzed potential of entry into x market

Recommended a strategic course of action resulting in a $x opportunity

Analyzed and quantified…

Reviewed company-wide sales results and compiled for presentation at board meeting

Engineered modifications to…

Drafted distilled EIM outline for lay audience…

Researched and compiled materials for company-wide reference library

Demonstrated ability to maintain absolute integrity

Proven track record of being highly effective in collaborative environments

Demonstrated entrepreneurial spirit and skills

Experienced in dealing with ambiguity

Demonstrated ability to be successful in high-pressure, high-stakes environment

Successfully navigated unfamiliar environment

Demonstrated proficiency in managing high-value client relationship

Proven track record of breaking down, structuring, and resolving ambiguous problems

Interviewed and elicited buy-in from wide array of client representatives

Improved communications and tracking of…

Spearheaded new and efficient methodology to…

Exhibited professional attitude

Proven track record of completing difficult projects on schedule

Accomplished Public Speaker

Skillfully communicated

Proven track record in selling new ideas

Conducted comprehensive research on….

Advised major global bank on strategic implementation of partnership with…

Performed due-diligence on existing product line

Benchmarked

Developed a balanced scorecard

Drilldown

Developed pilot strategy for supply chain, working with client team

Change management

Enterprise resource planning

Total Quality Management

Value-based Management

Value-added

Value migration

Process Mapping

Streamlined the creation of…

Performed profitability analysis of…

Led an information technology cross-functional team

Coordinated development of monthly corporate cost allocation reports

Facilitate the communication of audit results to company’s management

Documented all technical processes and procedures for…

Located, forecasted, and procured limited resources for…

Human Resources Terminology

Contributed effective strategies for screening and recruitment

Improved employee benefits program

Improved employee morale

Trained new or existing staff members

Improved employee retention and satisfaction

Initiated/developed a new HR policy

Coordinated Orientation and exit interviews

Acted as a liaison between union employees and management

Supervised new hire process (recruiting, interviewing, negotiating, orientating)

Maintained a turnover rate of less than __%

Delivered business related presentations to x employees

Provided logistics support, scheduling, training and coordination for…

Developed Excel model to quantify strength of succession plans

Presented workforce planning recommendations

Conducted and analyzed data from leadership interviews

Created database to monitor effectiveness of a $x annual sales program

Spearheaded system to track career path progression for…

Revised training program, resulting in % decrease in departmental turnover

Created developmental plans for team members

Administered $x retirement plan with over y participants

Increased overall employee investment plan participants by x% by instituting automatic enrollment program

Coached managers on employee performance issues

Prepared and presented benefits participation reports to senior management

Certified Benefits Professional

Certified Compensation Professional

GPHR (Global Professional in Human Resources)

Global Remuneration Professional

PHR (Professional in Human Resources)

Operations/Supply Chain Terminology

Analyzed the procurement system and recommended streamlining of suppliers

Restructured the…process to reduce time to market by x%

Reengineered the delivery system for…product, resulting in x% cost reduction

Certified Six Sigma Green/Black Belt professional

Managed inventory and ten warehouses with equipment valued at $x

Designed solution to address production bottleneck

Identified problem causing stock losses, proposed and implemented solution cutting monthly losses by x%

Effectively managed daily operations on production floor

Led cross-departmental multi-functional team

Managed site logistics for…

Managed store operations

Identified, analyzed, and prioritized production performance issues, resulting in x% imbalance correction

Developed and executed quality control procedures

Analyzed supply chain process improvement opportunities

Developed pilot supply chain strategy, demonstrating $x in value

Negotiated buy-in from senior management for business improvement project worth $x

Documented all technical processes and procedures for…

Located, forecasted, and procured limited resources for…

Process Mapping

Streamlined the creation of…

Led Process Improvement Project utilizing Six Sigma methodology to eliminate redundancy

Reduced delivery schedule for product x by two weeks and established standardized protocols

Kaizen Blitz program

Value stream mapping

Increasing capacity

Business process changes

Accelerated Improvement Workshops

Production Preparation Process

Directed Order Management Systems

Improved material flow through assembly operation by applying Lean and 6S principles

Worked with critical suppliers to reduce material non-conformance by 59%

Drove Supply Chain process improvement initiatives including demand planning and MRP system improvements

Sunday, October 24, 2010

本帖仅针对 885独立技术移民

完成一个成功的885申请分为三个部分

首先 申请者应该递交一份有效的申请
接着 申请者应该满足全部的递签条件
最后 申请者应该满足全部的下签条件

完成了以上"简单"的三个步骤,移民之路就走完了,大家不懂的可以再提问
点这里提问


=====================================================================
有效的申请
只要满足了本贴的全部步骤的就算提交了有效申请(有效申请的意思是就算被拒签也是不会退费的,并且留下拒签记录)

(1)填写移民申请表格 1276 或者在网上申请

(2)支付签证申请费
如果申请人有475/487签证,或者已经申请475/487签证并且持有BVA(010)/BVB(020) 签证费用是 230澳大利亚
其它情况 申请费用是 2525澳大利亚元
此外如果副申请的英语不满足functional English或者以上 另外加申请费用 3510澳大利亚元

(3)申请人必须在网上递交申请,或者
邮寄到指定地址(地址不可以错,否则是属于无效申请)
By POST

Adelaide Skilled Processing Centre
Department of Immigration and Citizenship
GPO Box 1638
Adelaide SA 5001
AUSTRALIA

By COURIER

Adelaide Skilled Processing Centre
Department of Immigration and Citizenship
4th Floor, 55 Currie Street
Adelaide SA 5000
AUSTRALIA

(4) 申请人必须在澳大利亚境内(除入境处外)
(5) 申请人要有职业评估结果
(6) 申请人申请的时候必须持有以下一种签证(申请时候的状态)
(i)持有不带8534 8535 8503签证条款的有效学生签证(查询是否有签证条件,请看自己的护照澳大利亚签证页的右方 Visa condition)
(ii)持有不是因为申请任何的学生签证(570 571 572 573 574 575 576)而获批的过桥签证A或者过桥签证B并且之前的学生签证过期不超过6个月
(iii)被取消的学生签证已经上诉并且被驳回,维持取消签证决定的28天之内
(iv)持有476/485 (TR)签证并且提名专业分>=50
(v)持有471签证超过2年并且不超过45岁外加提名专业分>=50
(vi)持有475/487超过2年


这样就完成了有效申请,就算其它的不达标只要完成以上就属于有效申请,换句话来说,签证费就是不会退的了

接下来就应该学习怎么递交成功的申请
====================================================================

根据澳大利亚移民法规定,对于有效签证的审理标准分为递签要求和下签要求,意思就是说,递签要求必须在递签的时候满足,下签要求必须在签证官审理申请人的材料的时候满足,如果递签的时候没有满足递签要求就算是审理之前把材料补交了同样会遭到拒签的

澳大利亚签证885递签要求

(1)申请人必须满足以下情况其中的一种
(i)申请人满足澳大利亚学习要求不超过6个月(一般以完成信的时间为准)并且课程和提名职业紧密相关

(ii)申请人持有476/485签证并且当初申请476/485签证时的所用来满足澳大利亚学习要求的学习专业和现在的提名专业紧密相关

(iii)申请人持有471签证并且学徒期和学徒内容和提名专业紧密相关

(2)申请人满足以下条件中的一种
(i)IELTS 4个6分 不超过2年(PAM 成绩单的时间必须早于等于递签时间)
(ii)持有英国,美国,加拿大,新西兰,爱尔兰的护照

(3)申请人和所有的副申请人需要预定移民体检(注明:可以在递交前预约,递交后取消预约,在签证官审理到的时候再去做体检,这么做不违法,因为现在非优先级的速度是很慢的)只需要提交体检预约的相关证据就算满足这个要求了(PAM 预约时间早于或等于递签时间

(4)申请人和所有的超过16岁的副申请人需要申请澳大利亚无犯罪记录证明信(Police check by AFP),在申请递交的时候这个证明信不可以超过12个月,只需要提交申请了无犯罪证明就可以了(PAM 申请时间早于或等于递签时间)

完成以上的任务,就已经满足递签申请了,这些必须在递签的时候满足,这是法律,不可以申请以后后补
最后就是要满足下签的条件
===================================================================

如果一个有效的885申请满足了递签的要求同时也满足了下签的要求,从法律上讲,移民局必须签发PR签证

下签要求,顾名思义就是要在签证官对这个申请作出决定的时候要达到的要求,这个要求不是必须在递签的时候达到,可以递签后达到

(1) 申请人澳大利亚技术移民普通类各项综合评分最后的总和达到或者超过120分

(2) 申请人有份有效的护照

(3) 申请人有了澳大利亚无犯罪记录证明 (Police check by AFP)

(4) 申请人有了移民体检结果

(5) 申请人有了国内的无犯罪公正以及任何一个申请人居住超过12个月的国家的无犯罪证明

(6) 申请人有了出生公证书

(7) 申请人和配偶下签时人必须在澳大利亚境内(除海关清关处外)

(8) 未过期的职业评估结果
(PAM 部分职业的职业评估结果如果过期需要交钱续,虽然递签前就要有职业评估结果,但是下签前评估结果过也不可以过期的)

(9)满足澳大利亚公众利益 4001 4002 4003 4004 4005 4010 4019
===================================================================



Tuesday, October 19, 2010

如何打jar包

简单制作jar包的方法

将欲打包成jar包的*.class文件放入一个以英文命名的文件夹中,用WinRAR把此

文件夹压缩成*.zip的压缩包,然后将扩展名改成*.jar即可


=====================================================================================


[Important]

我的方法:(和11楼差不多)


我用这个:jar cvf xxxx.jar yyyy.class zzzz.class
xxxx是你要打的jar包的名字,yyyy是源文件的名字!

还有一个类似的目录jar包方式,代码和这个差不多:jar cvf mmmm.jar mmmm

例如:D:\java\java1>jar cvf hello.jar hello.class welcome.class
标明清单(manifest)
增加:hello.class(读入= 186) (写出= 160)(压缩了 13%)
增加:welcome.class(读入= 413) (写出= 284)(压缩了 31%)

D:\java\java1>cd..

D:\java>jar cvf java1.jar java1
标明清单(manifest)
增加:java1/(读入= 0) (写出= 0)(存储了 0%)
增加:java1/hello.class(读入= 186) (写出= 160)(压缩了 13%)
增加:java1/hello.jar(读入= 1021) (写出= 750)(压缩了 26%)
增加:java1/lesson1.jar(读入= 345) (写出= 195)(压缩了 43%)
增加:java1/Welcome.class(读入= 413) (写出= 284)(压缩了 31%)
增加:java1/Welcome.java(读入= 124) (写出= 103)(压缩了 16%)


=====================================================================================


常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。 通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行 编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性。

下面就来看看什么是 JAR 文件包吧:

1. JAR 文件包

JAR 文件就是 Java Archive File,顾名思意,它的应用是 与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:

  ==

  `-- test

    `-- Test.class

把它压缩成 ZIP 文件 test.zip,则这个 ZIP 文件的内部目录结构为:

  test.zip

  `-- test

    `-- Test.class

如果我们使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,则这个 JAR 文件的内部目录结构为:

  test.jar

  |-- META-INF

  |  `-- MANIFEST.MF

  `-- test

    `--Test.class

2. 创建可执行的 JAR 文件包

制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。

Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。

其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。

创建可执行的 JAR 文件包,需要使用带 cvfm 参数的 jar 命令,同样以上述 test 目录为例,命令如下:

jar cvfm test.jar manifest.mf test

这里 test.jar 和 manifest.mf 两个文件,分别是对应的参数 f 和 m,其重头戏在 manifest.mf。因为要创建可执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:

Main-Class: 可执行主类全名(包含包名)

例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类 (定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:

Main-Class: test.Test <回车>;

这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且该行以一个回车符结束即可。创建了 manifest.mf 文件之后,我们的目录结构变为:

  ==

  |-- test

  |  `-- Test.class

  `-- manifest.mf

这时候,需要到 test 目录的上级目录中去使用 jar 命令来创建 JAR 文件包。也就是在目录树中使用“==”表示的那个目录中,使用如下命令:

jar cvfm test.jar manifest.mf test

之后在“==”目录中创建了 test.jar,这个 test.jar 就是执行的 JAR 文件包。运行时只需要使用 java -jar test.jar 命令即可。

需要注意的是,创建的 JAR 文件包中需要包含完整的、与 Java 程序的包结构对应的目录结构,就像上例一样。而 Main-Class 指定的类,也必须是完整的、包含包路径的类名,如上例的 test.Test;而且在没有打成 JAR 文件包之前可以使用 java <类名>; 来运行这个类,即在上例中 java test.Test 是可以正确运行的 (当然要在 CLASSPATH 正确的情况下)。

3. jar 命令详解

jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar。它的运行需要用到 JDK 安装目录下 lib 目录中的 tools.jar 文件。不过我们除了安装 JDK 什么也不需要做,因为 SUN 已经帮我们做好了。我们甚至不需要将 tools.jar 放到 CLASSPATH 中。

使用不带任何的 jar 命令我们可以看到 jar 命令的用法如下:

jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...

其中 {ctxu} 是 jar 命令的子命令,每次 jar 命令只能包含 ctxu 中的一个,它们分别表示:

-c 创建新的 JAR 文件包

-t 列出 JAR 文件包的内容列表

-x 展开 JAR 文件包的指定文件或者所有文件

-u 更新已存在的 JAR 文件包 (添加文件到 JAR 文件包中)

[vfm0M] 中的选项可以任选,也可以不选,它们是 jar 命令的选项参数

-v 生成详细报告并打印到标准输出

-f 指定 JAR 文件名,通常这个参数是必须的

-m 指定需要包含的 MANIFEST 清单文件

-0 只存储,不压缩,这样产生的 JAR 文件包会比不用该参数产生的体积大,但速度更快

-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数

[jar-文件] 即需要生成、查看、更新或者解开的 JAR 文件包,它是 -f 参数的附属参数

[manifest-文件] 即 MANIFEST 清单文件,它是 -m 参数的附属参数

[-C 目录] 表示转到指定目录下去执行这个 jar 命令的操作。它相当于先使用 cd 命令转该目录下再执行不带 -C 参数的 jar 命令,它只能在创建和更新 JAR 文件包的时候可用。  

文件名 ... 指定一个文件/目录列表,这些文件/目录就是要添加到 JAR 文件包中的文件/目录。如果指定了目录,那么 jar 命令打包的时候会自动把该目录中的所有文件和子目录打入包中。

下面举一些例子来说明 jar 命令的用法:

1) jar cf test.jar test

该命令没有执行过程的显示,执行结果是在当前目录生成了 test.jar 文件。如果当前目录已经存在 test.jar,那么该文件将被覆盖。

2) jar cvf test.jar test

该命令与上例中的结果相同,但是由于 v 参数的作用,显示出了打包过程,如下:

标明清单(manifest)

增加:test/(读入= 0) (写出= 0)(存储了 0%)

增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)

3) jar cvfM test.jar test

该命令与 2) 结果类似,但在生成的 test.jar 中没有包含 META-INF/MANIFEST 文件,打包过程的信息也略有差别:

增加:test/(读入= 0) (写出= 0)(存储了 0%)

增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)

4) jar cvfm test.jar manifest.mf test

运行结果与 2) 相似,显示信息也相同,只是生成 JAR 包中的 META-INF/MANIFEST 内容不同,是包含了 manifest.mf 的内容

5) jar tf test.jar

在 test.jar 已经存在的情况下,可以查看 test.jar 中的内容,如对于 2) 和 3) 生成的 test.jar 分别应该此命令,结果如下;

对于 2)

META-INF/

META-INF/MANIFEST.MF

test/

test/Test.class

对于 3)

test/

test/Test.class

6) jar tvf test.jar

除显示 5) 中显示的内容外,还包括包内文件的详细信息,如:

0 Wed Jun 19 15:39:06 GMT 2002 META-INF/

86 Wed Jun 19 15:39:06 GMT 2002 META-INF/MANIFEST.MF

0 Wed Jun 19 15:33:04 GMT 2002 test/

7 Wed Jun 19 15:33:04 GMT 2002 test/Test.class

7) jar xf test.jar

解开 test.jar 到当前目录,不显示任何信息,对于 2) 生成的 test.jar,解开后的目录结构如下:

  ==

  |-- META-INF

  |  `-- MANIFEST

  `-- test

    `--Test.class

jar xvf test.jar

运行结果与 7) 相同,对于解压过程有详细信息显示,如:

创建:META-INF/

展开:META-INF/MANIFEST.MF

创建:test/

展开:test/Test.class

9) jar uf test.jar manifest.mf

在 test.jar 中添加了文件 manifest.mf,此使用 jar tf 来查看 test.jar 可以发现 test.jar 中比原来多了一个 manifest。这里顺便提一下,如果使用 -m 参数并指定 manifest.mf 文件,那么 manifest.mf 是作为清单文件 MANIFEST 来使用的,它的内容会被添加到 MANIFEST 中;但是,如果作为一般文件添加到 JAR 文件包中,它跟一般文件无异。

10) jar uvf test.jar manifest.mf

与 9) 结果相同,同时有详细信息显示,如:

增加:manifest.mf(读入= 17) (写出= 19)(压缩了 -11%)

4. 关于 JAR 文件包的一些技巧

1) 使用 unzip 来解压 JAR 文件

在介绍 JAR 文件的时候就已经说过了,JAR 文件实际上就是 ZIP 文件,所以可以使用常见的一些解压 ZIP 文件的工具来解压 JAR 文件,如 Windows 下的 WinZip、WinRAR 等和 Linux 下的 unzip 等。使用 WinZip 和 WinRAR 等来解压是因为它们解压比较直观,方便。而使用 unzip,则是因为它解压时可以使用 -d 参数指定目标目录。

在解压一个 JAR 文件的时候是不能使用 jar 的 -C 参数来指定解压的目标的,因为 -C 参数只在创建或者更新包的时候可用。那么需要将文件解压到某个指定目录下的时候就需要先将这具 JAR 文件拷贝到目标目录下,再进行解压,比较麻烦。如果使用 unzip,就不需要这么麻烦了,只需要指定一个 -d 参数即可。如:

unzip test.jar -d dest/

2) 使用 WinZip 或者 WinRAR 等工具创建 JAR 文件

上面提到 JAR 文件就是包含了 META-INF/MANIFEST 的 ZIP 文件,所以,只需要使用 WinZip、WinRAR 等工具创建所需要 ZIP 压缩包,再往这个 ZIP 压缩包中添加一个包含 MANIFEST 文件的 META-INF 目录即可。对于使用 jar 命令的 -m 参数指定清单文件的情况,只需要将这个 MANIFEST 按需要修改即可。

3) 使用 jar 命令创建 ZIP 文件

有些 Linux 下提供了 unzip 命令,但没有 zip 命令,所以需要可以对 ZIP 文件进行解压,即不能创建 ZIP 文件。如要创建一个 ZIP 文件,使用带 -M 参数的 jar 命令即可,因为 -M 参数表示制作 JAR 包的时候不添加 MANIFEST 清单,那么只需要在指定目标 JAR 文件的地方将 .jar 扩展名改为 .zip 扩展名,创建的就是一个不折不扣的 ZIP 文件了,如将上一节的第 3) 个例子略作改动:

jar cvfM test.zip test



===================================================================


转]制作jar可执行文件制作 收藏

首先当然是写好自己的文件(e.g: myfile.java),然后当然是要成功编译了生成(myfile.class)文件了。
假设生成的文件放在file目录下(可能包含其他很多相关的.class或者图片等等):
准备工作:
打开文本文件 其内容为:Main-Class:myfile
如果.java有package,那么就应该是:Main-Class:yourpackagename.myfile
保存为mainfest.mf文件
接着:
“cmd"进入到当前file目录:
执行: file>jar cvfm myfile.jar manifest.mf .
其中myfile.jar中的myfile是你要的jar的名字。mainfest.mf后面的点代表当前文件
这样就完成了打包任务了。
但是java文件里面要包含main函数才可以。!

====================================================================

第一次打包java程序(发布Java程序) 收藏

要发布应用程序,需要将该应用程序打包。使用jar.exe,可以把应用程序中涉及到的类和图片压缩成一个jar文件,这样便可以发布程序。具体步骤如下:

1.

首先编写一个清单文件,名为MANIFEST.MF,其代码如下:

Manifest-Version: 1.0

Created-By: 1.5.0_02(Sun Microsystems Inc.)

Main-Class: *****(启动类的名字,不需要加.class)

注意:Main-Class:的冒号后只能有一个空格,没有空格也不行。Manifest-Version后面也一样。

2.

使用如下命令生成jar文件:

jar cfm *****.jar MANIFEST.MF *.class

其中参数C表示要生成一个新的jar文件;f表示要生成的jar文件的名字;m表示清单文件的名字。

最后按上述步骤生成jar文件后,双击出现如下错误:Failed to load Main-Class manifest attribute from **.jar

该问题指出你jar文件中\META-INF\MENIFEST.MF文件中没有指定 Main-Class: xxx.xxxx

参考解决办法:

我一般是这样打包的:

jar cvf ....
结果跟你一样:“Failed to load Main-Class manifest attribute from **.jar ”,然后呢,右击*.jar——打开方式——WINRAR——点击进入,找到并双击manifest.mf——添加Main-Class: xxx——确认更新——退出,双击*.jar——好爽。

或者,新建META-INF文件夹,写好MENIFEST.MF,左手按Ctrl,右手选择*.class ....*.class...META-INF,右击——添加到压缩文件(*.zip),压缩后,把*.zip改为*.jar——搞定了。


===================================================================

原创 jar打包 收藏

为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive(JAR) File,是的,就是java存档文件。这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新 组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部 署)。其中,为J2EE应用程序创建的Jar文件是ear文件(企业JAR文件)。

那我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。Jar技术在 jdk1.1版本中就已存在,在1.2中又有了增强。接下来说说jar的好处吧,这是官方的描述:安全,快速下载,压缩,猎取包,版本化包,可携。

说了这么多,我们现在开始实施:先打开命令提示符,输入jar Chelp,然后回车(如果你盘上已经安装了jdk),看到什么?没错,就是jar打包命令的帮助文档。这里就不详述了,自己去看。

举例:将smartupload组件重新打包。这里有一个class库,相应目录结构为:

|-common
|-util
|-servlet
|-ServletUpload.class
|-smart
|-File.class
|-Files.class
|-Request.class
|-SmartUpload.class
|-SmartUploadException.class

注意,这个目录结构很有用,它代表了一个包的结构(当然*.class文件内部也要把这个路径用package语句指明), 比如调用SmartUpload.class时,实际引用路径是:import common.util.smart.SmartUpload;如果将*.class文件全部放在根目录下直接打包(eg: jar cvf smartupload.jar *.class),jar会默认建立一个default package,这个是我们不希望看到的。

cmd进入common文件夹所在目录下,输入命令:jar cvf smartupload.jar common --> 打包成功。


Monday, October 18, 2010

不得已要熬夜

如果迫不得已要熬夜,那就要保证足量的运动,把心脏锻炼得足够强,熬夜的损伤就会小一些。比如长跑就是容易实施又有满意效果的一种做法。 不管是因为工作或学习迫于无奈的熬夜,还是因放纵自己浪掷青春而熬夜。和吸烟一样,熬夜过量,有碍健康。因此我们呼吁尽可能地不要熬夜,如果不得已成了熬夜一族,就应摄取更充足的营养保护自己,让熬夜对身体的伤害减到最小。 熬夜究竟对健康会构成什么伤害?其实并没有足够的研究。但是需要轮夜班的工作伙伴常会抱怨「身体变差了」却是不争的事实。已有足够的证据显示长期熬夜会影响免疫系统的功能。针对于需要轮夜班的工作群所作的体检报告也显示肝功能异常的比例比一般人高。而且常熬夜的人,感觉上真的就比一般人苍老得快。此外熬夜族的肾上腺素等激素分泌量也比常人高,使新陈代谢的压力大增,成人慢性病的罹患机率也增加了。 因此熬夜族的营养摄取应该注意两部份,一部份是如何保护自己的身体,另一部份是如何在夜间工作时保持最佳状况。 补充熬夜时的营养 如何维持免疫能力,保护肝脏机能是熬夜族应该要注意的。如果熬夜是为了盯着计算机屏幕,更要注意保护视力, 请参阅本站计算机族&山桑子的专题。熬夜族的维生素AB群,CE的需求量会增加。若有不足,会增加疲劳的感觉,并增加健康的磨损。 需要熬夜的晚上,晚餐时就应多吃富含维生素B群的食物,如全谷类、肝脏、瘦肉、豆类及新鲜蔬果。如果要吃宵夜,也可以用含维生素B的食物, 如加了酵母的牛奶、优酪乳、全麦面包作为主力。必要时,可以摄取营养补充剂或嚼食耳熟能详的台糖健素糖(含维生素B)。也有文献提及鸡精能加速新陈代谢,增进工作效率。为了因应肾上腺素等激素的增量分泌,也应注意维生素C的充分摄取。至于市售的提神口服液,主要成份是维生素BC、咖啡因、中药成份等,有一定的效果,但不建议每天喝,以免产生依赖性。 骗身体的东西 含咖啡因的饮料是熬夜族的最爱,甜食、饼干、西式快餐等高热量食品也是熬夜族常见的「营养补充品」, 但是它们只能暂时的提神或增加血糖的浓度。而且这些食物会加速消耗体内的维生素B群。过量的咖啡因会刺激神经及肾上腺素分泌, 因而消耗体内的维生素B群。 维生素B群不足,新陈代谢「油路不顺」的状况就出现了,反而更容易疲倦,影响工作效率。有人就会喝更多的咖啡,反而造成恶性循环。因此我们也要弄清楚什么叫作补身体?什么叫作骗身体?注意营养的均衡及维生素B群的充足就是在补身体;抽烟、嚼槟榔及过量的咖啡因则是不折不扣的骗身体。 人类不是夜行性动物,熬夜是最违反生物规律的作法,健康的损伤只是必要的惩处。即使有萧大美女所使用的保养品,也无法弥补熬夜造成的老化及健康伤害。能不要熬夜还是不要熬夜吧!如果不得已需要在夜间活动,也最好隔天能补足睡眠。补眠时制造黑暗环境(如戴眼罩)对于睡眠品质的提升,尤有其正面效果。 保护肝脏的按摩运动 坚持「有病看医师,健康靠自己」的中国科学气功学会理事长吴长新认为,现代人工作忙碌,经常加班熬夜,平日就应养成爱护肝脏的习惯,比如起居正常、心情放松和做些简单的肝脏按摩运动。并且随时留意自己的身体状况,如有不适及早就医。 A.肝脏按摩运动 两手搓热。 以双手三指向内,正对乳中肋骨下方缓缓插入约23公分。 此点为肝经,多做按摩可以帮助养护肝脏。 注:一般力道即可,毋须特别用力。 -------------------------------------------------------------------------------- B.怀抱式肝脏运动 两手交叉抱住前胸,左手在外。 身体慢慢往左扭转上升,深吸气直到不能吸为止;然后缓缓吐气。 身体往右扭转再做一遍。 -------------------------------------------------------------------------------- C.肝脏穴道按摩 此外,平时也可多按压掌管肝经,手掌心外侧小指下缘突出的肌肉(小鱼际)。






通宵自习:健康常识知多少



正所谓身体是革命的本钱,通宵学习会使身体的正常节律性发生紊乱,对视力、肠胃及睡眠都造成影响。需要通宵学习的同学们可得注意自己的身体,了解一些保健措施也是很有必要的:



1. 加强营养。应选择量少质高的蛋白质、脂肪和维生素B族食物如牛奶、牛肉、猪肉、鱼类、豆类等,也可吃点干果如核桃、大枣、桂圆、花生等,这样可以起 到抗疲劳的功效;要供给充足的维生素A,因维生素A可调节视网膜感光物质———视紫的合成,能提高熬夜者对昏暗光线的适应力,而防止视觉疲劳。



2. 加强锻炼身体。可根据自己的兴趣进行锻炼,提高身体素质。通宵中如感到精力不足或者欲睡,就应做一会儿体操或到户外活动一下(在户外一定得注意安全)。



3. 调整生理节律。经常通宵者应根据作息时间表,并不断修改至适应。



4. 消除思想负担。通宵者切忌忧虑和恐惧,应树立信心,在夜晚学习中保持愉快的心情和高昂的情绪。



另外,在通宵学习中,记者也给出一些建议



1. 晚餐对通宵者很重要,可食用些高蛋白食物,进餐时间可安排在通宵学习开始前一两个小时



2. 通宵时一定要吃热的东西(哪怕是热方便面),不要吃难以消化的食物,要准备足够多的白开水,也可以准备些水果,补充水分



3. 注意保暖,不要冻着肚子,记得带件衣服,早上回寝室会感觉冷的



4. 疲乏时可喝咖啡和茶水等有一定刺激性的饮品来提神,但要注意应热饮,浓度不要太高,以免伤胃



5. 通宵时,大脑需氧量会增大,可时时做深呼吸



6. 通宵学习前,千万记得把脸洗干净,不然容易长痘痘哦



7. 通宵后,早餐一定要吃饱,且不要吃凉食。





Saturday, October 9, 2010

学习java的30个目标

1.你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该十分了解UML,尤其是class,object,interaction以及statediagrams。
  2.你需要学习JAVA语言的基础知识以及它的核心类库 (collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。
  3.你应该了解JVM,classloaders,classreflect,以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。
  4.如果你将要写客户端程序,你需要学习WEB的小应用程序(applet),必需掌握GUI设计的思想和方法,以及桌面程序的SWING,AWT, SWT。你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。
  5.你需要学习java数据库技术,如JDBCAPI并且会使用至少一种persistence/ORM构架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(国产JDO红工厂软件)或者iBatis。
  6.你还应该了解对象关系的阻抗失配的含义,以及它是如何影响业务对象的与关系型数据库的交互,和它的运行结果,还需要掌握不同的数据库产品运用,比如racle,mysql,mssqlserver。
  7.你需要学习JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions,
codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)还有不同的安全/认证 API,例如JAAS(JavaAuthenticationandAuthorizationService),JCE (JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS (JavaGeneralSecurityService)。
  8.你需要学习Servlets,JSP,以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries。
  9.你需要熟悉主流的网页框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他们下面的涉及模式,如MVC/MODEL2。
  10.你需要学习如何使用及管理WEB服务器,例如tomcat,resin,Jrun,并且知道如何在其基础上扩展和维护WEB程序。
 11.你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP。
  12.你需要掌握各种流行中间件技术标准和与java结合实现,比如Tuxedo、CROBA,当然也包括javaEE本身。
  13.你需要学习最少一种的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。
  14.你应该学习如何利用JAVAAPI和工具来构建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM(JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。
  15.你需要学习一门轻量级应用程序框架,例如Spring,PicoContainer,Avalon,以及它们的IoC/DI风格(setter,constructor,interfaceinjection)。
  16.你需要熟悉不同的J2EE技术,例如JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI /JavaTransactionService),JMX (JavaManagementeXtensions),以及JavaMail。
  17.你需要学习企业级JavaBeans(EJB)以及它们的不同组件模 式:Stateless/StatefulSessionBeans,EntityBeans(包含Bean- ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者 Message-DrivenBeans(MDB)。
  18.你需要学习如何管理与配置一个J2EE应用程序服务器,如WebLogic,JBoss等,并且利用它的附加服务,例如簇类,连接池以及分布式处理支援。你还需要了解如何在它上面封装和配置应用程序并且能够监控、调整它的性能。
  19.你需要熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP),以及他们的主流JAVA规格和执行。例如AspectJ和AspectWerkz。
  20.你需要熟悉对不同有用的API和frame work等来为你服务。例如Log4J(logging/tracing),Quartz (scheduling),JGroups(networkgroupcommunication),JCache(distributedcaching), Lucene(full-textsearch),JakartaCommons等等。
21.如果你将要对接或者正和旧的系统或者本地平台,你需要学习JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture)。
  22.你需要熟悉JINI技术以及与它相关的分布式系统,比如掌握CROBA。
  23.你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs),例如Portlets(168),JOLAP(69),DataMiningAPI(73),等等。
  24.你应该熟练掌握一种JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜欢VI或EMACS来编写文件。随便你用什么了:)
  25.JAVA(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB),所以你需要熟悉代码生成工具,例如XDoclet。
  26.你需要熟悉一种单元测试体系(JNunit),并且学习不同的生成、部署工具(Ant,Maven)。
  27.你需要熟悉一些在JAVA开发中经常用到的软件工程过程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。
  28.你需要能够深入了解加熟练操作和配置不同的操作系统,比如GNU/linux,sunsolaris,macOS等,做为跨平台软件的开发者。
  29.你还需要紧跟java发展的步伐,比如现在可以深入的学习javaME,以及各种java新规范,技术的运用,如新起的web富客户端技术。
  30.你必需要对opensource有所了解,因为至少java的很多技术直接是靠开源来驱动发展的,如java3D技术。