Dec 19, 2008

【典藏】Java学习之路

Java学习之路:不走弯路,就是捷径

在ChinaITLAB导师制辅导中,笔者发现问得最多的问题莫过于"如何学习编程?Java该如何学习?"。类似的问题回答多了,难免会感觉厌烦,就萌生了写下本文的想法。到时候再有人问起类似的问题,我可以告诉他(她),请你去看看《Java学习之路》。拜读过台湾蔡学镛先生的《Java夜未眠》,有些文章如《Java学习之道》等让我们确实有共鸣,本文题目也由此而来。 软件开发之路是充满荆棘与挑战之路,也是充满希望之路。Java学习也是如此,没有捷径可走。梦想像《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了"东方不败",倒是成"西方失败"的几率高一点。 "不走弯路,就是捷径",佛经说的不无道理。

1.如何学习程序设计? Java是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于Java,对C++等其他程序设计语言也一样管用。有编程高手认为,Java也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。

1.1 培养兴趣 兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个"食利阶层"。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。

1.2 慎选程序设计语言 男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。 如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。 如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或.NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。

1.3 要脚踏实地,快餐式的学习不可取 先分享一个故事。 有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。 这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。 但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。 这个故事给我们的启示是:欲速则不达。 浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入共产主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就拿笔者比较熟悉的深圳IT培训行业来说吧,居然有的打广告宣称"参加培训,100%就业",居然报名的学生不少,简直是藐视天下程序员。社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。许多初学者C++/Java没开始学,立马使用VC/JBuilder,会使用VC/JBuilder开发一个Hello World程序,就忙不迭的向世界宣告,"我会软件开发了",简历上也大言不惭地写上"精通VC/Java"。结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《Java编程思想》仔细钻研,早知如此何必当初呀。 "你现在讲究简单方便,你以后的路就长了",好象也是佛经中的劝戒。

1.4 多实践,快实践 彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。 从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:"我打算去南海朝圣,你看怎么样?"富和尚说:"这里离南海有几千里远,你靠什么去呢?"穷和尚说:"我只要一个水钵,一个饭碗就够了。"富和尚为难地说:"几年前我就打算买条船去南海,可至今没去成,你还是别去吧!" 一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。 这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,"君子动口不动手"对软件开发人员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副"比尔盖茨"样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。

1.5 多参考程序代码 程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。 多多参考代码例子,对Java而言有参考文献[4.3],有API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源的软件或框架。

1.6 加强英文阅读能力 对学习编程来说,不要求英语, 但不能一点不会,。最起码像Java API文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个"金山词霸"。看多了就会越来越熟练。在学Java的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的"周扒皮"。

1.7 万不得已才请教别人 笔者在ChinaITLab网校的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。 你是否在google中搜索了问题的解决办法? 你是否查看了Java API文档? 你是否查找过相关书籍? 你是否写代码测试过? 如果回答都是"是"的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。

1.8 多读好书 书中自有颜如玉。比尔?盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔?盖茨就已经读完了所有的百科全书,所以他精通天文、历史、地理等等各类学科,可以说比尔?盖茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。 笔者在给学生上课的时候经常会给他们推荐书籍,到后来学生实在忍无可忍开始抱怨,"天呐,这么多书到什么时候才能看完了","学软件开发,感觉上了贼船"。这时候,我的回答一般是,"别着急,什么时候带你们去看看我的书房,到现在每月花在技术书籍上的钱400元,这在软件开发人员之中还只能够算是中等的",学生当场晕倒。(注:这一部分学生是刚学软件开发的) 对于在Java开发领域的好书在笔者另外一篇文章中会专门点评。该文章可作为本文的姊妹篇。 .9 使用合适的工具 工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。在笔者另外一篇文章中会专门阐述如何选择合适的工具(该文章也可作为本文的姊妹篇)。

2.软件开发学习路线 两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。 从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。
A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取"用到的时候再来学"的原则。
B.一门编程语言,现在基本上都是面向对象的语言,Java/C++/C#等等。如果做WEB开发的话还要学习HTML/JavaScript等等。
C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。
D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等
E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。
F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。
G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。
H.项目管理、体系结构、框架知识。 正确的路线应该是:B→C→E→F→G→H。
还需要补充几点:
1).对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。
2).对于数据库来说是独立学习的,这个时机就由你来决定吧。
3).编程语言作为学习软件开发的主线,而其余的作为辅线。
4).软件工程师着重于B、C、E、D;软件设计师着重于B、C、E、D、F;架构设计师着重于C、F、H。

3.如何学习Java?
3.1 Java学习路线
3.1.1 基础语法及Java原理 基础语法和Java原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习Java也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。参加SCJP(SUN公司认证的Java程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉Java基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得"真正"的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走

3.1.2 OO思想的领悟 掌握了基础语法和Java程序运行原理后,我们就可以用Java语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。 使用面向对象的思想进行开发的基本过程是: ●调查收集需求。 ●建立用例模型。 ●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。 ●细化分析模型到设计模型。 ●用具体的技术去实现。 ●测试、部署、总结。

3.1.3 基本API的学习 进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的"不需要重新发明轮子"。我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,Java DOC文档(参考文献4.4)就是这样的文档,它可以说是程序员与程序员交流的文档。 基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查Java DOC文档(参考文献4.4),二是使用JBuilder/Eclipse等IDE的代码提示功能。

3.1.4 特定API的学习 Java介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API。如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API。

3.1.5 开发工具的用法 在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对Java技术本身的注意力。过了这一阶段你就可以开始熟悉IDE了。 程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。 从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。 Java开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder占有的市场份额是最大的。JBuilder在近几年来一直是Java集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的Java IDE大战中,以其快速的版本更新击败IBM的Visual Age for Java等而成就一番伟业。IBM在Visual Age for Java上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓"柳暗花明又一村"。浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。

3.1.6 学习软件工程 对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见"软件开发学习路线"小节。

3.2学习要点 确立的学习路线之后,我们还需要总结一下Java的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。 当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用"Javadoc"工具(包含在JDK中)生成标准的Java DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。J2SE DOC文档官方下载地址:http://Java.sun.com/j2se/1.5.0/download.jsp,你可以到google搜索CHM版本下载。也可以在线查看:http://Java.sun.com/j2se/1.5.0/docs/api/index.html。 对待DOC文档要像毛主席语录,早上起床念一遍,吃饭睡觉前念一遍。 当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下: ●找特定的包,包一般根据功能组织。 ●找需要使用类,类命名规范的话我们由类的名字可猜出一二。 ●选择构造器,大多数使用类的方式是创建对象。 ●选择你需要的方法。

3.2.2 查书/google->写代码测试->查看源代码->请教别人 当我们遇到问题的时候该如何解决? 这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像"某些类/方法如何使用的问题",DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看API的源代码验证你的想法。万不得已才去请教别人。

3.2.3学习开源软件的设计思想 Java领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。

3.2.4 规范的重要性 没有规矩,不成方圆。这里的规范有两层含义。第一层含义是技术规范,多到http://www.jcp.org下载JSRXXX规范,多读规范,这是最权威准确最新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。Java编码规范到此查看或下载http://Java.sun.com/docs/codeconv/,中文的也有,啊,还要问我在哪,请参考3.2.2节。

3.2.5 不局限于Java 很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。 Java不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习Java集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是"需要的时候再学"的原则。

4.结束语 需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在Java神殿之外的朋友有所帮助的话,笔者也欣慰了。哈哈,怎么听起来老气横秋呀?没办法,在电脑的长期辐射之下,都快变成小老头了。最后奉劝各位程序员尤其是MM程序员,完成工作后赶快远离电脑,据《胡播乱报》报道,电脑辐射会在白皙的皮肤上面点缀一些小黑点,看起来鲜艳无比……

Dec 18, 2008

答华为笔试的最后一道题

好久以前曾经笔了次华为的C/C++
前边做得都不错,最后一道题由于时间不够没做出来(60min)
题目是:一张单链表,只允许你遍历一次,要求找出其中间节点的位置

今天突然有了想法:
定义两个指针*pa与*pb,中间结点指针*pMid==NULL
pa=pb=head;
while(1)
{
pa=pa->next;
if(pb->next!=NULL)
{
pb=pb->next;
if(pb->nex!=NULL)
pb=pb->next;
else
{
//偶数节点链表无中间节点
cout<<"无中间节点";
break;
}
}
else
{
pMid=pa;
break;
}
}
这样子的话输出pa指针指向的当前节点,就是中间节点的位置了

啊啊啊。我真是太瓜了当时怎么不聪明一下呢
用两个指针就搞定了嘛

Dec 15, 2008

开源网站

===程序员事业的50个源码网站奉献给大家===

优秀网站源码、编程源码下载网站大集中
1.51源码:http://www.51aspx.com/
2.源码之家:http://www.codejia.com/
3.源码网:http://www.codepub.com/
4.虾客源码:http://www.xkxz.com/
5.多多源码:http://www.morecode.net/
6.洪越源代码:http://www.softhy.net/
7.锋网源码:http://www.fwvv.net/
8.代码爱好者:http://www.codefans.com/
9.爱源码:http://www.aiyuanma.com/
10.酷源码:http://www.kyuanma.com/
11.搜源码:http://www.soucode.com/
12.拉基源码:http://www.lajicode.com/
13.源码开发网:http://www.codedn.com/
14.源码天空:http://www.codesky.net/
15.源码吧:http://www.asp88.net/
16.绿色源码:http://code888.cn/
17.9号源码中心:http://www.9code.com/
18.网馨源码:http://www.asppsa.com/
20.源码天下:http://www.pccode.net/
21.需要源码:http://www.needcode.cn/
22.华夏源码:http://www.haocpu.com/
23.天新网:http://codes.21tx.com/
24.源码网:http://www.yuanma5.com/
25.无忧源码:http://www.5uym.com/
26.中国下载站:http://www.cnz.cc/
27.资源吧:http://www.ziyuan8.com/
28.启明星源码:http://www.codewww.com/
29.我要源码:http://www.xia51.com/
30.清秋源码:http://www.asp678.com/
31.站长下载:http://down.chinaz.com/
32.CSDN下载:http://download.csdn.net
33.站长源码:http://down.cnzz.cn/
34.51源码:http://www.51aspx.com/
35.源码之家:http://www.mycodes.com/
36.源码网:http://www.codepub.com/
37.多多源码:http://www.morecode.net/
38.洪越源代码:http://www.softhy.net/
39.锋网源码:http://www.fwvv.net/
40.代码爱好者:http://www.codefans.net/
41.中国源码下载站:http://www.downcode.com/
42.源码开发网:http://www.bncms.com/
43.源码天空:http://www.codesky.net/
44.ASP300:http://www.asp300.com/
45:中国源码中心:http://www.cncode.com/
46:源码天下:http://www.pccode.net/
47.酷源码:http://www.kyuanma.com/
48.天新网:http://codes.21tx.com/
49.无忧源码:http://www.5uym.com/
50.资源吧:http://www.ziyuan8.com/

Dec 7, 2008

GNU通用公共许可证(GPL)

  有关复制,发布和修改的条款和条件
  0. 此许可证适用于任何包含版权所有者声明的程序和其他作品,版权所有者在声明中明确说明程序和作品可以在GPL条款的约束下发布。下面提到的“程序”指的是任何这样的程序或作品。而“基于程序的作品”指的是程序或者任何受版权法约束的衍生作品。也就是说包含程序或程序的一部分的作品。可以是原封不动的,或经过修改的和/或翻译成其他语言的(程序)。在下文中,翻译包含在修改的条款中。每个许可证接受人(licensee)用你来称呼。许可证条款不适用于复制,发布和修改以外的活动。这些活动超出这些条款的范围。运行程序的活动不受条款的限止。仅当程序的输出构成基于程序作品的内容时,这一条款才适用(如果只运行程序就无关)。是否普遍适用取决于程序具体用来做什么。
  1. 只要你在每一副本上明显和恰当地出版版权声明和不承担担保声明,保持此许可证的声明和没有担保的声明完整无损,并和程序一起给每个其他的程序接受者一份许可证的副本,你就可以用任何媒体复制和发布你收到的原始的程序的源代码。你可以为转让副本的实际行动收取一定费用。你也有权选择提供担保以换取一定的费用。
  2. 你可以修改程序的一个或几个副本或程序的任何部分,以此形成基于程序的作品。只要你同时满足下面的所有条件,你就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。
  a) 你必须在修改的文件中附有明确的说明:你修改了这一文件及具体的修改日期。
  b) 你必须使你发布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允许第三方作为整体按许可证条款免费使用。
  c) 如果修改的程序在运行时以交互方式读取命令,你必须使它在开始进入常规的交互使用方式时打印或显示声明:包括适当的版权声明和没有担保的声明(或者你提供担保的声明);用户可以按此许可证条款重新发布程序的说明;并告诉用户如何看到这一许可证的副本。(例外的情况:如果原始程序以交互方式工作,它并不打印这样的声明,你的基于程序的作品也就不用打印声明)。
  这些要求适用于修改了的作品的整体。如果能够确定作品的一部分并非程序的衍生产品,可以合理地认为这部分是独立的,是不同的作品。当你将它作为独立作品发布时,它不受此许可证和它的条款的约束。但是当你将这部分作为基于程序的作品的一部分发布时,作为整体它将受到许可证条款约束。准予其他许可证持有人的使用范围扩大到整个产品。也就是每个部分,不管它是谁写的。因此,本条款的意图不在于索取权利;或剥夺全部由你写成的作品的权利。而是履行权利来控制基于程序的集体作品或衍生作品的发布。此外,将与程序无关的作品和该程序或基于程序的作品一起放在存贮体或发布媒体的同一卷上,并不导致将其他作品置于此许可证的约束范围之内。
  3. 你可以以目标码或可执行形式复制或发布程序(或符合第2款的基于程序的作品),只要你遵守前面的第1,2款,并同时满足下列3条中的1条。
  a)在通常用作软件交换的媒体上,和目标码一起附有机器可读的完整的源码。这些源码的发布应符合上面第1,2款的要求。或者
  b)在通常用作软件交换的媒体上,和目标码一起,附有给第三方提供相应的机器可读的源码的书面报价。有效期不少于3年,费用不超过实际完成源程序发布的实际成本。源码的发布应符合上面的第1,2款的要求。或者
  c)和目标码一起,附有你收到的发布源码的报价信息。(这一条款只适用于非商业性发布,而且你只收到程序的目标码或可执行代码和按b)款要求提供的报价)。作品的源码指的是对作品进行修改最优先择取的形式。对可执行的作品讲,完整的源码包括:所有模块的所有源程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的script。作为特殊例外,发布的源码不必包含任何常规发布的供可执行代码在上面运行的操作系统的主要组成部分(如编译程序,内核等)。除非这些组成部分和可执行作品结合在一起。如果采用提供对指定地点的访问和复制的方式发布可执行码或目标码,那么,提供对同一地点的访问和复制源码可以算作源码的发布,即使第三方不强求与目标码一起复制源码。
  4. 除非你明确按许可证提出的要求去做,否则你不能复制,修改,转发许可证和发布程序。任何试图用其他方式复制,修改,转发许可证和发布程序是无效的。而且将自动结束许可证赋予你的权利。然而,对那些从你那里按许可证条款得到副本和权利的人们,只要他们继续全面履行条款,许可证赋予他们的权利仍然有效。
  5. 你没有在许可证上签字,因而你没有必要一定接受这一许可证。然而,没有任何其他东西赋予你修改和发布程序及其衍生作品的权利。如果你不接受许可证,这些行为是法律禁止的。因此,如果你修改或发布程序(或任何基于程序的作品),你就表明你接受这一许可证以及它的所有有关复制,发布和修改程序或基
  于程序的作品的条款和条件。
  6. 每当你重新发布程序(或任何基于程序的作品)时,接受者自动从原始许可证颁发者那里接到受这些条款和条件支配的复制,发布或修改程序的许可证。你不可以对接受者履行这里赋予他们的权利强加其他限制。你也没有强求第三方履行许可证条款的义务。
  7. 如果由于法院判决或违反专利的指控或任何其他原因(不限于专利问题)的结果,强加于你的条件(不管是法院判决,协议或其他)和许可证的条件有冲突。他们也不能用许可证条款为你开脱。在你不能同时满足本许可证规定的义务及其他相关的义务时,作为结果,你可以根本不发布程序。例如,如果某一专利许可证不允许所有那些直接或间接从你那里接受副本的人们在不付专利费的情况下重新发布程序,唯一能同时满足两方面要求的办法是停止发布程序。
  如果本条款的任何部分在特定的环境下无效或无法实施,就使用条款的其余部分。并将条款作为整体用于其他环境。本条款的目的不在于引诱你侵犯专利或其他财产权的要求,或争论这种要求的有效性。本条款的主要目的在于保护自由软件发布系统的完整性。它是通过通用公共许可证的应用来实现的。许多人坚持应用这一系统,已经为通过这一系统发布大量自由软件作出慷慨的供献。作者/捐献者有权决定他/她是否通过任何其他系统发布软件。许可证持有人不能强制这种选择。
  本节的目的在于明确说明许可证其余部分可能产生的结果。
  8. 如果由于专利或者由于有版权的接口问题使程序在某些国家的发布和使用受到限止,将此程序置于许可证约束下的原始版权拥有者可以增加限止发布地区的条款,将这些国家明确排除在外。并在这些国家以外的地区发布程序。在这种情况下,许可证包含的限止条款和许可证正文一样有效。
  9. 自由软件基金会可能随时出版通用公共许可证的修改版或新版。新版和当前的版本在原则上保持一致,但在提到新问题时或有关事项时,在细节上可能出现差别。
  每一版本都有不同的版本号。如果程序指定适用于它的许可证版本号以及“任何更新的版本”。你有权选择遵循指定的版本或自由软件基金会以后出版的新版本,如果程序未指定许可证版本,你可选择自由软件基金会已经出版的任何版本。
  10. 如果你愿意将程序的一部分结合到其他自由程序中,而它们的发布条件不同。写信给作者,要求准予使用。如果是自由软件基金会加以版权保护的软件,写信给自由软件基金会。我们有时会作为例外的情况处理。我们的决定受两个主要目标的指导。这两个主要目标是:我们的自由软件的衍生作品继续保持自由状态。以及从整体上促进软件的共享和重复利用。
  没有担保
  11. 由于程序准予免费使用,在适用法准许的范围内,对程序没有担保。除非另有书面说明,版权所有者和/或其他提供程序的人们“一样”不提供任何类型的担保。不论是明确的,还是隐含的。包括但不限于隐含的适销和适合特定用途的保证。全部的风险,如程序的质量和性能问题都由你来承担。如果程序出现缺陷,你承担所有必要的服务,修复和改正的费用。
  12. 除非适用法或书面协议的要求,在任何情况下,任何版权所有者或任何按许可证条款修改和发布程序的人们都不对你的损失负有任何责任。包括由于使用或不能使用程序引起的任何一般的,特殊的,偶然发生的或重大的损失(包括但不限于数据的损失,或者数据变得不精确,或者你或第三方的持续的损失,或者程序不能和其他程序协调运行等)。即使版权所有者和其他人提到这种损失的可能性也不例外。
  最后的条款和条件
  如何将这些条款用到你的新程序
  如果你开发了新程序,而且你需要它得到公众最大限度的利用。要做到这一点的最好办法是将它变为自由软件。使得每个人都能在遵守条款的基础上对它进行修改和重新发布。
  为了做到这一点,给程序附上下列声明。最安全的方式是将它放在每个源程序的开头,以便最有效地传递拒绝担保的信息。每个文件至少应有“版权所有”行以及在什么地方能看到声明全文的说明。
  <用一行空间给出程序的名称和它用来做什么的简单说明>
  版权所有(C) 19XX <作者姓名>
  这一程序是自由软件,你可以遵照自由软件基金会出版的GNU通用公共许可证条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你的选择)用任何更新的版本。
  发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定目的的隐含的担保。更详细的情况请参阅GNU通用公共许可证。
  你应该已经和程序一起收到一份GNU通用公共许可证的副本。如果还没有,
  写信给:
  The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
  MA02139, USA
  还应加上如何和你保持联系的信息。
  如果程序以交互方式进行工作,当它开始进入交互方式工作时,使它输出类似下面的简短声明:
  Gnomovision 第69版, 版权所有(C) 19XX, 作者姓名,
  Gnomovision绝对没有担保。 要知道详细情况,请输入‘show w’。
  这是自由软件,欢迎你遵守一定的条件重新发布它,要知道详细情况,
  请输入‘show c’。
  假设的命令‘show w’和‘show c’应显示通用公共许可证的相应条款。当然,你使用的命令名称可以不同于‘show w’和‘show c’。根据你的程序的具体情况,也可以用菜单或鼠标选项来显示这些条款。
  如果需要,你应该取得你的上司(如果你是程序员)或你的学校签署放弃程序版权的声明。下面只是一个例子,你应该改变相应的名称:
  Yoyodyne公司以此方式放弃James Harker
  所写的 Gnomovision程序的全部版权利益。
  ,1989.4.1
  Ty coon副总裁
  这一许可证不允许你将程序并入专用程序。如果你的程序是一个子程序库。
  你可能会认为用库的方式和专用应用程序连接更有用。如果这是你想做的事,使用GNU库通用公共许可证代替本许可证。

Dec 5, 2008

如何创建别人进不去也删不掉的文件

建立一个别人既不能进入又不能删除的文件夹
2008-01-05 09:03
相信大家都遇到过自己的一些隐私文件不愿意让别人看到的情况吧,怎么解决呢?隐藏起来?换个名字?或者加密?这些办法都可以办到,其实还有一种方法,就是建立一个别人既不能进入又不能删除的文件夹,把自己的隐私文件放进去,别人就看不到啦,下面讲讲如何实现,很简单的。^_^

第一步:在运行中输入cmd,回车,打开命令行窗口

第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘

第三步:输入MD 123..\ 回车,注意文件夹名后有2个小数点

OK,搞定,看看你的D盘下面是不是多了一个名为123.的文件夹了?它是既不能进入又不能被删除的!不信你就试试看吧^_^

那么,如果自己想删除或者进入这个文件夹,又应该如何操作呢?同样也很简单。
如果想删除,在命令行窗口中输入 rd 123..\ 回车,即可删除,当然删除前请确认里面的文件都是不需要的,不要删错了,呵呵。

如果想进入,在命令行窗口中输入 start d:\123..\ (注意这里一定要是文件夹的绝对路径,否则无法打开即可打开此文件夹,你就可以随心所欲的把不想让别人看到的资料放进去啦!

原文来源:http://bbs.360safe.com/viewthread.php?tid=352718&extra=page%3D2

Nov 15, 2008

【财富论坛】郎咸平: 未来和下一代很悲惨 其二

主持人:今天上半场的演讲就到这里,感谢朗教授。首先朗教授以我为例,举个例子非常容幸,而且告诉我说,今天我犯了一个大错误,在这里我也指出朗教授最大的错误就是来烟台来晚了,大家说对不对?让我们一起期待朗教授下半场的演出,休息15分钟。

主持人:对于期盼,朗教授的下半场的演讲而言,这个时间感觉更短,我们确实非常认真在听我们朗教授的演讲,不过我个人觉得还是稍微有一点点的遗憾,哪呢?整个演讲的过程中我们还是非常遗憾地听到了手机的铃声,所以我真的希望下半场的演讲过程中,亲爱的朋友能够将自己的手机打成静音或者是震动的状态,这是对朗教授最好的尊重,在朗教授走之后我说了一句话,朗教授可能没有听到,现在朗教授已经坐在了自己的座位上,朗教授说他从来没有犯过错此外,但是我说他只犯过一个错误,就是你来烟台太晚了,如果你早来烟台一年的话,至少我估计我的两个月辛辛苦苦攒下来的钱,还是两年的钱不会变成两个月,指出来我的错误,但是朗教授知道各位都套牢,但是各位和我一样,都找到了继续下去的信心,到底朗教授会让我们的信心百倍增强,我们让我们彻底的绝望,让我们一起来聆听。再次掌声有请朗教授!

朗教授:其实这也不是我的错,是阳光100的错,你们怎不早点叫我过来,我们两个人都没有错,搞了半天,刚才主持人给了我很大的压力,他说下半场的演讲,能不能为各位指出一条解套的方案,我不知道怎么解套,我的水平不够,说不定我越讲越绝望都可能,你们还敢听吗?

我前面讲到现在,还没有谈到次贷危机,也就是说告诉各位,就算没有次贷危机,我们中国经济发展也是这样的结果,所以,我们的问题比欧洲、比英国要严重得多得多。我们不但有二元经济所导致的民营经济的全面箫条,我们还有不可知的未来金融海啸的冲击。那么当然这个所谓的美国的次贷危机已经造成了很大的影响,可是我相信很多来宾,对于次贷危机为什么会发生以及它的冲击有多大?如何在我前面演讲的基础上更进一步阐述我的观点。那么最近我看了很多媒体的报道讲的不太正确,也想透过这个场合告诉大家到底资本主义出了什么问题?

以前在美国做房屋贷款是这样做的,这帮人在做,这些人并不是信用卓著,通过一些中介,负责帮银行收集资料做第一关的审核,那么中介把资料交给银行。银行在做第二次的审核,通过以后,银行把钱直接放贷给借款人,银行比如说借出一百万,银行就少了一百万,为了让资金充裕,就把一百万的债权卖给你,你们说熟悉的房地美跟房利美,就把一百万切成一千块,一千块一张的债券卖给全世界包括中国政府,卖的三千七百亿,总共差不多5万亿,这个过程本来是非常好的,信用卓著的借款人把资料给银行,银行通过把钱借给借款人,再把债券转给房利美,再切给1000块的债券卖给大众,所以银行不缺资金,房利美拿回一百万,最后的债权全部由社会所承担,这个社会是广义的社会,包括中国政府包括欧洲社会包括美国的大众,这是一条非常完美的链条。

可是,这么多年来,美国华尔街的贪婪,让这条链条彻底的变质,怎么变质?第一发明的次贷,次级贷就是允许财务报表不好的人,收入所得不够的人,信用不够的人依然可以买房子,如何透过第一道中介呢,就开始很像我们的银行,开始造假,学坏很快,学好不容易,拿一些假资料,我们做的很多了,骗银行我们骗多了,造一些假的资料,拿去忽悠你,银行所有的分析根据假的资料,所以通过审核把钱借给了借款人,银行拿这些有问题的次级债卖给房利美,他们根据这些一百万的次级债,切给一千块的债券卖给大众,中介为什么会造价,就是资本主义赖以为生的信托责任,在华尔街的贪婪下荡然无存。信托责任才是资本主义的灵魂,当中介机构一旦缺乏信托责任的下场就是整个链条被污染,只要借款人还不起债,银行债券就是差了,银行把差的债权卖给房利美,他们又发行债券卖给大众,会使得房利美还不起债。因此,造成破产现象。

现在美国政府在做什么呢,直接进来救助房利美的银行,他们基本上都是受害者,直接拿钱帮他们付利息,否则后果不堪设想,各位听懂了吗?所以次贷危机的真正原因来自信托责任的破产。你们千万不要小看这次危机,因为除了次贷危机以外我发现美国还有万亿的次次债,比如说卖热狗的、毒品的,这些人他们也可以买房子,这些人叫做次次贷也可以透过无聊的中介机构伪造一大堆的财务报表卖给银行,银行卖给房利美,这个是做爆炸呢?两年以后,所以美国政府透过7千亿的目的就是修补这个次次贷带来的污染,解救房利美。

但是各位请注意,这个影响太大了因为几万亿出去的,包括美国的AIG就是美国的国际保险公司,这个影响已经是危及全世界,而且更可怕的是这么多年来,为什么中国的经济成长这么健康?为什么中国这么严重的产能过剩,虽然是牺牲了环境、资源、劳动者的情况下,大量的产能过剩为什么还能存在,为什么经济不崩溃,原因是以美国为首的西方经济他们负债消化这些产品,也就是高度的负债,所有的美国人都在借钱,美国公司美国政府都在借钱,然后大量印发钞票,购买我们中国出口制造业的产品。只要美国这链条一断裂,美国人不再购买产品以后,中国过剩的产能危机立刻爆炸,为什么没有爆炸呢?就是美国人不断借款,购买我们的产品。

但是,不断地借款不断借款没有关系,只要你的借款的品质是好的就没有问题,比如像以前信用良好的借款者借款没有问题,问题是今天链条被污染了,所以高负债的情况下,一个被污染的链条,立刻产生重大危机,你们听我讲到这里,就应该要干什么?如果这个负债的链条,防火墙挡不住的话,下一步结果是什么?你想想,也就是美国赖以生存的、以负债为主的大量购买中国产品的做法将立刻破产。好了,如果美国人不再购买我们的产品,我们这么多的产能过剩怎么办?请你们在座的各位来宾你们来回答我一下,我们的消费只有30%,我们根本买不起,我们买不了这么多的产品,只要美国人因为经济危机不买的话,我们生产过剩的现象立刻爆炸。

我在这个时刻我根本就不想讲粉饰太平,我也不想取悦领导,因为我是真正爱国的,只有把这句话讲清楚。(掌声)只有尽早告诉政府它才能有英明对策,来宾们,你们都听懂了吗?中国产能过剩的问题,因为全球的高负债得到的缓解,他们买了我们的产品。只要我前面讲的防火墙一旦破裂,老百姓的信心一旦丧失,不再以负债的方式购买了,那么我们所面临的是企业的大量倒闭,我都不敢想。这一刻我比谁都紧张,我一直观察美国政府能不能成功救市,因为美国政府一旦失败你可不要做地上官,你可不要嘲笑美国政府部门,我们中国将付出惨重的代价。由于我看得比谁都早,看得比谁都明白,我到两点才睡,不断打电话到美国询问最新的情况是怎样?我得到的都是最新的讯息。不过告诉各位,我已经有了一些最新的讯息。我今天发现,美国的援助力不够,七千亿可能不够,你知道七千亿是什么概念吗?美国老百姓每一个人为此付出了接近3千美元。可是我认为,还是不够的。所以上周,美国股市跌了20%多,这是从包括1929年那次股灾,同样大的跌幅。你知道这意味着什么意义吗?可能大家没有这样的敏感度,我担心的是 1929年之后的经济大风波。

我现在希望,英国政府也开始救市,你知道发生什么事吗?为什么救市不成功?而且上个礼拜全世界几大国家联合行动救市,同时注资,同时降低利率,各位记得吗,可是最后结果是失败的,你知道为什么失败吗?因为,每一家金融机构拿到救助款之后,而且是利息非常低的救助款之后,他把钱压在手里,都在怕,借给你不还给我怎么办?我对银行没有什么信心,所以也不借给银行,所以政府给我的流动资金,我压在银行里,既不给企业短期融资也不给银行,我全部压在手上,如果银行都不拆借的话,我们全世界的短期融资怎么办?你怎么买原材料怎么发工资,你要靠短期融资,银行如果缺短期债的话,是无法生存的,否则资金会陷入周转不灵。

目前的现状是怎样的?银行系统虽然接收了政府的救助,但是由于根本的问题解决不了,大家不敢从事短期借贷,下一步就是美国的制造业、美国的企业、美国的服务业拿不到短期融资而全线崩溃。美国银行业会由于银行之间不准拆借、周转不灵,造成更多的现状。为什么这些银行不借?虽然拿到这么多钱的救助为什么不借?因为信心丧失,什么信心丧失?对于资本主义的信心丧失,我讲这句话有点可笑,你千万不要笑。

最近欧洲政府包括冰岛,已经开始把金融机构国有化,为什么?因为银行信用已经破产,大家都不相信银行,甚至连银行也不相信银行,银行拿到钱也不拆借企业,免得你们拿钱跑了。所以银行信用本身已经没有办法让系统运作了,因为银行信用不够了到最后逼迫英国政府、欧洲政府以国家力量收购银行变成我们痛恨的国有企业。你知道为什么这样做吗?因为以国家的信用担保,我保证还你钱,你只要以国家的信用担保,这家金融机构一定还钱,别的银行就会借钱给他,各位听懂了没有?在我们民营化的时候,你发现全世界国有化,为什么国有化,就是重新利用政府的信用,给这个经济体系打下长期定数,你们放心的去借吧?政府为你们撑腰,不但为银行撑腰,把银行收归国有,同时由政府印钞票向企业融资,你把你的票据卖给政府,政府拿钱买你的短期融资的票据,让你发行,购买原材料,因此今天整个信用体系,破产的是各国政府出面实行全球的国有化,什么目的?重新向这个腐败不堪的金融机构注入最后一股政府信用。透过政府信用,透过政府的钱直接拆借给银行,透过政府的钱直接购买企业的短期票据,让企业拿到短期融资发薪水、买原材料。美国政府还没有这样做。他们看在眼里,心很急。因为如果你不学习欧洲政府的话,没有政府信用在里面,整个金融体系会因信息不足而全面崩溃。

这是今天上午得到的最新消息,我一直在想这个事怎么讲,我讲的是最前沿的,美国政府也在考虑要不要把美国金融机构变成国营企业呢,这和美国政府的民营理念有悖不太愿意这样做,但是如果不这样做的,你的七千亿美救市计划很难成功,因为大家的信心丧失,我相信你们想问我一句话,你们问我说,朗教授政府信用是不是最后一步?你们想不想问这句话?对的,这是最后一步了。如果问我下面一句话,如果政府信用也不行呢,完了。那完了,没有别的办法了。我都不想演讲下去了。

走到这一步,整个金融体系的问题,会使得各国无力再以负债的方式成长,因此,就不会再以负债的方式购买我们产能过剩所制造的产品,听懂了吗?下一步就是什么呢?所以说中国不可能幸免于难,我也请各位来宾密切注意这几天的发展,你们要随时随地按照我今天告诉你们的思路注意观察一下,你会发现今天两点开始,欧洲各国政府甚至我怀疑美国政府要大量实行全面国有化。否则,无法注入最后一道强心剂。因为资本主义的信心完全崩溃,信用体系完全崩溃。

你看我讲到这里,大家鸦雀无声了,你们才知道事态的严重。竟然还有无聊学者胡说八道说明天会更好,大家放心。是看不懂呢,还是怎么回事儿?刚才主持人问我如何解套,我不知道,我没有这个能力解套,因为我发现美国政府也解不了套,郎咸平什么东西,还问我:朗教授,我们该做什么投资,你疯了,我昨天早上到今天中午很多企业家问我,我们应该投资什么行业,我一开始告诉你,你疯了,我当时讲你疯了,你可能觉得我在开玩笑,我讲到现在这样说你该理解了吧?

你晓不晓得什么危机在你面前,全世界各国的政府现在已经拟定了三个方针:第一个方针,就是政府出面协助各个金融机构的负债问题渡过难关。第二个问题,充足各个金融的资本,如果还不行,第三个,充足国有化,如果还不行有没有第四个,到这一天,防火墙会正式爆破,如果国有化解决不了问题,防火墙宣告爆破,我讲的工商链条多米诺骨牌效应将一发而不可收拾,中国经济发展靠出口创汇,基本是依靠过剩的产能发展。都听懂了吗?

当然了这个事件,未来是怎么走势我也无法预测。其实他们也是走一步算一步,以美国为首的西方国家作梦也没有想到连政府注入几千亿资金的结果还是无法救市。因为,源自于企业的信念还是过窄,逼迫政府出来用政府力量帮助银行完成短期拆借,帮助企业完成短期拆借,帮助他们继续生存下去。现在各国政府正在用政府的力量协助银行进行短期拆借,利用政府的力量协助企业进行短期融资,以维持一个正常的营运,而不要说发展。

你们听完我的演讲之后,以后再听到学者有任何乐观的呼吁你不要听了,你心里要做准备,没有人希望最坏的情况发生,我告诉各位来宾,我第一个做的演讲是跟次贷危机完全无关的中国经济问题。如果你们已经觉得日子很难过了,那么我第二个阶段的演讲将带来海啸般的冲击,我现在随时随地密切观察欧美各国能否有效斩断工商链条,中国的出口制造业就是工商链条的重要环节。

这也是为什么在第一场演讲完成以后,我告诉你们少投资,最少不要投资,减少负债,准备过冬。而且,像美国的财政部长鲍尔森以及美国的中央银行行长波兰克这些都是赫赫有名的人物,像波兰克这个人是1970年代的博士学者,我是1980年代毕业的经济学家,那个时代毕业的学者跟我们这个时代不一样,哪个时代的学者对于经济大恐慌本身研究得非常到位,不像我们80年代的学者是非常单纯的一批人,迷信市场的人基本上都是这批人,70年代的学家有非常强的政府道德责任感,当时波兰克也就是美国中央银行的主席,他的博士论文就是 1929年经济大恐慌,他说当时美国之所以发生经济大恐慌就是因为没有设立防火墙。

中国的企业、中国的制造业,在大海啸没有冲击之前为什么这样的不抗压,各位想想?所以我前面说了,第一,汇率的上升,第二成本的上升,第三劳动合同法,第四宏观调控,这四件事情和我现在讲的第五件事情相比它们的力量是非常小的,也就是在汇率、成本、劳合同法以及宏观调控的冲击下,我国制造业如此不抗压,为什么?这四项冲击远远比不上我刚才讲的大海啸。就算这四项小冲击,我们的制造业也抗不住,30%的企业倒闭,甚至到了年底有可能超过50%,我希望不会,政府应该出来救企业,我诚恳地希望不会到50%,但是请问这四项冲击为什么我们企业抗不住?因为,我们和欧美各国的企业相比,我们有一个天生的缺陷,那就是我们引以为傲的制造业大国误导了我们的政府部门,你真的以为我们是制造业大国吗?你在媒体上所看到的都是什么样的?都是错的,你真的这样认为吗?真正的制造业大国是美国,才不是中国呢,我们是自己感觉良好。那么我们中国制造业目前在什么环境之下呢?我给你讲一句最形象的话,中国经济发展到最后中国取得了 GDP,美国取得了利润,也就是说我们制造业的格局就是创造的GDP,最后的利润全部被美国席卷,这句话什么意思,为什么我们这么不抗压,因为我们的制造业不但破坏环境、浪费资源,而且是整条产业链中价值最低的过程。

我以芭比娃娃为例,我们广东东莞所生产的芭比娃娃卖到美国是9.9美元一个,接近10美元,请问10美元减掉1美元的9美元是如何创造出来的?那就是美国企业的灵魂,它透过6大块所创造出来,包括产品设计、原料采购、仓储运输、定单处理、批发经营、终端零售,创造出了9美元的产值,6大块加上中国一块的制造,叫做六加一的整个流程就是产业链,我们这么多年的经济成长,我们取得了整条产业链的“一”,而欧美各国掌控了整条产业链的“六”,这个价值是怎么回事儿?我们的制造业者在破坏环境、浪费资源、剥削劳工的基础上,我们每创造出一百万美元的产值,我们同时替美国创造出九百万美元的产值,我们辛辛苦苦创造出一亿美国的产值,我们同时替美国创造出9亿美元的产值。因此,中国越制造,美国越富裕,美国席卷了90%的价值。

那么这一种生产模式叫做国际分工。而中国被分到了最差的一项,破坏环境、浪费资源、剥削劳工。我们现在常常以1.8万亿感到扬扬得意,你晓不晓得我们怎样创造出这样的成绩?我们掌控着10%的价值,我们创造出1.8万亿美元的外汇,也就是1.8万亿除以10%等于18万亿,也就是我们出口制造业替全世界创造出18万亿的产值,我们只分到了1.8,其他的都是欧美的,你知道18万亿是什么概念呢?那就是在座的各位来宾和全中国的工人80年所加起来的工资的总和,这就是18万亿被国际分工席卷。

所以我常讲,今天西方帝国主义对中国的掠夺和19世纪免费掠夺非洲差不多,当时非洲是0%,现在中国拿10%,在我看来没有什么差别,至少非洲没有环境污染等的问题,我们的10%伴随着污染环境,浪费的资源以及被剥削的劳工,由于你是处在产业链的最底端。因此你特别抗压,因为真正掌控定价权的是整个产业链的六,一是不掌控定价权,所以你能不能想象,欧美各国尤其是以美国为首的欧美国家,不但席卷的90%的利益,而且掌控着我们的定价权,我们不掌控。这就是为什么,创造了汇率,成本、劳动合同法以及宏观调控之后我们的企业必须全力承担这些成本,因为我们不掌控定价权,我们无法提升售价,各位都懂了吗?这就是为什么我说的投资营销环境急速恶化,因为你不掌控定价权。

到最后的结果,大家不想干了,不想干的结果就像你们一样炒股去了,还被套牢了,想想这都是错的,你看,美国,掌控着定价权,透过6+1的6席卷了90%的产值,这种情况,他们竟然发生了次贷危机,你能不能想象他们的防火墙一旦破裂以后,洪水将席卷90%的产值,想到了没有?我前面跟大家讲的就是说防火墙破裂之后会影响到这个行业、这个行业,现在我把这个数字告诉你,美国防火墙破裂的结果冲击到以美国为首的90%的产值。然后再冲击到中国的10%的产值。

我就是把第二段演讲的前半段全部给你量化。因此,美国、欧洲的做法三步骤:第一保护银行的债权,第二保护银行资本金,第三全部国有化,如果能够斩断工商链条的话,美国所创造的90%才能保存住。如果抗不住的话,全部席卷90%,只要冲击90%,就同时冲击我们的10%。所以现在已经不是一个金融危机的问题了。各位来宾都听懂了吗?

那你可能问我了。那样我们这么多年的产业政策没有想到这个吗?我告诉你没有。我们这么多年的产业政策呼吁企业利用我们的廉价劳动力、呼吁企业品牌升级、呼吁企业产业升级,没错吧?我告诉你,都是错的,因为真正的竞争力来源于6+1的高效整合,我们应该用政府的力量让我们的企业做成6+1的高效整合才能掌控定价权。只有掌控定价权我们才有生存的机会。

可是目前我们的制造业是大量的倒闭。那么请各位来宾想

一想。像郎咸平这种水平都会看得明白的事,你们认为美国政府看不明白吗?你相不相信,美国政府的要员比我聪明得多得多,我已经够聪明得了,他们比我还聪明,当然你不一定相信,你说朗教授谦虚了,今天这个年头还能自认为自己不足的人太少了,中国人牛人太多,不知道还不行了,连我这种水平的人我都看得这么清楚,何况美国。

这位女士说对了大量热钱进入中国,大量收购中国的制造业,为什么?中国的制造业1,美国的产业链是6,6不能没有“1”啊,听懂了没有?如果1崩溃的话,“6”也一定会崩溃,“6”一定有“1”做基础,才能发展,如果我们不生产芭比娃娃卖给美国,它怎么能创造出6的产值呢?我再一次告诉我们的地方政府你们必须救自己。“1”最重要了。因为我们的“1”正在被大量的收购,我觉得这位来宾比我聪明,他已经把我结论讲的差不多了。

中国进出口总额的55%都是外资,中国高科技出口的87%是外资,中国的汽车高端零配件90%是外资,中国你们吃的粮油85%是外资,中国山东、河北的几个粮食局已经被外资收购了,知道吗?中国的养猪的产业链某条产业链被收购了。这就是今天你所面临的格局,你知道这些数据吗?你可能都不知道,为什么不知道,因为你们从来不介意,我今天演讲的时间特别长,我已经把这些全部讲了,我们就算保有6+1的“1”,而且产值这么低的而且还是大量被收购的情况下,次贷危机的冲击还没有开始。

可是这些现象的原因就是中国的经济成长是靠着推动GDP所拉动,就是30%的部门透过钢筋水泥拉动的成长,70%都是过冷的制造业,这种特殊的二元经济 30%过热,70%过冷。经过了汇率、成本、劳动合同法以及宏观调控的冲击之下,过冷的制造业更冷,所面临的投资环境更加恶化。而过热的地方政府过热,我记得上一次去山西,有的人说你看我们的山西最近发展很好,我说中国的哪个地方发展不好,哪个官员一上任也是搞建设,推动GDP的工程建设,透过30%拉动 GDP这就是各级政府做的事。越这样做,越多的资源流入过热的部门,过冷的制造业为什么这么不抗压?原因就是我们已经进入到了一个前所未有的产业链的暂停时代。以美国为首的欧美国家控制着整条产业链的“6”的,我们在破坏环境、浪费资源、剥削劳动的基础上我们创造的“1”,更严重的是这样使得我国的制造业产生严重的生产过剩现象,而这个生产过剩现象透过美国这么多年的负债增长的形势全部被它吸收了,所以我们看起来是表面的繁荣,我们这么多的产品好像是更富裕了,那个制造,你已经跟次贷危机牢牢挂钩了,因为购买你产品的原因就是负债,我们是靠美国的负债支撑起我们的出口制造业使得我们过剩的产能透过美国消化掉,

但是美国的次贷危机使得美国高负债的时代即将终结,你可以相信我。未来一定是负债比例大幅降低,因此对于中国产品的需求必定大幅降低,所以中国产能过剩的现实情况将会曝露无疑,这个时刻就是次贷危机防火墙爆炸的时候,不但冲击了美国所能够掌控的90%的产值,同时冲击到中国只有10%的产值的过剩的出口制造业,产能过剩的制造业。

下一步是什么呢?我也不想讲了,因为你已经听懂了多米诺骨牌效应,下一步是什么呢?再下一步是什么呢?会形成一个恶性循环。大家怎么都不吭气了,其实你们今天不应该来听我的演讲,不听的时候,模模糊糊过得挺好的,国家有吃有喝的,过得挺好的,一旦听懂以后再也睡不着了,相不相信我,你们每天晚上今天晚上都会看凤凰卫视,看美国的次贷危机,国有化会不会成功,一旦失败,朗教授告诉我们的最后一招,一旦国有化失败全盘崩溃,回去不要老是看《汉武大帝》什么的连续剧了,回去看看美国的国有化会不会成功。

主持人:朗教授的演讲到这里就结束了,接下来的时间就是我们在场的来宾向我们朗教授提问的时间,首先有请我们舞台左侧的朋友提问。

搜房网:朗教授你好,我是搜房网的网友提问一个非常实际的问题,就说在当前的情况下,如何能让自己日子保持得好一点,甚至过得更好一点。

朗教授:过得更好一点不可能的,不要过得更坏就不错了,我建议各位网友各位来宾,注意在这个时刻千万不要想赚多少钱,能够少赔多少钱是真的。这是我告诉你们的,如果你们想买外币保值的话,一定要买最保守外币,什么目的呢?不赚钱,也就是你买欧元一定要买等量的美元,保证不赚钱,也保证不亏钱,这是我给网友的建议。

提问:我是烟台日报的传媒记者,我问一下,今天总体感觉世界一片黑暗,我们改革开放30年,次贷危机来了以后,会不会是辛辛苦苦30年,会不会一夜回到改革前。

朗教授:这个问题问得太好了,这个不是我造成的该黑暗就是黑暗,该乐观就是乐观,为什么你们来听我的演讲,为什么大家欢迎听我的演讲,我是讲实话的,有良知的学者我不想骗你们,如果你认为是悲观就是悲观,但是事实只有一个,我今天给你讲的是事实,只要你要怎么做,千万不要问我,该不该炒股,这个我是不回答的,你只要了解了我讲的所有故事,该有的事你自己做判断。

提问:我记得第一次听您的课是在北京,当时给我印象最深的是在北京,出了三个,你错了,你错了,你还是错了,今天听得比较多的是你疯了,包括今天的主题,当时不是说您,我想说的是,因为在座可能更多的是我们的民营企业,包括房地产的一些行业,如果您是生在烟台,在这个企业之中,根据你的大的形势恩,我觉得还是有机会,你刚才也提到乱世出英豪,我想提两个比较简单的,企业能否自救,下一步问题是如何自救。谢谢。

朗教授:你的问题问得非常好,我想这样回答你,烟台,所受到的冲击远远小于广东、江浙。尤其是你们房地产价格是这个价位之下的话,你们所受到冲击也会远远小于温州等地,如果冲击不这么大的的话,制造业本身需要烟台市政府的大力救助。那么,我这个时刻,我认为一个比较有效的短期的办法,是我们的制造业目前千万谨慎小心,不要随意扩张产能,维持现状,继续改进你的效率,降低成本,同时更重要的是烟台的民营企业需要政府大力的救助,因为一切财富的基本来源来源于企业,一定是企业赚钱了,才会给员工更多的薪水,只有员工拿到更多的薪水,烟台才会更繁荣,大家不要只看GDP,如果烟台只是少数几个城市,首先放弃 GDP 的理念,着重企业的利润的话,你就能排在名列前茅,就能更容易渡过难关,不要只看GDP,GDP不重要,政府能够把资源移到对企业的直接救助方面,这就是对企业最大的帮助,也就是对烟台市最好的建设,这个需要一个思维的转变,什么转变呢?你不要认为救助制造业是违反市场化行为,你想想我今天的演讲,国有化是目前全世界的潮流,我们如果能够未雨绸缪,透过政府的力量援助制造业渡过难关,将来烟台市一定能够更快上一个台阶。各位理解我意思吧?

提问:最近我们注意到十七届三中全会正在召开,好象是经过这样一个磨难以后,我们才认识到以前所谓的出口消费三辆马车的次序应该改改,改成拉动内需在前面,我们想听听朗教授对十七届三中全会的精神,怎样可以走出困境。谢谢。

朗教授:大方向我们肯定是赞同的,但是你是提的什么内需?千万不要把国家的有限资源又拉到以GDP为主的资源,我们资源的是有限的,不要为了提升我们的 GDP又去大量建公路、桥梁又搞这个,最后是什么下场呢?就是把制造业的谨慎的资金投入到过热的部门,使得我们制造业更难,提升内需就是我们政府要学习欧美各国的做法,将大量资源投入到与民生相关的制造业跟服务业上,这才是我们未来该走的路,我认为最迫切的做法是利用政府的力量协助制造业从过热的部门转入过冷的部门,帮助制造业渡过难关。因为山东讲的是原则性的问题,我建议一个原则性的方法来回答你,我认为这是解决目前难题的方法,至于次贷危机的危机,我们没有办法,我们只能是坐以待毙。

提问:目前很多的专家学者都在讲目前的经济状况下中国经济转型的很好的机会。

朗教授:这是胡说八道。这些家伙站着说话不腰疼,不懂中国的经济,中国90%的制造业根本不可能转型,要转型就是破产,做陶瓷做肉干什么的的怎么可能转型,不在于转型而再在六加一,如果高价收购养猪行业有没有让养猪转型,那么多的外资收购我们粮油有没有改成高科技,他们收购粮油、都在做六加一的产业链的高效整合,我们传统行业没有错,升级是错的。你忘了养猪往哪里升?你讲,粮油怎么升级?要做什么呢?就在做这些公司收购我们传统制造业之后做的就是六加一高效整合而不是产业升级,理解我的意思吗?

提问:中央在十七届三中全会提出经济有些扭转,如果将来有失去土地的农民会不会造成严重的社会问题。

朗教授:我知道你要问的是什么,我不想说的,你要想到,一句话,如果我国的制造业产能过剩的制造业一旦受到金融海啸的冲击之后你想到下一步是什么?大量的失业,你只能是吸收农村人口,别的话我不讲了。

提问:你一再强调国有化,我想问一下国有化和私有化的问题。

朗教授:她问的问题是我们这么多年的改革是反潮流的,别人忙着退市我们忙着上市,这是一个学习的过程,并不是说四年来都在国有化,全世界的金融机构都是私营的多,上市的多,这是为什么我们国家也走上这条路,只是今年的这两个礼拜开始变成国有化,我也相信这次演讲以后我们政府会有深刻的认识,重新做一个思考私有化不是目的,目的是如何保护金融体系的问题,私有化也好,国有化也好都不是问题,只要保持稳定才是最大的前提,我们过去的私有化是有问题,我们是以私有化而私有化,我们未来要为了维持金融稳定而实行国有化或者是私有化。欧美国家为什么要国有化并不是变成社会主义,他们注入最后一剂强心剂,就是提升信心,国有化不是目的,所以大家不要搞错了不要认为欧美在国有化。我们就呼吁政府国有化,我们今天呼吁政府一定要在维持金融稳定的前提下,产生各种有益的方案,达成金融稳定,维护老百姓的信心,目前欧美是国有化,中国最重要的是维持老百姓的信心,我们中国也要做这样的事,维持老百姓的信心,至于怎样做也是更要考虑的问题,理解我的问题吗?

提问:在现在的经济环境作为经济学家与我们普通老百姓提一点建议,现在的情况下,投资房产还是比较保值的吗?

朗教授:房地产我这样讲好了,以亚洲各国为例,包括香港台湾韩国为例,房地产在足够长的时间下,包括十年到二十年以上,相对而言比股票市场更能够保值,这样波动是有的。我们现在会走上低谷也会,只要经济持续增长,情况会有所转换。你这样问的话,我相信回答是比较简单的,以台湾为例,台湾很富裕,原因和台湾老百姓都喜欢购买房屋有关系。举个例子,我们观察到广东的倒闭的企业会不会到台北,130亿美金,投入到台北干什么?买房子。陈水扁住的特区有一半是广东的台商买,有这种习惯,为什么这样的习惯呢?是台湾人致富的方法就是靠房地产。

提问:你好,朗教授,我只是一个高二的学生,所以我的问题可能过于浅显,请您多多包涵,我想问的第一个问题,你很有自信,而且你也很高的预见性,你今天分析的是我们现在所处的环境是多么灰暗,我想你为什么不分析为什么会这样分析,为什么不从美国的整个经济体系的建立过程中,从一战开始整个资本主义的经济体系是怎样建立的,为什么不从根源上探讨?

朗教授:应该从资本主义的本质开始,但是今天的时间不够。

提问:第二个问题我想问一下,前一段有学者说我们当下是处在人口红利期,我们今天知道这个说法是错误的,当我们大学毕业以后,我们面临的问题将会更多,我们将面临我们的爸爸妈妈爷爷奶奶将要全部靠我们养活,以及到时候考大学将会更难,研究生会更多,以及就业问题,我们现在应该做怎样的准备,才能在将来更好解决我们的人生,更好渡过我们的人生坎坷。

朗教授:你请坐,非常好,这位女同学,你高二是不是?你能问这么深刻的问题,我们对我们的下一代感到骄傲,我非常重视年轻人的问题,我才站起来回答你。因为她问的问题很深刻,我也希望我今天给你的回答能够改变你的一生,改变你的子女的一生,我非常严肃地站在这里,把你的两个问题做一个仔细的回答。我告诉各位我们的民族,我们这么多的年轻人都在学什么?讲一句难听的话,我们大学教育本身就是在摧残创造力。我们在干什么,我们在培养解题高手,像你有这种思路的女孩,甚至老师不会喜欢你,我必须以对你的重视表达我对教育的立场。我们中国的教育目的是在干什么,目的就是在训练你成为解题高手,我告诉你A我期待你讲 B,我告诉你C我期待你讲D,这么多年来,不要说朗教授的答案争议性很大,可是我们的大学教育没有培养学生这种能力,没有学生认为说这一切搞的都是错的,为什么今天一开始我们告诉你我们的媒体做的都是错的,我告诉你我们要否定A,你问的问题都是错的,我凭什么按照你的意愿回答B,到最后大家认为我可能是一个低端,偏激,甚至是争议性大,到最后发现原来思考的问题本身就是错误的,也就是说这种错误并不是一个学者专家的错误而是整个教育体系出了严重的错误,你们的子女只要在读完本科的结果就会是这样的结果,你告诉他A就是A,不会怀疑A是错的或者是C的错的,各位理解我的意思吗?我希望每位父母把我的话带回去给你的子女,怀疑告诉你的一切都是错的,只有这样才会培养你独立思考的创造力理解我意思吗?你问的我的第一个问题为什么这样重要,为什么按照我的思路讲,为什么不从y来讲,比如谈谈的原则,起源说不定这些才跟我们讲的有关,我可以讲,我在别的场合也说过,我讲了一句话,这是整个欧美国家对于整个资本主义的失望,这个话回答了你的问题,我从19世纪开始讲,我开玩笑说没有时间,但是我鼓励你这种说法,你高二学生没有听周杰伦的演唱会,你跑来听朗教授的演讲,这点我给里最高的崇敬。

看到高中生一追逐明星我就不舒服,我可能是嫉妒吧,这句话我也送给各位家长,为什么中国科技大的少年班是失败的,因为他们选拔的尖子学生根本不是天才是解题高手,这就是为什么他们培养不出真正的天才,真正的天才要像你这样问问题才能成为天才,永远怀疑A。第二个问题问得非常好,我把她的问题重复一遍等她长大以后,等她毕业以后,她的曾祖父增父母搞不好没有死,曾祖母、爸爸妈妈,结婚以后对方的一家人他们两口子养这么多的老前辈,哪个时候怎么办?最糟糕的是什么你辛辛苦苦考完了大学以后,大学一毕业保证失业,养也养不起,如果这样发展的话,中国十年二十年会成为最贫穷的国家,像我们这样的老人很多了,像他这样的也是,万一她找不到事怎么办?各位来宾有没有想到这个的严重性?她找不到事怎么办?我告诉你,为什么我要站起来回答你的问题,你已经帮我们所有的大学生问了朗教授一句话,我们为什么找不到事,我们连奉养父母的能力没有,我们为什么找不到事,因为产业政策都是错的,美国大学生比例这么高,我们如何搞教改,我们搞教改的原因是我们看到的美国的大学生这么多,我们误认为如果我们同样生产这么多的大学生就可以透过人力资本扩张像美国那样富裕,因为我们到处都是大学,最后发现今年培养出580万大专生,大部分找不到事。为什么?我有孙子了,我很关心这个事,我告诉你原因,那就是因为,真正需要大学生的是整条产业链中的“六 ”制造业这个“一”是不需要大学生的。理解了吗?那么你们问我了,难道搞教改的人不知道吗?我告诉你他就是不知道。他完全不知道美国多学生比例这么高的原因,是因为他们掌控着整个产业链的“六”,而我们掌控的是“一”,制造业本身不太需要大学生,因此烟台很多的工厂从董事长到保安没有一个大学生,有些工厂不是所有的啊,因为制造业不需要大学生,产品设计、零售规划、仓储物流这个需要大学生,可是我们都不掌控。都由谁掌控呢?由欧美各国掌控着。

这样一来的话,你会知道为什么中国长此下去会成为最贫穷的国家,因为我们掌控了价值链中最不重要的一个环节,因为掌控了6+1之后的“1”之后,带来的必然结果就是给你们一个最差的自然资源,挖光、用光的自然环境以及剥削的劳工给你们了,我们这一代是最对不起下一代了。这是我为什么站起来回答你的问题。

主持人:我相信今天朗教授精彩的演讲给留下了深刻的印象,接下来,让我们站起来以最热烈的掌声欢送朗教授、感谢朗教授!

【财富论坛】郎咸平: 未来和下一代很悲惨 其一

财富论坛

主持人:尊敬的各位领导、各位来宾,欢迎大家来到阳光100财富中国系列活动 财富论坛烟台站的活动现场,非常容幸今天能够和大家一起在这样一个暖暖的午后一起聆听世界顶级的经济学家给我们带来的全新思维盛宴。。。。。。

朗教授:今天很高兴,能够来到烟台谈谈让人沮丧的题目,当前经济热点透视,你只要谈到当前经济热点,都是坏消息。那么,请各位来宾想想,你面临的最大的危机是什么?我可以这样告诉你,我们中国改革开放30年,基本是成功,尤其是10余年来,我们经济高度发展的结果孕育出了在座各位一大批企业家。可是你知道吗?由于你所处的环境太顺了,我国经济增长太成功,因此你们这批企业家,只有个人的艰辛的奋斗历程,全中国的政府官员,全体企业家没有一个人经历过马上要发生的经济危机。昨天晚上到现在,竟然有几个企业家问我一句话,朗教授你看看现在还有什么有潜力的行业我想投资的,我只想三个字我说你疯了,你什么也不懂。你把人生看得太简单,你过去怎么成功的?你过去是顺着改革的潮流成功的,我告诉你在今天这刻是每位在座的企业家反思的事。我们的未来是什么?请各位来宾看看今天提供的数据,美国股市从年初到现在,跌了?蒸发了多少亿资金?8.5万亿美元是什么概念?这就是我们中国05、06、07三年GDP的总和全部白干了,一个国家的股市跌了这么多,它所象征的后续是极其可怕的,那就是一个持续的大萧条即将来临。

而中国的股市,虽然过去有所谓的泡沫现象,但是在这里我得很遗憾地告诉各位中国股市已经跌了超过70%,这和美国1929年股市崩盘差不多,这种股市大跌是什么意义?为什么我在去年年底的时候,我敢预言中国股市大跌,就在今年五月份我在凤凰卫视《铿锵三人行》我呼吁全国股民不要对奥运有幻想,股价一定会持续下跌,讲这句话不是一个简单的我有没有胆识、敢不敢讲的问题,我为什么这样讲,当然你们知道我这样讲是对的,中国股价一反世界潮流,什么叫做世界潮流呢?那就是任何奥运主办国的国家都在奥运前大幅攀升,奥运后大幅下跌,我为了讲中国股价会下跌呢,因为我已经看到了经济危机,很多人说朗教授你的争议性比较大,我说你们是错的,我从来没有,因为我讲的到最后都会实现的。

请各位想想,世界经济的次贷危机会对你造成什么冲击?在这刻我姑且把这个话题束之高阁,我先不告诉你,我可以告诉你更可怕的是危机没有来之前,我国已经产生了危机,那就是从前年到去年的股市泡沫和楼市泡沫现象,这种泡沫现象,各位来宾你们以为是我们中国经济发展更成功了吗?你认为是我们中国老百姓更富裕了吗?因此有更多的闲钱炒股吗?不是吧?我在去年年初又讲了一句话争议性的话,很多学者不高兴,我说股市泡沫跟楼市泡沫的本质不是经济更好了,不是我们更富裕了,而是制造业的回光返照,这是什么意思?我国制造业企业家所面临的投资环境已经开始急速恶化,因此,很多企业家把应该投资在制造业的钱不投资的,拿出来去干吗呢?炒楼炒股了因此大量的企业资金进入股市、楼市才是楼市泡沫和股市泡沫的真正原因。

按照我的说法,下一步应该是制造业的大量倒闭,为了把我当时的观点记录在案,我绝对不放马后炮,我写了一篇文章叫做《八大危机》,出来以后,点击率超过一个亿,虽然很轰动,但是像我的人生一样从来不得到重视,因为大家都喜欢专家、学者谈一万点、八千点,不喜欢听我讲实话,不幸的是今年的经济按照我去年所说的八大危机一步一步发生。

就在这个时刻,广东的媒体叫《南方人物周刊》对我做了一个专访,尤其是我写了八大危机之后,他们觉得不可思议,到现在我也记得,他说当全中国专家学者说股市泡沫、楼市泡沫、多膨胀是由于流动性过剩的时候,郎咸平不同意,郎咸平说应该是制造业的回光返照,如果郎咸平是对的,那么全国的专家、学者都是错的。因此,政府推行的宏观调控,不但不能解决问题,反而是一个落井下石的毒药,那是10年之前。我今天我有点羞答答,不好意思告诉你们,最后证明我是全国唯一对的学者,其他的都错了。(掌声)

否则你们这么忙,干吗听我在这里演讲呢?那么各位想想,什么叫做流动性过剩?我们的学者竟然认为,楼市泡沫、股市泡沫,还有通货膨胀,就是简单的流动性过剩,什么是流动性过剩?那就是我们手上的钱太多,买股票,股市泡沫;买楼房,楼市泡沫;买产品,通货膨胀,因此用一个所谓的流动性过剩的学术名词都可以简单解释07年发生的一切现象。那么,我们政府所推行的宏观调控政策,竟然是以收回流动性为目的。其方法是提高利率跟提高银行利率和存款准备金率,到了年底经济工作会议更进一步加大力度,实行宏观调控。那么我请各位来宾想一想,有没有可能全中国的学者都是错的?有没有可能流动性过剩就是错的?有没有可能因为流动性过剩所推行的宏观调控也是错的?在这里,很不幸的告诉各位,这都是错的。因此,我们的制造业才如此的被动。中国经济根本就不是流动性过剩,胡说八道。由此产生的政策误导让我们的政府、让我们的企业付出了沉重的代价。而且我们的学者特别喜欢粉饰太平、取悦领导,这种方法更是让我们的经济雪上加霜。

今天我针对这一切的前提,跟各位从国内一直谈到国外,让各位清清楚楚知道我国经济出了什么问题,为什么会产生泡沫现象,其实泡沫现象只是一个表面现象,真正的原因是我们整个经济发展出现了重大危机。请各位想想,我们每年10%的经济增长是怎么来的?很多股民这么问我,朗教授你看我们经济增长这么成功,每年 10%,我们的股票市场没有反映我们的经济增长的乐观现象嘛,我说你是错的,中国的股票市场是真真实实反映着我国经济的本质问题,你每年看到的10%的经济增长本身都是有问题的。什么问题呢?那就是我们整个经济增长的模式是错的。我们是以什么方式拉动经济增长啊?我们是钢筋、水泥所拉动的,也就是说你们到各地区看,各地政府搞的绿化也好,桥梁也好,这些东西拉动了中国的经济增长。那么这些部分是多少?这些部门占了经济总量的30%左右,也就是说和地方政府推动GDP工程有关的部门拉动了经济增长。那么这些部门是中国经济真正过热的部门。

那么其他的民营制造业呢?基本上过冷。这些部门只占了30%左右的部门是哪些部门呢?以去年为例,包括地产、政绩工程、形象工程、大型国企,其他的融资银行和证券公司等等,这些部门你知道去年的增长率是多少呢?就以去年为例,超过30%。30%的总量,它的成本率超过百分之三十几。一平摊下来,中国全国的经济增长应该是10%左右,理解了吗?我们的民营经济对国家的贡献是非常小的。

因为我们这么多年把大量的资源投入在基础建设,基础建设也就是GDP工程建设推动了10几年来的经济发展。那么这个推动表面上看起来我国取得了光荣的 GDP,实际上我们为此付出了沉重的代价。我给你举个例子,什么叫做代价,这种发展模式使得我国GDP的组成非常的畸形、非常扭曲。我们拿我们的GDP和欧美、日本等国比较,那些国家,他们是以消费需求为主要拉动的,也就是说当我想喝矿泉水的时候你生产矿泉水,当我想弹钢琴的时候你生产钢琴,我想打手机的时候,你生产手机,很正常。因此他们的70%都是消费。我们刚好相反,我们的消费只有35%,只有别人的一半,我们的GDP是什么东西呢?都是你们在外面看到的钢筋水泥,占到50%以上,欧美各国20%不到。

各位了不了解这种经济会造成什么样的可怕的结果?那就是,由于我们国内的消费太少,因此,造成了大量的产能过剩,我们制造太多的消费不了,而且我们产能过剩是怎么造成的呢?我们牺牲了我们的环境,破坏了我们资源,剥削了我们的劳工,因此,产能大幅扩张,而且产能大幅扩张到什么地步?到了我们老百姓消费不了的地步,大量产品制造出来,我们只有30%的消费,因此能是出口创汇,把过剩产能生产出来的产品卖给外国,美其名曰是出口创汇,其实是埋下了定时炸弹,就在 08年爆炸了,是什么因的炸弹呢?你想想,我们只消费的30%,而我们这么多的产能,这么多产品不得不出口给别的国家消费,不但破坏了环境剥削了劳工,同时我们赚了大把的美元外汇,06年破的1万亿,07年破的1.5万亿,08年破了1.8万亿,现在正在破1.9万亿,讲问以后就是1.9万亿了。外汇大量积累的结果使得我们这种被动以出口创汇为主导的畸形经济付上的沉重的代价,人民币不断升值,不断升值的结果,回过头来打击到这些以出口为主导的民营经济。

所以,二元经济成型了,什么是二元经济,那就是真正拉动经济增长的与政府推动GDP工程有关的部门过热,而其他的民营制造业开始受到的严重的打击。汇率上升首先敲响了70%的民营制造业的警钟,面临的投资环境开始紧缩。因此,过冷的部门更冷,相对而言,过热的部门更热。就在这个时刻,又由于成本的不断上升,也就是国外的进口通货膨胀使得成本不断上升。进一步又打击到二元经济中过冷的民营制造业,它的投资环境更加恶劣。

同时又在这个时刻,政府推出了劳动合同法,劳动合同法的本身意义是重大的,我身为弱势群体代言人,我是非常支持这个方案的,但是这个方案的推出不能以双输为代价,必须要以双赢为的代价才有意义。第一缺乏反方向的论证,第二缺乏试点,匆忙推出之后,中国过冷的民营制造业至少1/3以上造成严重打击。因此,过冷部门的民营企业家面临的投资环境进一步恶化。所以汇率,成本、劳动合同法,我还没有讲到次贷危机,第四,政府不断加大宏观调控的力度。我不断呼吁这是错的,政府到现在才听进去,可是去年已经是数次提高利率,宏观调控的接连推出大力度的推出,目的是什么?目的是降温,可是全国学者都搞错了,中国经济没有过热只是30%推动GDP工程的是过热的,而宏观调控推出的结果是彻底打击了过冷的民营制造业,有的时候想想这个事情觉得很难过,很悲哀的,这么明显的事情,大家看不懂,我看懂了以后说郎咸平是有争议的人物,这就是我们学者对我的态度。

好了,就在这个艰难的时刻,政府加大力度宏观调控是什么结果呢?通过了三个管道进一步打击了民营制造业。第一个管道,是在宏观调控的压力之下,银行从过冷的制造业部门大量收会流动性资金,去干吗呢?不是放在银行里,放在银行里还好,拿出来以后拿给过热地方政府基础设施建设,这种做法使得社会的流动性由过冷的制造业透过银行体系转到过热的银行政府中去的,因此过冷的部门更冷,过热部门由于吸收了大量的制造业的资金变得更热,这就是宏观调控的第一个管道。

宏观调控的第二个管道呢,不断提高利率,不断提高银行存款准备金率的做法。再加上前面讲的汇率上升、成本上升、劳动合同法推出,因此使得二元制造业中更干不下去了,他们怎么做呢?所以民营制造业的企业家就把应该投资在制造业的钱不投资了。拿出来,打到过热的部门去干吗呢?炒楼炒股去了。这就是从06年到 07 年所开始的股市泡沫、楼市泡沫的真正因素,那就是二元经济当中过冷的制造业持续衰退,他所面临的因此各种因素不断恶化,他们更不想干了。更不想干的结果回去炒楼炒股。

这就是一开始,我告诉各位房价涨得最高的区域,通常是制造业最箫条的区域,这是第二条管道,第三条管道呢?简称海尔现象。什么叫做海尔现象就是处在过冷制造业的企业像海尔的家电制造业投资经商环境恶化,所以它也不想干的,因此从过冷的部门筹集大量的资金打到过热的部门干什么呢?

这三个管道,造成什么结果呢?我重复一遍第一个管道,你会发现,各地的建设是如火如荼地推行,而且代价是民营制造业的资金更缺乏,资金逆流掉,造成了过热部门修桥铺路去了,第二个管道使得大量的制造业资金炒楼炒股造成中国GDP现象的表面繁荣,这是可怕的,因为这个表面繁荣配合第三个管道大量资金流入过热部门造成整个资源的误导。第二个管道和第三个管道的配合结果使得我国表面的繁荣,因此使得大部分,我不敢说是百分之百,差不多的、几乎百分之百的地产商,在我今天讲话的这刻面临重大的危机。

我前面讲的这一切现象,综合在一起,我相信你们从事企业的来宾,应该都听过,就是这么简单的。那么这种现象和流动性过剩有什么关系呢?胡说八道。讲到今天我是那种水平的学者的话,我今天五秒钟讲完了,买股市股市泡沫,买楼楼市泡沫讲完了,不知道该讲什么了,我告诉你,我才刚开始,我还没有谈到次贷危机。

我国二元经济已经将我国的经济发展带入到了一个箫条的经济,就算美国没有次贷危机中国经济依然下滑,危机照跌,楼市照跌,注意没有谈到次贷危机我们就已经抗不住了,你去年看到的股市泡沫已经给各位敲响了警钟,可能你们问我,朗教授,二元经济都听懂了,听懂了吗?你一开始讲的我们的股市跟楼市反应的基本面是对的,我就以股市为例,为什么这么问呢,怪他自己,怪他不听我演讲,不学习,如果06年来听都发了,08年听也可以,现在来不及了,那就用我前面讲二元经济现象,回答我们主持人的问题,为什么你会这样问呢?

06年开始的股价大涨根本就不是尚福林说的股改,他胡说八道,他什么也没有搞懂,这点我都有点同情他,什么也没有搞懂,还搞这么多东西,现在我都不会生气了,还会义愤填膺地说,我无所谓,我也没有办法了。

2005 年的时候我们透过媒体我警告尚福林千万不能推行股改,它是错的。你们也知道朗教授讲话是非常具体的,我过去讲什么情况下是成功的,什么情况是失败的,这个话我不会讲,那是没有信心的学者搞的话,我很有信心,我说错一定会错,我说股改是错的,而且是百分之百错的,他不知道怎么回答了,箭在弦上,不得不发,什么回答,我给他一个回答我说箭在弦上也得撤下,他不听我的。他说,那可能怀疑说,哎呦,既然朗教授说股改失败了,为什么06年开始国家大涨呢,我怎么会错呢?我什么时候错了?我告诉你06年股价大涨的唯一原因就是二元经济已经开始生效,大量的制造业资金大量进入股市跟楼市。

那么,股价大涨的现象到07年5月30号股指跌到3千点这个时候你们就应该来听我的演讲,你们相信别人说的八千点一万点,哪个时候你们买了什么股票啊?买了二线蓝筹股是不是?所以从五月底到了11月从3千点到6千点你们买二线蓝筹的股民没有赚到钱,为什么没有赚到钱?因为当时拉动股指的都是大盘股,我们称之为2:8现象或者是3:7现象,20%多的股票拉动了股指,从3千点拉到了6千点,这个二八现象和三七现象的二或者是三是什么股票呢?是地产,钢铁,水泥,政绩工程、形象工程、大型国企,其他融资银行还有证券公司等等,没有错吧?你们是不是觉得耳熟啊?这不就是二元经济当中过热部门吗?

所以说,去年五月底到11月,股票市场已经完全反映了朗教授的二元经济,在这个时刻我是声嘶力竭地呼吁政府一定要解决这个问题。一定要开始救助制造业,因此这是制造业的回光返照。如果政府不出手救制造业到了,第二年制造业会大量的倒闭。

后来证明我讲的是对的,就在这个时刻我写下了中国经济的八大危机的文章。你们如果到这个时刻还不来听我的演讲的时候,11月也该来听了吧,也没有来听,11 月我在北京发言,媒体对我的发言不敢兴趣,他们情愿报导说某某学者说八千点到1万点,我在北京发言,我是股价必跌,因为二元经济。你想向到了11月股指到了6千点是 20%、30%的部门拉动的,可以想想涨幅多快,这样快的涨幅一定要回调,所以二元经济中过热的部门一定要回调,而过冷民营制造业按照我当时掌控的数据是迅速箫条,而且存在迅速倒闭的危机。二元经济中过热的部门一定要回调,股指一直跌,你根本不要怀疑,我还没有讲到次贷危机,次贷危机还没有来,我只是讲国内的现状,只是告诉你们,目前全世界闹得金融海啸还没有冲击到你们,你们就已经到了这个地步了,你想想后面还有什么希望,这一切都是我们自己经济体系中孕育出来的,和国际无关。

为什么我在五月份的时候,我非常严肃地警告过全国股民,不要对奥运行情有幻想,中国根本没有奥运行情,而且在节目中,当这期节目散布得很广,很多人看到的,我讲的具体到了什么地步,我呼吁全国股民,股价在奥运之前必跌根本没有奥运行情,为什么?因为,二元经济全面箫条、崩溃的结果会使得股价大幅下跌,就像美国1929年一样,所以今天股价不断大幅下跌的现实意义,就显示着未来制造业持续箫条。今年三月份我在广州照片记者招待会,我呼吁政府救市我要告诉大家,我们专家学者讲的都是废话,很多学者说政府不应该救市,让市场多元化,这些都是胡说八道。没有经历过社会主义的的血的资本主义,它们是最市场化的一点,美国政府干什么,美国政府还不理解市场吗?他们是真正的资本主义国家,是真正的市场化国家,请你看看美国政府在干什么?美国政府在救市,我们呢?市场化,让市场解决吧,胡说八道。这些学者,我一直不想想他们。现在不想他们不行了。你说作为一个学者,就算你不做研究也理解,你胡说八道讲的话,也应该是一半对一半错的,你猜的,丢一下铜板的方法,像我们的学者每次都讲错那是更难的。(掌声)

像我每次都讲对,很不容易,每次都讲错更不容易。为什么救市?美国很蠢吗?不懂市场化吗?美国人才济济为什么要救市,为什么三月份开始要救市,我告诉学者你根本不懂市场,那么在今天这个场合也是我第一次发言,谈到这个话题,我觉得对你们在座的企业家非常重要。因为,今天的中国已经进入了一个前所未有的工商链条的时代,什么叫做工商链条?也就是说10年前我们从过去5 千年积累的农耕社会走向了工商链条的社会。

工商链条有什么特性?那就是一个部门出现问题之后,一定会产生多米诺骨牌效应的连锁效应的产生。所以我就以我刚才讲的故事,给你们做一个解释就明白了,为什么我们的消费这么多,只有30%,原因是什么?我们中国社会保障体系缺乏的,包括医疗、教育、住房的问题没有得到彻底解决之前,社会保障体系是不足的。所以这个社会保障体系不足,你以为不足就不足啊,你以为不足就是看不起病啊,如果只是看不起病就好了,那就不是工商链条。农耕时代看不起病就看不起病算了,现在工商链条时代一旦看不起病的结果,必定产生农耕时代所没有的多米诺骨牌效应。

请你想在工商链条时代,当你看不起病之后你会怎么做?下一步是什么?你不敢消费了,你要存钱,万一你父母得了病怎么办?你小孩出国怎么办?你住房怎么办?有了这些问题让你不敢消费。下一步骨牌呢?不敢消费使得我国消费非常低,占了GDP35%,下一张骨牌一定是生产过剩,再下一张骨牌必定是出口创汇,再下一张是积累大量的美元外汇,再下一张是人民币汇率升值,再下一张打击了出口制造业,再下一张出口制造业倒闭,再下一张更不敢消费,再走一圈,这是无止境地恶化循环,这就是工商链条时代的特征。

我呼吁政府应该怎样做?应该在股市泡沫楼市泡沫的时候,最大的力度救助制造业什么目的?斩断工商链条,也就是说进入股市和楼市的资金是来自制造业的季度衰退,政府应该做的是我在制造业部门设立防火墙,斩断工商链条,直接救助制造业,只要把制造业的营销环境搞上取的话,资金自然回流回来,一旦斩断的结果就不会有股市泡沫,不会有楼市泡沫,就不会有现在一切的问题出来。各位听懂了吗?政府应该做的是由政府出面斩断工商链条而设立防火墙,这就是我前年开始一直呼吁政府做的事,都听不懂。一直到事情崩溃之后,才说朗教授都说过。

美国政府在干什么各位来宾想想?美国,是一个最资本主义的国家,没错吧?是最强调市场化的国家没错吗?而且共和党更强调,美国政府7千亿美元救市计划的本质目的就是斩断工商链条,也就是当金融部门出现问题的时候,立刻设立防火墙来斩断工商链条,由政府工资7千亿直接救助那些受到影响的金融机构,你只有把他们救活的以后,整个社会才会安定,否则按照我们中国这种专家、学者的水平的话,市场化不要干涉,你不要干涉结果,金融机构一旦崩溃产生大量的失业,使得美国老百姓信心丧失,下一步干什么不敢消费了,下面是什么?制造业产生危机,再下一张骨牌生产力减少,再下一张骨牌失业,再一张骨牌不敢消费。好了,开始一个恶性循环,所以说金融危机会由于美国政府的不作为,会产生实体经济的危机,各位听懂了吗?所以美国政府在干什么,比任何政府都要首先斩断工商链条。就是怕金融危机波及到实体部门,而我们中国的危机来源不是金融危机而是来源于制造业的危机,我们没有斩断工商链条的结果,是使得制造业的危机波及到股市和楼市,从而造成去年的股市和楼市泡沫把各位都套牢了。主持人问的是对的,我一看你的面,我就知道差不多都被套牢了,为什么呢,就是因为我们的政府没有斩断工商链条。为什么没有斩断呢?专家学者所误导,为什么他们误导呢,他们根本不懂,农耕时代培养出来的学生没办法,都是错的。

我相信我跟你们这样沟通以后,大家马上就懂了是这样一回事,原来美国政府正在斩断工商链条。我最近我看到美国的形势发展,我就告诉各位,我前面跟各位讲的讲到现在,你注意到了没有,我一再告诉你,美国的次贷危机还没有影响到中国。就算是美国从来没有发生过次贷危机的话中国的股市也是这样跌,中国的楼盘也是这样跌,因为中国制造业持续衰退结果,必然拉动股市和楼市的下滑。情况会逐日的恶化,不是逐年的恶化,也不是逐月的恶化是逐日的恶化,每天都会恶化。

我记得昨天一个学者说,回应我的话对那种唱赞歌的人你应该警醒,整个国际金融形势比任何一个人想的都要难得多,但是没有冲击到中国,就在没有冲击到中国的时候我们的楼市也产生了重大危机,我刚讲了股市,现在讲到楼市,哪里的企业倒闭多,哪里的资金快速流入楼市,比如深圳,大量制造业的资金打入深圳的楼盘,而且,它的切入角度是高价楼盘。为什么?从中国台湾、亚太等地区的楼市历史来看,而长期依然看涨。06年初是1万元/平方米,到了年终是四万元/平方米,大量资金流入,炒到了高端楼盘,附近的中低档楼盘随之水涨船高,真正有泡沫的是中低档楼盘,他们水涨船高,缺乏资金的支援,一旦今年箫条之后,跌价的是中低档楼盘,高档楼盘依然坚挺,那就是地产商的资金链即将断裂,好了,即将断裂的结果就是高档楼盘抗住,那就是深圳目前的现状。

在北京跟上海情况是一样的,高端楼盘价格上去以后,中低档楼盘随之水涨船高。所以北京也好,上海也好,中低档楼盘目前跌价最多,高端楼盘则不是。北京为例,三环之内,根据我的数据,还是为早,顺义跌得更多,就跟深圳的关外一样,上海也是一样,内环有行无市。

最近潘石屹同志卖得不错的,我们查了一下他的资料,买潘石屹的资金51%来自山西煤老大,冲击了各级楼盘,冲击到了价格大涨。我要告诉各位,地产,长期而来,相对股票,以亚洲其他国家和地区为例,包括香港和台湾为例,它还是比较能抗通货膨胀的。

那么很多人问,你这样讲我都听懂了什么,楼市泡沫股市泡沫我该怎么办?我应该卖还是怎么办?你千万不要问我我不是股评家也不是卖地产的,我只是告诉你你所看到的现象背后的本质原因是什么?你要怎么做?你自己要去做判断。

那么各位再想想,下面一个问题就是理财的问题,当你了解了我前面所讲的所有的理论以后,说花一点钱怎么办?我请各位来宾注意,在经济大箫条的前期你不要有幻想,你千万不要想到去赚钱好吗?这是一个很大的思想转变,你在这个时刻能够保本就谢天谢地了,而且中国根本就没有理财的问题,什么媒体的理财专刊,根本不要看,都是错的。你有什么理财的问题,存银行、通货膨胀、买股票,股价大跌。你有什么理财的问题。好,不要问我了,是不是该买黄金,买外币,我跟你讲这个问题问的都是错的。你今天不要问我朗教授应不应该买黄金,应不应买欧元,不要这样问,这都是在平时经济稳定的时候问的,在这个时刻你不要这样问,我建议各位,听清楚,如果你想投资外币的话,你要你买一百块欧元必须买同样的美元,保证什么呢?保证不赚钱,保证不赚钱的结果就是保证不亏欠,买黄金也好,一定要买黄金计价单位的货币,美元,目的就是不赚钱。你能够在这一两年期间能够不损失。那么从09年开始就会有大量的机会,而且机会无所不在,到处是机会。

经济箫条不是坏事,经济箫条可以孕育出无数的英雄豪杰来,平时不一定有机会,谁能够抗过这一段,谁就能够拔地而起,再跟各位讲一个很有意思案例,作为我第一短演讲的结束,请各位来宾思考一下,我国上市公司的负债比例多高?而且这种负债比例是由于我们30年改革开放的成功,我们的企业家我们的官员从来没有经历过大箫条的磨难下他们的负债比是多少?他们把世界看得太简单了,我们上市公司的资本负比例是100%到300%,资产负债比例是50%到70%。我以资产负债比例为分析,这些没有经历过大磨难的企业,上市以后他们的负债比例高达100%到300%的负债比例的。

我跟各位来宾跟我一起到香港去,香港非常有名四大天王,李嘉诚、李兆基、郭柄向、郑义同,这四个人是搞地产的,叫做四大天王。他最喜欢讲其中的一个天王,四大天王都比我们很多的企业大一百倍,而且香港有比较完善的司法制度,也有更为良好的金融体系。那么,请来宾想一想。这一些比你大一百倍以上的企业在一个信用良好的区域,法制建设完善的香港更有能力借钱吧,可是这些人不同的地方在哪里呢?他们是经历过大风大浪的人,起码是经过四个大箫条,这些曾经经历过数次大萧条的四大天王他们比你大一百倍,他的法制建设完善的香港以及信用良好的香港本来可以比你借更多的钱,你们猜一下他们的资产负债是多少?我们是 100% 到300%,他们四大天王是20%,你可能说有钱不借,傻得吗?你说李嘉诚会借不到钱?你借不到钱是真,而且我告诉你不是四家平均20%,是每一个天王的资本负债比例都是20%,不可想象的结果。而且,这四大天王,总资产当中以现金形势保有的比例高达5%到15%之间,你们呢?总资产中以现金形式保有的比例高达5%到15%之间,你们呢?为什么?我曾经问过他们其中一个人,他们说,这一生成功的原因是因为保守。

一个企业家,能够赚多少钱没有什么了不起。而且在我们成功了30年的改革开放孕育出无数赚容易钱的企业家,这些企业家你只要看看我们上市公司负债比例,我就可以告诉你都是没有经历过大磨难的企业家,把世界看得太简单了,什么才是我心目中最睿智的企业家在这个时刻显得更重要的,那就是风险、管理最好得才是最好的企业家,风险管理做的好,我怎么看出来呢?财务报表一看就看出来。一个注重风险管理的企业家一定是随时随地保持着最低的负债比例,随时随地保持着最高的现金流,虽然公司的发展会受到限制,可是无所谓,因为只有保守经营稳健经营才可以帮助你渡过几次危机,你只要渡过两次危机不倒闭的话,你就可以成为该行业该地区的领头羊。这就是保守经营的实际。

我今天把这个数据念给各位听,更值得我们关切的是什么?当这些人在做投资的时候他们怎么想问题的?他想的问题跟我们想的不一样,他们其中一个人这么说的,当他要做A同志的时候他首先想的不是A能够赚多少钱,而是A如果做垮的话能够赔多少钱?如果做垮之后原来的企业有没有办法弥补这个损失?如果可以的话他才可以做,如果不可以的话他就不会做,也就是说他做任何投资的时候首先想到的是原来的企业有没有可以互补的现金流,也就是说新的投资现金流一旦断裂有没有现金流刚好可以弥补,你看到没有,人家在做这种投资,为什么这么谨慎?风险感觉意识是最重要的。做一笔投资随时想到有没有更好的项目跟它做互补。什么是互补?就是你坏我好,我坏你好可以互相抵消,按照我自己的数据,我发现四大天王他们的互补使他们的公司风险减低为多少?他们每个项目都有互补的项目,所以风险平均减少了10倍。

那么你想想,这四大天王所以能够成就这四大天王,第一,最低的负债比例,第二最高的现金流,第三,他们是及其保守而且互补型,投资保证可以对抗风险,所以他才可以走得这么稳。那么,他们写的报告呢?你们有没有写过可行性报告,你知道什么是可行性报告呢?就是找进各种莫名其妙的理由来做,你应该怎么写,你应该写不可行性报告,我想奉劝各位来宾,你把我的演讲听懂的话可以救你的命,在这个时刻你应该写不可行性报告,如果找了这么的的理由还是不充分的话你再做还是来得及。

因此,今天我在上半场给你总结的,你从今天开始要怎么做,第一有可能的话,尽量减低负债的风险,第二尽量收回欠款,积累大量的现金流,第三不要做任何形式的投资,你把我的三点把握好了,你才有可能度过即将来临的经济危机。那么我们休息15分钟回来之后我就把各位带向国际金融,好不好?

The first article under Linux environment

Nice!!
I am now using Ubuntu 8.10
It feels good
After several hours testing I manage to surf the internet finally
Of course in the Linux environment

I can't input Chinese now but I think it will not be a big deal

Nov 11, 2008

【典藏】一系列著名定律

一、墨菲定律
1949年,一位名叫墨菲的空军上尉工程师,认为他的某位同事是个倒霉蛋,不经意间开了句玩笑:“如果一件事情有可能被弄糟,让他去做就一定会弄糟。”
这句话迅速流传,并扩散到世界各地。在流传扩散的过程中,这句笑话逐渐失去它原有的局限性,演变成各种各样的形式,其中一个最通行的形式是:“如果坏事情有可能发生,不管这种可能性多么小,它总会发生,并引起最大可能的损失。”
这就是著名的“墨菲定律”。下面是墨菲定律的一些变种或推论。
人生哲学
1.别试图教猫唱歌,这样不但不会有结果,还会惹猫不高兴?
2.别跟傻瓜吵架,不然旁人会搞不清楚,到底谁是傻瓜?
3.不要以为自己很重要,因为没有你,太阳明天还是一样从东方升上来?
4.笑一笑,明天未必比今天好。
5.好的开始,未必就有好结果;坏的开始,结果往往会更糟。
处世原理
6.你若帮助了一个急需用钱的朋友,他一定会记得你——在他下次急需用钱的时候。
7.有能力的——让他做;没能力的──教他做;做不来的──管理他。
8.你早到了,会议却取消;你准时到,却还要等;迟到,就是迟了。
9.你携伴出游,越不想让人看见,越会遇见熟人。
爱情意义
10.你爱上的人,总以为你爱上他是因为:他使你想起你的老情人。
11.你最后硬着头皮寄出的情书;寄达对方的时间有多长,你反悔的时间就有多长。
生活常识
12.东西越好,越不中用。
13.一种产品保证60天不会出故障,等于保证第61天一定就会坏掉。
14.东西久久都派不上用场,就可以丢掉;东西一丢掉,往往就必须要用它。
15.你丢掉了东西时,最先去找的地方,往往也是可能找到的最后一个地方。
16.你往往会找到不是你正想找的东西。
17.你出去买爆米花的时候,银幕上偏偏就出现了精彩镜头。
18.另一排总是动的比较快;你换到另一排,你原来站的那一排,就开始动的比较快了;你站的越久,越有可能是站错了排。
19.一分钟有多长? 这要看你是蹲在厕所里面,还是等在厕所外面。
二、二八法则
1897年,意大利经济学家帕列托在对19世纪英国社会各阶层的财富和收益统计分析时发现:80%的社会财富集中在20%的人手里,而80%的人只拥有社会财富的20%,这就是“二八法则”。“二八法则”反应了一种不平衡性,但它却在社会、经济及生活中无处不在。 附:破窗理论等
在商品营销中,商家往往会认为所有顾客一样重要;所有生意、每一种产品都必须付出相同的努力,所有机会都必须抓住。而“二八法则”恰恰指出了在原因和结果、投入和产出、努力和报酬之间存在这样一种典型的不平衡现象:80%的成绩,归功于20%的努力;市场上80%的产品可能是20%的企业生产的;20% 的顾客可能给商家带来80%的利润。遵循“二八法则”的企业在经营和管理中往往能抓住关键的少数顾客,精确定位,加强服务,达到事半功倍的效果。美国的普尔斯马特会员店始终坚持会员制,就是基于这一经营理念。
“二八法则”同样适用于我们的生活,如一个人应该选择在几件事上追求卓越,而不必强求在每件事上都有好的表现;锁定少数能完成的人生目标,而不必追求所有的机会。
三、马太效应
《新约·马太福音》中有这样一个故事,一个国王远行前,交给三个仆人每人一锭银子,吩咐他们:“你们去做生意,等我回来时,再来见我。”国王回来时,第一个仆人说:“主人,你交给我的一锭银子,我已赚了10锭。”于是国王奖励了他10座城邑。第二个仆人报告说:“主人,你给我的一锭银子,我已赚了5锭。” 于是国王便奖励了他5座城邑。第三个仆人报告说:“主人,你给我的一锭银子,我一直包在手巾里存着,我怕丢失,一直没有拿出来。”于是国王命令将第三个仆人的那锭银子赏给第一个仆人,并且说:“凡是少的,就连他所有的,也要夺过来。凡是多的,还要给他,叫他多多益善。”这就是马太效应,它反映了当今社会中存在的一个普遍现象,即赢家通吃。
对企业经营发展而言,马太效应告诉我们,要想在某个领域保持优势,就必须在此领域迅速做大。当你成为某个领域的领头羊的时候,即便投资回报率相同,你也能更轻易地获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大,就要不停地寻找新的发展领域,才能保证获得较好的回报。
四、手表定理
手表定理是指一个人有一只表时,可以知道现在是几点钟,而当他同时拥有两只表时却无法确定。两只表并不能告诉一个人更准确的时间,反而会让看表的人失去对准确时间的信心。你要做的就是选择其中较信赖的一只,尽力校准它,并以此作为你的标准,听从它的指引行事。记住尼采的话:“兄弟,如果你是幸运的,你只需有一种道德而不要贪多,这样,你过桥更容易些。”
  如果每个人都“选择你所爱,爱你所选择”,无论成败都可以心安理得。然而,困扰很多人的是:他们被“两只表”弄得无所,心身交瘁,不知自己该信仰哪一个,还有人在环境、他人的压力下,违心选择了自己并不喜欢的道路,为此而郁郁终生,即使取得了受人瞩目的成就,也体会不到成功的快乐。
  手表定理在企业经营管理方面给我们一种非常直观的启发,就是对同一个人或同一个组织的管理不能同时采用两种不同的方法,不能同时设置两个不同的目标。甚至每一个人不能由两个人来同时指挥,否则将使这个企业或这个人无所适从。手表定理所指的另一层含义在于每个人都不能同时挑选两种不同的价值观,否则,你的行为将陷于混乱。
五、“不值得”定律
不值得定律最直观的表述是:不值得做的事情,就不值得做好,这个定律似乎再简单不过了,但它的重要性却时时被人们疏忘。不值得定律反映出人们的一种心理,一个人如果从事的是一份自认为不值得做的事情,往往会保持冷嘲热讽,敷衍了事的态度。不仅成功率小,而且即使成功,也不会觉得有多大的成就感。
   哪些事值得做呢?一般而言,这取决于三个因素。
  1、价值观。关于价值观我们已经谈了很多,只有符合我们价值观的事,我们才会满怀热情去做。
  2、个性和气质。一个人如果做一份与他的个性气质完全背离的工作,他是很难做好的,如一个好交往的人成了档案员,或一个害羞者不得不每天和不同的人打交道。
  3、现实的处境。同样一份工作,在不同的处境下去做,给我们的感受也是不同的。例如,在一家大公司,如果你最初做的是打杂跑腿的工作,你很可能认为是不值得的,可是,一旦你被提升为领班或部门经理,你就不会这样认为了。
  总结一下,值得做的工作是:符合我们的价值观,适合我们的个性与气质,并能让我们看到期望。如果你的工作不具备这三个因素,你就要考虑换一个更合适的工作,并努力做好它。
  因此,对个人来说,应在多种可供选择的奋斗目标及价值观中挑选一种,然后为之而奋斗。“选择你所爱的,爱你所选择的”,才可能激发我们的奋斗毅力,也才可以心安理得。而对一个企业或组织来说,则要很好地分析员工的性格特性,合理分配工作,如让成就欲较强的职工单独或牵头来完成具有一定风险和难度的工作,并在其完成时给予定时的肯定和赞扬;让依附欲较强的职工更多地参加到某个团体中共同工作;让权力欲较强的职工担任一个与之能力相适应的主管。同时要加强员工对企业目标的认同感,让员工感觉到自己所做的工作是值得的,这样才能激发职工的热情。
六、彼得原理
管理学家劳伦斯·丁·彼得(Laurence.J.Peter),1917年牛于加拿大的范库弗,1957年获美国华盛顿州立大学学士学位,6年后又获得该校教育哲学博士学位,他阅历丰富,博学多才,著述颇丰,他的名字还被收人了《美国名人榜》、《美国科学界名人录》和《国际名人传记辞典》等辞书中。
彼得原理(The Peter PrinciPle)正是彼得根据千百个有关组织中不能胜任的失败实例的分析而归纳出来的。其具体内容是:“在一个等级制度中,每个职工趋向于上升到他所不能胜任的地位”。彼得指出,每一个职工由于在原有职位上工作成绩表现好(胜任),就将被提升到更高一级职位;其后,如果继续胜任则将进一步被提升,直至到达他所不能胜任的职位。由此导出的彼得推论是,“每一个职位最终都将被一个不能胜任其工作的职工所占据。层级组织的工作任务多半是由尚未达到不胜任阶层的员工完成的。”每一个职工最终都将达到彼得高地,在该处他的提升商数(PQ)为零。至于如何加速提升到这个高地,有两种方法。其一。是上面的“拉动”,即依靠裙带关系和熟人等从上面拉;其二是自我的“推动”,即自我训练和进步等,而前者是被普遍采用的。
彼得认为,由于彼得原理的推出,使他“无意间”创设了一门新的科学——层级组织学(hierarchiolgy)。该科学是解开所有阶层制度之谜的钥匙,因此也是了解整个文明结构的关键所在。凡是置身于商业、工业、政治、行政、军亨、宗教、教育各界的每个人都和层级组织息息相关,亦都受彼得原理的控制。当然,原理的假设条件是:时间足够长,五层级组织里有足够的阶层。彼得原理被认为是同帕金森定律有联系的。
帕金森(C.N.Parkinson)是著名的社会理论家,他曾仔细观察并有趣地描述层级组织中冗员累积的现象。他假设,组织中的高级主管采用分化和征服的策略,故意使组织效率降低,借以提升自己的权势,这种现象即帕金森所说的“爬升金字塔”。彼得认为这种理论设计是有缺陷的,他给出的解释员工累增现象的原因是层级组织的高级主管真诚追求效率(虽然徒劳无功)。正如彼得原理显示的,许多或大多数主管必已到达他们的不胜任阶层。这些人无法改进现有的状况,因为所有的员工已经竭尽全力了,于是为了再增进效率,他们只好雇用更多的员工。员工的增加或许可以使效率暂时提升,但是这些新进的人员最后将因晋升过程而到达不胜任阶层,于是唯一改善的方法就是再次增雇员工,再次获得暂时的高效率,然后是另一。次逐渐归于无效率。这样就使组织中的人数超过了工作的实际需要。
彼得原理首次公开发表于1960年9月美国联邦出资的一次研习会上,听众是一群负责教育研究计划、并刚获晋升的项目主管,彼得认为他们多数人“只是拼命地想复制一些老掉牙了的统计习题”,于是引介彼得原理说明他们的困境。演说召来了敌意与嘲笑,但是彼得仍然决定以独特的讽刺手法呈现彼得原理,尽管所有案例研究都经过精确编纂,且引用的资料也都符合事实,最后定稿于1965年春完成,然后总计有16家之多的出版社无情地拒绝了该书的手稿。1966年,作者零星地在报纸上发表了几篇述论同一主题的文章,读者的反应异常热烈,引得各个出版社趋之若婺鸳。正如彼得在自传中提到的,人偶尔会在镜中瞥见自己的身影而不能立即自我辩认,于是在不自知前就加以嘲笑一番,这样的片刻里正好可以使人进一步认识自己,“彼得原理”扮演的正是那样一面镜子。
七、零和游戏
一个游戏无论几个人来玩,总有输家和赢家,赢家所赢的都是输家所翰的,所以无论输赢多少,正负相抵,最后游戏的总和都为零,这就是零和游戏。
零和游戏之所以受人关注,是因为人们在社会生活中处处都能找到与零和游戏雷同或类似的现象。我们大肆开发利用煤炭石油资源,留给后人的便越来越少;我们研究生产了大量的转基因产品,一些新的病毒也跟着冒了出来;我们修筑了葛洲坝水利工程,白鳍豚就再也不能洄游到金沙江产卵了……
发展是硬道理。人类在经历了经济高速增长、科技迅猛发展、全球经济一体化及曰益严重的生态破坏、环境污染之后,可持续发展理论才逐渐浮出水面。零和游戏原理正在逐渐为“双赢”观念所取代,人们逐渐认识到“利己”而不“损人”才是最美好的结局。实践证明,通过有效合作,实现皆大欢喜的结局是可能的。
领导者要善于跳出“零和”的圈子,寻找能够实现“双赢”的机遇和突破口,防止负面影响抵消正面成绩。批评下属如何才能做到使其接受而不抵触,发展经济如何才能做到不损害环境,开展竞争如何使自己胜出而不让对方受到伤害,这些都是每一个为官者应该仔细思考的问题。
还是那句话,世上没有现成的标准答案。这些企业经营管理定律只能供我们参考和借鉴,至于什么条件下适合借鉴哪一种,回到手表定理上去,你需要自己选择一块戴着舒适而又走时准确的手表。
八、华盛顿合作规律
华盛顿合作规律说的是:一个人敷衍了事,两个人互相推诿,三个人则永无成事之日。多少有点类似于“三个和尚”的故事。
  人与人的合作不是人力的简单相加,而是复杂和微妙得多。在人与人的合作中,假定每一个人的能力都为1,那么10个人的合作结果有时比10大得多,有时甚至比1还要小。因为人不是静止的物,而更像方向不同的能量,相互推动时自然事半功倍,相互抵触时则一事无成。
九、酒与污水定律
酒与污水定律是指,如果把一匙酒倒进一桶污水中,你得到的是一桶污水;如果把一匙污水倒进一桶酒中,你得到的还是一桶污水。几乎在任何组织里,都存在几个难弄的人物,他们存在的目的似乎就是为了把事情搞糟。他们到处搬弄是非,传播流言、破坏组织内部的和谐。最糟糕的是,他们像果箱里的烂苹果,如果你不及时处理,它会迅速传染,把果箱里其它苹果也弄烂,“烂苹果”的可怕之处在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没,而一个人无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的,是建立在相互理解、妥协和容忍的基础上的,它很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于,破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器,一头驴子一秒钟就能毁坏掉。如果拥有再多的能工巧匠,也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子,你应该马上把它清除掉;如果你无力这样做,你就应该把它拴起来。
十、水桶定律
一只水桶能装多少水取决于水桶中最短的一块木板而不是最长的那块木板。
任何组织几乎都有一个共同的特点,即构成组织的各个部分往往是优劣不齐的,但劣势部分却往往决定着整个组织的水平。问题是劣势部分是组织中一个有用的部分,你不能把它当成烂苹果扔掉,否则,你会一点水也装不了,可它却让你那些长的东西白长了!
劣势决定优势,劣势决定生死,这是市场竞争的残酷法则。水桶定律告诉我们,领导者要有忧患意识,如果你个人身上某个方面是“最短的一块”,你应该考虑尽快把它补起来;如果你所领导的集体中存在着“一块最短的木板”,你一定要迅速将它做长补齐,否则,它带给你的损失可能是毁灭性的—叫艮多时候,往往就是因为一件事没做好而毁了所有的努力。有些人也许不知道水桶定律,但都知道“一票否决”,这是中国的“水桶”,有了它你便矢口道水桶定律是多么重要。
决策和执行发生的机率。让谋划的人尽心谋划,让执行的人全力执行,让他们都从中获得间接而不是直接的功利,这样我们才能把“粥”分得更好。当然,还应有必不可少的独立的监督。
十一、蘑菇管理原理
蘑菇长在阴暗的角落,得不到阳光,也没有肥料,自生自灭,只有长到足够高的时候才开始被人关注,可此时它自己已经能够接受阳光了。
蘑菇管理是大多数组织对待初入门者、初学者的一种管理方法。从传统的观念上讲,“蘑菇经历”是一件好事,它是人才蜕壳羽化前的一种磨炼,对人的意志和耐力的培养有促进作用。但用发展的眼光来看,蘑菇管理有着先天的不足:一是太慢,还没等它长高长大恐怕疯长的野草就已经把它盖住了,使它没有成长的机会;二是缺乏主动,有些本来基因较好的蘑菇,一钻出土就碰上了石头,因为得不到帮助,结果胎死腹中。
让初入门者当上一段时间的“蘑菇”,可以消除他们不切实际的幻想,从而使他们更加接近现实,更实际、更理性地思考问题和处理问题。领导者应当注意的是,这一过程不可过长,时间太长便会使其消极退化乃至枯萎,须知不给阳光不给关爱不仅是任其自生自灭,而且更是对其成长的抑制。如何让他们成功地走过生命中的这一段,尽快吸取经验、成熟起来,这才是领导者所应当考虑的。
十二、钱的问题
当某人告诉你:“不是钱,而是原则问题”时,十有八九就是钱的问题。
  照一般的说法,金钱是价值的尺度,交换的媒介,财富的贮藏。但是这种说法忽略了它的另一面,它令人陶醉、令人疯狂、令人激动的一面,也撇开了爱钱的心理不谈。马克思说,金钱是“人情的离心力”,就是指这一方面而言。
  关于金钱的本质、作用和功过,从古到今,人们已经留下了无数精辟深刻的格言和妙语。我们常会看到,人们为钱而兴奋,努力赚钱,用财富的画面挑逗自己。金钱对世界的秩序以及我们的生活产生的影响是巨大的、广泛的,这种影响有时是潜在的,我们往往意识不到它的作用如此巨大,然而奇妙的是:它完全是人类自己创造的。致富的驱动力并不是起源于生物学上的需要,动物生活中也找不到任何相同的现象。它不能顺应基本的目标,不能满足根本的需求 -的确,“致富”的定义就是获得超过自己需要的东西。然而这个看起来漫无目标的驱动力却是人类最强大的力量,人类为金钱而互相伤害,远超过其他原因。
附:一街东头那个乞丐去摸彩票。中了五等奖,得款50元。甚喜!这个冬天好过了,他拥有棉袄、棉裤、和棉鞋了。街西头那个乞丐也去摸彩票。中了一等奖,得款50万元。狂喜! 
 首先大宴宾客,热闹三天,煞是风光,耗款3千元,小意思。然后买西服、配手机、穿金戴银,容光焕发,一扫穷气。再次,买房子,满街转悠,要带车库的。第四,就是买车了。“夏利”太便宜,“奔驰”太贵,还是“桑塔纳”吧!第五……第六……第七……过年的时候,街东头那个乞丐还在到处晃悠,穿着那50元买的“家当”;而街西头那个乞丐却在劳教所里,据说是因为赌博、嫖娼、吸毒、闹事……拥有50元,街东头的乞丐不再受冻,自得其乐;拥有50万元,街西头乞丐成了个大富翁,却也把自己送上了死路。不懂得善用钱财的人,还是没钱点才安全。
十三、奥卡姆剃刀定律
12世纪,英国奥卡姆的威廉主张唯名论,只承认确实存在的东西,认为那些空洞无物的普遍性概念都是无用的累赘,应当被无情地“剃除”。他主张“如无必要,勿增实体”。这就是常说的“奥卡姆剃刀”。这把剃刀曾使很多人感到威胁,被认为是异端邪说,威廉本人也因此受到迫害。然而,并未损害这把刀的锋利,相反,经过数百年的岁月,奥卡姆剃刀已被历史磨得越来越快,并早已超载原来狭窄的领域,而具有广泛、丰富、深刻的意义。
  奥卡姆剃刀定律在企业管理中可进一步演化为简单与复杂定律:把事情变复杂很简单,把事情变简单很复杂。这个定律要求,我们在处理事情时,要把握事情的主要实质,把握主流,解决最根本的问题,尤其要顺应自然,不要把事情人为地复杂化,这样才能把事情处理好。
美国政治学家威尔逊和犯罪学家凯林经过观察提出了“破窗理论”。
  如果有人打坏了一栋建筑上的一块玻璃,又没有及时修复,别人就可能受到某些暗示性的纵容,去打碎更多的玻璃。久而久之,这些窗户就给人造成一种无序的感觉,在这种麻木不仁的氛围中,犯罪就会滋生、蔓延。
  “破窗理论”更多的是从犯罪的心理去思考问题,但不管把“破窗理论”用在什么领域,角度不同,道理却相似:环境具有强烈的暗示性和诱导性,必须及时修好“第一扇被打碎玻璃的窗户”。
  推而广之,从人与环境的关系这个角度去看,我们周围生活中所发生的许多事情,不正是环境暗示和诱导作用的结果吗?
  比如,在窗明几净、环境优雅的场所,没有人会大声喧哗,或“噗”地吐出一口痰来;相反,如果环境脏乱不堪,倒是时常可以看见吐痰、便溺、打闹、互骂等不文明的举止。
  又比如,在公交车站,如果大家都井然有序地排队上车,又有多少人会不顾众人的文明举动和鄙夷眼光而贸然插队?与这相反,车辆尚未停稳,猴急的人们你推我拥,争先恐后,后来的人如果想排队上车,恐怕也没有耐心了。因此,环境好,不文明之举也会有所收敛;环境不好,文明的举动也会受到影响。人是环境的产物,同样,人的行为也是环境的一部分,两者之间是一种互动的关系。
  在公共场合,如果每个人都举止优雅、谈吐文明、遵守公德,往往能够营造出文明而富有教养的氛围。千万不要因为我们个人的粗鲁、野蛮和低俗行为而形成“破窗效应”,进而给公共场所带来无序和失去规范的感觉。
  从这个意义上说,我们平时一直强调的“从我做起,从身边做起”,就不仅仅是一个空洞的口号,它决定了我们自身的一言一行对环境造成什么样的影响。
帕金森定律
  英国著名历史学家诺斯古德·帕金森通过长期调查研究,写出一本名叫《帕金森定律》的书。他在书中阐述了机构人员膨胀的原因及后果:一个不称职的官员,可能有三条出路,第一是申请退职,把位子让给能干的人;第二是让一位能干的人来协助自己工作;第三是任用两个水平比自己更低的人当助手。这第一条路是万万走不得的,因为那样会丧失许多权利;第二条路也不能走,因为那个能干的人会成为自己的对手;看来只有第三条路最适宜。于是,两个平庸的助手分担了他的工作,他自己则高高在上发号施令,他们不会对自己的权利构成威胁。两个助手既然无能,他们就上行下效,再为自己找两个更加无能的助手。如此类推,就形成了一个机构臃肿,人浮于事,相互扯皮,效率低下的领导体系。
  苛希纳定律
  西方管理学中有一条著名的苛希纳定律:如果实际管理人员比最佳人数多两倍,工作时间就要多两倍,工作成本就要多4倍;如果实际管理人员比最佳人员多3倍,工作时间就要多3倍,工作成本就要多6倍。
  250定律
  美国著名推销员拉德在商战中总结出了“250定律”。他认为每一位顾客身后,大体有250名亲朋好友。如果您赢得了一位顾客的好感,就意味着赢得了250个人的好感;反之,如果你得罪了一名顾客,也就意味着得罪了250名顾客。这一定律有力地论证了“顾客就是上帝”的真谛。由此,我们可以得到如下启示:必须认真对待身边的每一个人,因为每一个人的身后,都有一个相对稳定的、数量不小的群体。善待一个人,就像拨亮一盏灯,照亮一大片。
  达维多定律
  达维多定律是以英特尔公司副总裁达维多的名字命名的。他认为,一个企业要想在市场上总是占据主导地位,那么就要做到第一个开发出新产品,又第一个淘汰自己的老产品。这一定律的基点是着眼于市场开发和利益分割的成效。因为人们在市场竞争中无时无刻不在抢占先机,只有先入市场才能更容易获取较大的份额和较高的利润。
  木桶定律
一个有许多块长短不同的木板箍成的木桶,决定其容量大小的并非其中最长的那块木板,而是其中最短的那块木板。同样,在一个企业的营销过程中,必然存在着许多相关的环节,只有找出制约企业经济效益提高的某一关键环节,把这一个矛盾解决了,其它矛盾就可以迎刃而解了。
a、领导

太长了!先看到这里去看看是谁发的这么火的帖子~~~

一、 素养
蓝斯登原则
在你往上爬的时候,一定要保持梯子的整洁,否则你下来时可能会滑倒。
提出者:美国管理学家蓝斯登
点评:进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
卢维斯定理
谦虚不是把自己想得很糟,而是完全不想自己。
提出者:美国心理学家h·卢维斯
点评:如果把自己想得太好,就很容易将别人想得很糟。
托利得定理
测验一个人的智力是否属于上乘,只看脑子里能否同时容纳两种相反的思想,而无碍于其处世行事。
提出者:法国社会心理学家h·m·托利得
点评:思可相反,得须相成。
二、统御
刺猬理论
刺猬在天冷时彼此靠拢取暖,但保持一定距离,以免互相刺伤。
点评:保持亲密的重要方法,乃是保持适当的距离。
鲦鱼效应
鲦鱼因个体弱小而常常群居,并以强健者为自然首领。将一只稍强的鲦鱼脑后控制行为的部分割除后,此鱼便失去自制力,行动也发生紊乱,但其他鲦鱼却仍像从前一样盲目追随。
提出者:德国动物学家霍斯特
点评:1、下属的悲剧总是领导一手造成的。2、下属觉得最没劲的事,是他们跟着一位最差劲的领导。
雷鲍夫法则
在你着手建立合作和信任时要牢记我们语言中:
1、最重要的八个字是:我承认我犯过错误
2、最重要的七个字是:你干了一件好事
3、最重要的六个字是:你的看法如何
4、最重要的五个字是:咱们一起干
5、最重要的三个字是:谢谢您
6、最重要的两个字是:咱们
提出者:美国管理学家雷鲍夫
点评:1、最重要的四个字是:不妨试试;2、最重要的一个字是:您
洛伯定理
对于一个经理人来说,最要紧的不是你在场时的情况,而是你不在场时发生了什么。
提出者:美国管理学家r·洛伯
点评:如果只想让下属听你的,那么当你不在身边时他们就不知道应该听谁的了。
三、沟通
斯坦纳定理
在哪里说得愈少,在哪里听到的就愈多。
提出者:美国心理学家s·t·斯坦纳
点评:只有很好听取别人的,才能更好说出自己的。
费斯诺定理
人有两只耳朵却只有一张嘴巴,这意味着人应该多听少讲。
提出者:英国联合航空公司总裁兼总经理l·费斯诺
点评:说得过多了,说的就会成为做的障碍。
牢骚效应
凡是公司中有对工作发牢骚的人,那家公司或老板一定比没有这种人或有这种人而把牢骚埋在肚子里的公司要成功得多。
提出者:美国密歇根大学社会研究院
点评:1、牢骚是改变不合理现状的催化剂。2、牢骚虽不总是正确的,但认真对待牢骚却总是正确的。
避雷针效应
在高大建筑物顶端安装一个金属棒,用金属线与埋在地下的一块金属板连接起来,利用金属棒的尖端放电,使云层所带的电和地上的电逐渐中和,从而保护建筑物等避免雷击。
点评:善疏则通,能导必安
四、协调
氨基酸组合效应
组成人体蛋白的八种氨基酸,只要有一种含量不足,其他七种就无法合成蛋白质。
点评:当缺一不可时,"一"就是一切。
米格-25效应
前苏联研制的米格-25喷气式战斗机的许多零部件与美国的相比都落后,但因设计者考虑了整体性能,故能在升降、速度、应急反应等方面成为当时世界一流。
点评:所谓最佳整体,乃是个体的最佳组合。
磨合效应
新组装的机器,通过一定时期的使用,把磨擦面上的加工痕迹磨光而变得更加密合。
点评:要想达到完整的契合,须双方都作出必要的割舍。
五、指导
波特定理
当遭受许多批评时,下级往往只记住开头的一些,其余就不听了,因为他们忙于思索论据来反驳开头的批评。
提出者:英国行为科学家l·w·波特
点评:总盯着下属的失误,是一个领导者的最大失误。
蓝斯登定律
跟一位朋友一起工作,远较在"父亲"之下工作有趣得多。
提出者:美国管理学家蓝斯登
点评:可敬不可亲,终难敬;有权没有威,常失权。
吉尔伯特法则
工作危机最确凿的信号,是没有人跟你说该怎样作。
提出者:英国人力培训专家b·吉尔伯特
点评:真正危险的事,是没人跟你谈危险。
权威暗示效应
一化学家称,他将测验一瓶臭气的传播速度,他打开瓶盖15秒后,前排学生即举手,称自己闻到臭气,而后排的人则陆续举手,纷纷称自己也已闻到,其实瓶中什么也没有。
点评:迷信则轻信,盲目必盲从。
没走过的路。2、特色不特,优势无优。
古特雷定理
每一处出口都是另一处的入口。
提出者:美国管理学家W·古特雷
点评:上一个目标是下一个目标的基础,下一个目标是上一个目标的延续。
十四、计划
列文定理
那些犹豫着迟迟不能作出计划的人,通常是因为对自己的能力没有把握。
提出者:法国管理学家P·列文
点评:如果没有能力去筹划,就只有时间去后悔了。
弗洛斯特法则
在筑墙之前应该知道把什么圈出去,把什么圈进来。
提出者:美国思想家W·P·弗洛斯特
点评:开始就明确了界限,最终就不会作出超越界限的事来。
十五、参谋
波克定理
只有在争辩中,才可能诞生最好的主意和最好的决定。
提出者:美国庄臣公司总经理詹姆士·波克
点评:无磨擦便无磨合,有争论才有高论。
韦奇定理
即使你已有了主见,但如果有十个朋友看法和你相反,你就很难不动摇。
提出者:美国洛杉矶加州大学经济学家伊渥·韦奇
点评:1、未听之时不应有成见,既听之后不可无主见。2、不怕开始众说纷纭,只怕最后莫衷一是。
十六、决策
福克兰定律
没有必要作出决定时,就有必要不作决定。
提出者:法国管理学家D·L·福克兰
点评:当不知如何行动时,最好的行动就是不采取任何行动。
王安论断
犹豫不决固然可以免去一些作错事的机会,但也失去了成功的机遇。
提出者:美籍华裔企业家王安博士
点评:寡断能使好事由好变坏,果断可将危机转危为安。
十七、执行
格瑞斯特定理
杰出的策略必须加上杰出的执行才能奏效。
提出者:美国企业家H·格瑞斯特
点评:好事干实更好,实事办好愈实。
吉德林法则
把难题清清楚楚地写出来,便已经解决了一半。
提出者:美国通用汽车公司管理顾问查尔斯·吉德林
点评:杂乱无章的思维,不可能产生有条有理的行动
d、调控
十八、信息
沃尔森法则
把信息和情报放在第一位,金钱就会滚滚而来。
提出者:美国企业家s·m·沃尔森
点评:你能得到多少,往往取决于你能知道多少。
塔马拉效应
塔马拉是捷克雷达专家弗·佩赫发明的一种雷达,它与其他雷达的最大不同是不发射信号而只接收信号,故不会被敌方反雷达装置发现。
点评:善藏者人不可知,能知者人无以藏。
十九、监督
小池定理
越是沉醉,就越是抓住眼前的东西不放。
提出者:日本管理学家小池敬
点评:自我陶醉不易清醒,自以为是不喜批评。
赫勒法则
当人们知道自己的工作成绩有人检查的时候会加倍努力。
提出者:英国管理学家h·赫勒
点评:只有在相互信任的情况下,监督才会成为动力。
二十、控制
横山法则
最有效并持续不断的控制不是强制,而是触发个人内在的自发控制。
提出者:日本社会学家横山宁夫
点评:有自觉性才有积极性,无自决权便无主动权。
蝴蝶效应
"紊乱学"研究者称,南半球某地的一只蝴蝶偶尔扇动一下翅膀所引起的微弱气流,几星期后可变成席卷北半球某地的一场龙卷风。他们将这种由一个极小起因,经过一定的时间,在其他因素的参与作用下,发展成极为巨大和复杂后果的现象称为"蝴蝶效应"。
点评:善终者慎始,谨小者慎微。
阿什法则
承认问题是解决问题的第一步。
提出者:美国企业家m·k·阿什
点评:你愈是躲着问题,问题愈会揪住你不放。
二十一、法纪
洛克忠告
规定应该少定,一旦定下之后,便得严格遵守。
提出者:英国教育家洛克
点评:简则易循,严则必行。
热炉法则
当人用手去碰烧热的火炉时,就会受到"烫"的惩罚,其有以下三个特点:即时性、预警性、平等性。
点评:罪与罚能相符,法与治可相期。
二十二、改革
柯美雅定律
世上没有十全十美的东西,所以任何东西都有改革的余地。
提出者:美国社会心理学家m·r·柯美雅
点评:不拘于常规,才能激发出创造力。
达维多夫定律
没有创新精神的人永远也只能是一个执行者。
提出者:前苏联心理学家达维多夫
点评:只有敢为人先的人,才最有资格成为真正的先驱者。
自吃幼崽效应
美国硅谷企业竞争十分激烈,以至于各公司都积极寻找自己的致命弱点,所有公司共同的生存之道是:拿出更好看产品来击败自己的原有产品。有人将这种行为戏称为"自吃幼崽"。
点评:1、自己不逼自己,别人迟早会逼你。2、敢于对过去告一个段落,才有信心掀开新的一章。
二十三、创新
舍恩定理
新思想只有落到真正相信它,对它着迷的人手里才能开花结果。
提出者:美国麻省理工学院教授舍恩
点评:只有信之不疑,才能持之以恒。
吉宁定理
真正的错误是害怕犯错误。
提出者:美国管理学家h·吉宁
点评:不怕错误的人,错误往往也离他最远。
卡贝定理
放弃是创新的钥匙。
提出者:美国电话电报公司前总经理卡贝
点评:在未学会放弃之前,你将很难懂得什么是争取。
二十四、考评
吉普林忠告
将成败同等看待。
提出者:英国作家、诺贝尔文学奖获得者吉普林
点评:如果不明白失败是什么,那么对成功的理解也是片面的。
史华兹论断
所有"不幸事件",都只有在我们认为它不幸的情况下,才会真正成为不幸事件。
提出者:美国管理心理学家d·克华兹
点评:若能坏中看好,终会好上加好。
e、绩效
二十五、竞争
廷克定律
如果你处在第二的位置,你就总想努力去争作第一。
提出者:英国管理学家哈罗德·廷克
点评:欲往高处走,须向高处看。
鲁尼恩定律
赛跑时不一定快的赢,打架时不一定弱的输。
提出者:奥地利经济学家r·h·鲁尼恩
点评:无备,强不抵弱,出奇,弱可胜强。
史密斯原则
如果你不能战胜他们,你就加入到他们之中去。
提出者:美国通用汽车公司前董事长r·史密斯
点评:竞争使人进步最快,合作让人得到最多。
二十六、营销
阿尔巴德定理一个企业经营成功与否,全靠对顾客的要求了解到什么程度。
提出者:匈牙利全面质量管理国际有限公司顾问波尔加·韦雷什·阿尔巴德
点评:看到了别人的需要,你就成功了一半;满足了别人的需求,你就成功了全部。
冰淇淋哲学
卖冰淇淋必须从冬天开始,因为冬天顾客少,会逼迫你降低成本,改善服务。如果能在冬天的逆境中生存,就再也不会害怕夏天的竞争。
提出者:台湾著名企业家王永庆
点评:逆境不错,顺境更好。
二十七、广告
布里特定理
商品不作广告,就像姑娘在暗处向小伙子递送秋波,脉脉此情只有她自己知道。
提出者:英国广告学专家s·布里特
点评:要推而广之,先广而告之。
伯内特定理
只有占领头脑,才会占有市场。
提出者:美国广告专家利奥·伯内特
点评:脍炙人口才会耐人寻味,深得人心方可引人入胜。
拉图尔定律
一个好品名可能无助于劣质产品的销售,但是一个坏品名则会使好产品滞销。
提出者:法国诺门公司德国分公司负责人苏珊·拉图尔
点评:取名的艺术,亦是取得成功的艺术。
赫斯定律
广告超过12个字,读者的记忆力要降低50%。
提出者:澳大利亚广告家h·赫斯
点评:忘却即等于抛弃。
二十八、公关
玛丽法则
假如还没有破,就不要去修它,免得弄巧成拙。
提出者:美国著名企业家玛丽·凯·阿什
点评:弄巧之所以成拙,往往是因为本来就无巧可弄。
弗里施定理
没有满意的工作人员,就没有满意的顾客。
提出者:德国慕尼黑企业咨询顾问弗里施
点评:协调内外关系,从协调内部关系开始。
反哺效应
动物学家将某些动物长大后把觅到的食物给予其父母的行为称为反哺。
点评:给别人好处的人,往往也是得到好处最多的人。
史崔维兹定理
如果你为获得好处而帮助他人,就不算帮助他人。
提出者:美国社会心理学家g·史崔维兹
点评:动机不纯,行为失真。
二十九、谈判
奥狄思法则
在每一次谈判中,你都应准备向对方作出让步。
提出者:美国谈判专家j·s·奥狄思
点评:争,丈不足;让,寸有余。
居家效应
一个人在家里或自己最熟悉的环境中,言谈举止表现得最为自信和从容。
点评:没有实力垫底,自信永远是苍白的。
尼伦伯格原则
一场圆满的、成功的谈判,每一方都应是胜利者。
提出者:美国著名谈判学家尼伦伯格
点评:总想自己得势,必然势不两立。
比林定律
一生中的麻烦有一半是由于太快说"是",太慢说"不"造成的。
提出者:美国幽默作家比林
点评:1、没有否决权,发言权也很容易被剥夺。2、对不该让步的事不让步,别人反而更容易给你让步。
三十、交往
克林纳德法则
与人相处得好坏,在很大程度上取决于我们用什么方式与人打交道。
提出者:美国人际关系学家h·h·克林纳德
点评:交之有道,能打好交道;来而无往,难有常来往。
忌讳效应
因风俗习惯或个人理由等,对某些言语或举动有所顾忌,积久成为禁忌。
点评:知道别人不喜欢什么,比知道别人喜欢什么更重要。
弗里德曼定律
当一个人的需要可以满足另一个人的需要时,两人就趋于互相喜欢。
提出者:美国心理学家n·w·弗里德曼
点评:有利益与利益的相互补充,才会有需要与需要的相互满足。
三十一、成果
基利定理
容忍失败,这是人们可以学习并加以运用的极为积极的东西。
提出者:美国多布林咨询公司集团总经理拉里·基利
点评:1、成功者之所以成功,只不过是他不被失败左右而已。2、不许失败,无异于不许成功。
沸腾效应
水温升到99度,还不是开水,其价值有限;若再添一把火,在99度的基础上再升高1度,就会使水沸腾,并产生大量水蒸气来开动机器,从而获得巨大的经济效益。
点评:只差一点点,往往是导致最大差别的关键。
王永庆法则
节省一元钱等于净赚一元钱。
提出者:台湾企业界"精神领袖"台塑总裁王永庆
点评:赚钱要依赖别人,节省只取决自己。

Nov 4, 2008

深信服笔试——部分答案

深信服08年笔试题

填空选择类

2
12
1112
3112
132112
311322或1113122112下一行是什么?有什么规律? ///已解决

意思是上面一行有1个1,1个3,1个2,2个1,1个2,即132112

(M)?(a++):( a--),A,M==O,B,M==1,C,M!=O,D,M!=1
(条件表达式) ? (条件为真时的表达式)条件为假时的表达式) ///已解决

4以下哪些通信方式是可靠的通讯方式
1信号2管道3消息4tcp 5udp 6串口I/O

可靠:信号 管道 tcp
可以在不同主机之间的:

Unix的启动顺序排序。
(A) Rc.X (B) Rc.sysinit (C) login (D) init

DBAC

进程的几个基本状态:就绪、执行、阻塞

程序:

现有1000个球,10个盒子,问各个盒子内应该分别放入多少个球,才能达到需要1至1000
之间任何数量的球,你都可以用若干盒子组合出来(用C/C++编写程序)

1、2、4、8、16、32、64、128、256、489

用一个程序示意常见的错误能够导致栈破坏,如何检查?

#include "iostream.h"
#include "string.h"
void main()
{
char str[5];
cout<<"input: ";
cin>>str;
while(strlen(str)>5)
{
cout<<"too long!"< cin>>str;
}
cout<}

如果系统堆栈很小,不能处理超过4级的函数调用,如何解决八皇后问题
#include
void main()
{
int A[8];
int flag;//标记
int m=0;//总共有几种答案
int t,tt;
for(int a=1;a<=8;a++)
for(int b=1;b<=8;b++)
for(int c=1;c<=8;c++)
for(int d=1;d<=8;d++)
for(int e=1;e<=8;e++)
for(int f=1;f<=8;f++)
for(int g=1;g<=8;g++)
for(int h=1;h<=8;h++)
{
// 为了便于运算数组里
A[0]=a; //A=k 指第i行的在第k列已经有放置
A[1]=b;
A[2]=c;
A[3]=d;
A[4]=e;
A[5]=f;
A[6]=g;
A[7]=h;
//比较是否在同一列
flag=0;
for(int i=7;i>0;i--)
{
for(int j=0;j {
if(A==A[j])
{
flag=1;
break;
}

}
if(flag)
break;
}
if(!flag)//比较是否在对角线上
for( i=7;i>0;i--)
{
for(int j=0;j {
t=A;
tt=A[j];
if(tt>t)
{
tt=9-tt;
t=9-t;
}
if(t-i==tt-j)
{
flag=1;
break;
}

}
if(flag) break;
}
if(!flag)
{
//cout< for(i=0;i<=7;i++)
cout< m++;
cout<<"************************"< }
}
}

要求在s1中删除所有s2的字符,要用最快的算法
引入 char tempstr[256]={0}; char* p1=s1 ; char* p2=s2;
1、 第一次遍历S2,while(*p2) tempstr[*p2++]=1;
2、 第二次遍历S1,
while(*p1)
{
If(tempstr[*p1==’1’])
{
*p1=0;
}
P1++;
}
3、 再次遍历S1
P1=s1;
While(*p1)
{
If(*p1==’0’)
{
P2=p1+1;
While(*p2==’0’)
P2++;
*p1=*p2;
*p2=’0’
P1=p2;
}
}

写一个函数判断系统是大端还是小端。若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1.
大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中
小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节
联合体union的存放顺序是所有成员都从低地址开始存放。
Int checkCPU ()
{
Union w
{
Int a;
Char b;
}c;
c.a=1;
return (c.b==1);
}




给出两个链表的头指针pHead1 和 pHead2 ,写一个函数判断两条链表有没交叉点
Node* checkLink(Node* pHead1,Node* pHead2)
{
Node* p1=pHead1,p2=pHead2;
int i=1,j=1;
if(p1==NULL || p2==NULL)
return NULL;
if(p1==p2)
return p1;
while(p1->pNext!=NULL)
{
p1=p1->pNext;
i++;
}
while(p2->pNext!=NULL)
{
p2=p2->pNext;
j++;
}
if(p1==p2)
return NULL;
else
{
for(int k=0;k {
if(i>j)
p1=p1->pNext;
else
p2=p2->pNext;
}
while(p1!=p2)
{
p1=p1->pNext;
p2=p2->pNext;
}
return p1;
}
}

用C/C++编程,从1到100中取出10个不同的数,要求打印出所有可能的组合;
#include
int source[100];
int dest[10]={0};
int index_source=0;
int index_dest=0;
int k=10;
int i=0;
int j=0;
void composition(int source[], int index_source, int dest[], int index_dest, int k)
{
if(100-index_source==k)
{
for(i=0; i {
cout< }
for(i=index_source; i<100; i++)
{
cout< }
cout< return;
}
if(index_source<100 && k==1)
{
for(i=index_source; i<100; i++)
{
for(j=0; j {
cout< }
cout< }
return;
}
composition(source, index_source+1, dest, index_dest, k);
dest[index_dest++]=source[index_source];
composition(source, index_source+1, dest, index_dest, k-1);
}

void main()
{
for(int i=0;i<100;i++)
source=i;
composition(source,0, dest, 0, 10);
}


问答

const 有什么用途?(请至少说明两种)
1、 用在变量前面的时候可以避免变量被修改
2、 用在函数声明部分允许const 的类对象成员访问const 成员函数,如果类的成员函数不会对数据成员进行修改的话最好把该函数定义为const类型,这样无论是const的类对象还是非const 的类对象都可以访问该函数
3、 可以用来代替define ,define 只是简单的代替,但是const 还会进行类型检查。

怎么避免头文件重复包含

#ifndef H_HEADFILENAME
#define H_HEADFILENAME
文件内容….
#endif

拷贝构造函数和赋值号的异同

同:都可以对对象的成员进行赋值
异:
拷贝构造函数首先是一个构造函数,它调用的时候产生一个对象,是通过参数传进来的那个对象来初始化,产生的对象。
赋值是把一个对象赋值给一个原有的对象,而且还要检查一下两个对象是不是同一个对象,如果是的话就不做任何操作。

哈希表和平衡二叉树的适用场合

哈希表:哈希表查找速度比较快,但是要耗比较多的内存。所以比较适用于对查找速度要求比较高、且内存空间足够的时候
平衡二叉树:如果想在以后用二分法查找的时候查找速度比较快的话用建立平衡二叉树的方法()

recv函数如何在阻塞模式下没有收到数据就返回

检查window (release)下的内存泄漏

1、 放置关键字 assert()
2、 生成map 文件。它并不往可执行文件exe 中添加任何东西,只是在编译的时候将各个函数入口地址记录在后缀为.map的文件中,程序崩溃的时候可以得到一个EIP地址,通过地址知道崩溃所在函数
3、 可以设置断点,在希望设置断点的地方加入 _ASM int 3
4、 可以通过编译时的汇编程序看出
5、 采用第三方工具
在C++中extern c的作用
1、 extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用
2、 被extern "C"修饰的变量和函数是按照C语言方式编译和连接的;

临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别
1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占。
2、互斥量:采用互斥对象机制。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问。互斥不仅能实现同一应用程序的公共资源安全共享,还能实现不同应用程序的公共资源安全共享
3、信号量:它允许多个线程在同一时刻访问同一资源,但是需要限制在同一时刻访问此资源的最大线程数目
4、事 件: 通过通知操作的方式来保持线程的同步,还可以方便实现对多个线程的优先级比较的操作

Main函数中两个参数的作用
第一个形参argc是一个整型变量,第二个形参argv是一个指针数组,其元素指向字符型
数据。
用带参数的main函数可以直接从命令行得到参数值(这些值是字符串),在程序运行
时,可以根据输入的命令行中的不同情况进行相应的处理。利用main函数中的参数可以使
程序从系统得到所需的数据,增加了处理问题的灵活性。

深信服笔试

深信服2008校园招聘笔试题

标签: 笔试
1 变量和值的存储位置(堆/栈/代码段/数据段等)?

2 sizeof
struct
{
short a;
long b;
char c;
}d;
sizeof(d)? 为什么在不同的平台上得到的值不一样?

3 找规律
2
1 2
1 1 1 2
3 1 1 2
1 3 2 1 1 2
————— 问下一行应该填什么?为什么?

4 linux(Redhat)的启动顺序?

5 c++中虚函数如何定义,使用时应该注意什么?

6 从1-100的数中取出10个数的不同种取法,打印所有的取法。

7 如何用最简单的程序实现大端小端的判断。

8 如何判断两个单向链表是否有相交,并找出交点。

9 有1000个球和10个箱子,将所有的球装入10箱子中,问如何装球,使得你可以取出不同箱子的组合便可 得到1-1000球。

10 八皇后问题,堆栈很少,要求不能用递归。

11 订票系统

12 用一个程序示意常见的错误能够导致栈破坏,如何检查?

13 用锁效率低,有那些方法可以避免或减少锁的使用?

14 如何在Release版本中查找以下问题,
a 内存泄漏 b 段错误导致非法操作
c 程序CPU占用100%

15 C++拷贝构造函数和赋值运算符有那些不同和相同点。

16 比较哈希表和平衡二叉树的特点,它们分别如用那些场合。

17 spinlock,mutex,semaphore,vitical section的作用与区别?

18 正则表达式

19 字符串匹配问题。要求在s1中删除所有s2的字符,要用最快的算法

20 函数前的static和volatile变量中关键字的作用


深信服2009年校园招聘笔试总结
1. 匹配"[10]:dddddd"和"[9]:abcdegf"但不匹配"[a]:xfdf"的正则表达式。
2. int a[5]={1,2,3,4,5};
printf("%d\n", *((int*)(&a+1)-2);
输出是什么。
答:4. 分析:(int*)(&a+1)=a+5=&a[5]
编程题:
1. 给定一个int型数组array[n],写一个函数sort(int array[], int n),n为数组长度。使得数组中不大于零的元素在前,大于零的元素在后,要求时间复杂度O(n)。
2. 有1001个球。甲乙两人交替取球,每次可取1、2、4个球,谁拿到最后一个球就算输。如果甲先拿,问他有没有必胜的把握?为什么?
答:有。
第一次甲拿1个球,以后每次:
i. 乙拿1个,甲拿2个;
ii. 乙拿2个,甲拿1个或4个;
iii. 乙拿4个,甲拿2个。
最后肯定剩一个,并轮到乙拿。
3. 实现atoi()和itoa()
4. 给定一个int型数n,写一个尽可能简单的函数判断n是否为2的幂,不能用循环。
答:bool foo(int n)
{
int a=n;
if(n<=0) return false;
a=((a&0xAAAAAAAA)>>1)+(a&0x55555555);
a=((a&0xCCCCCCCC)>>2)+(a&0x33333333);
a=((a&0xF0F0F0F0)>>4)+(a&0x0F0F0F0F);
a=((a&0xFF00FF00)>>8)+(a&0x00FF00FF);
a=((a&0xFFFF0000)>>16)+(a&0x0000FFFF);
if(a==1) return true;
else return false;
}
简答题:
1. 哪些方法可以避免或减少锁的使用?
2. release版本的可执行程序为什么非常大?
3. 使用C++赋值运算符应注意什么地方?
4. strcpy()为什么会造成缓冲区溢出?可用哪个函数替代?
5. 阻塞模式的recv在没受到数据的情况下如何返回?(不能将socket修改为非阻塞)
8. 有红、绿、蓝三色球分别3,2,1个。取任意两个不同颜色的球都会使它们变成第三种颜色的两个球。问最少取多少次,可使这些球都变成同一种颜色?
答:无论多少次,都不可以使这些球变成同一种颜色,分析:
一、对于(R,R,R,G,G,B)即(3,2,1),有:
i. (R,G) ---> (B,B,B,R,R,G)即(3,2,1)
ii. (R,B) ---> (G,G,G,G,R,R)即(4,2)
iii. (G,B) ---> (R,R,R,R,R,G)即(5,1)
二、对于(G,G,G,G,R,R)即(4,2),有 :
i. (R,G) ---> (G,G,G,B,B,R)即(3,2,1)
三、对于(R,R,R,R,R,G)即(5,1)有 :
i. (R,G) ---> (R,R,R,R,B,B)即(4,2)
因此,只有三种状态(3,2,1), (4,2)和(5,1),不可能出现(6,0)这种情况。
9. 哪些方法可让一个进程仅有一个实例运行?
10. exit()和_exit() 的区别。
11. 红黑树比AVL树的优势在哪?
12. 软件开发过程包含哪些阶段?各阶段质量保证措施是什么?

Nov 3, 2008

【典藏】网络工程师成长经历

网络工程师成长秘籍:掌握企业核心业务

分享一下
前面部分比较通用,后面的就可以不看了

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


编者按:本篇是一位网络技术培训老师的讲课记录(其后来任Sniffer中国技术服务中心第一任技术总监),它不仅一语道破了网络工程师的发展方向,还解释了如何快速检测网络故障,如何掌握企业核心业务的关键技巧。可谓经典之篇。 你的工资涨了多少?
做IT的谁的收入高?
怎么提高地位?了解关键业务
网络分析关键一步:隔离故障
Sniffer究竟有什么用?
  开始,我来解释一下为什么要学网络分析技术,为何要学Sniffer,其实我的目的是提起大家的学习兴趣,大家愿意学,我才讲的起劲。如果我一边讲,大家却在上网,那我就讲不下去了。
你的工资涨了多少?
  大家做网络都很多年了,想想我们以前的10兆以太网,现在的万兆以太网,想想14.4k的modem,现在的2M宽带,以前的x25,桢中继,现在的SDH,MSTP,裸光纤。大家都经历这些,但我们才工作几年?就这几年,变化这么大,我不知道大家的工资有没有变化这么大,(同学们大笑),从10兆到万兆,1000倍,几年工资张1000倍。有点难(同学们:不是有点难,是很难,不可能)。
  再看看我们工作的变化,以前能配配路由器就很牛了,现在似乎谁都会了,记得几年前,我帮一个小集成商配一台4000系列交换机,收了2000元,15分钟搞定。(同学们:好爽,介绍一些给我们做),没有了说说你们的工作。平常工作中做些什么(同学们:做做网线,杀病毒,帮领导装机器)大家想想,这是我们想做的工作吗,以前这些都不用我们做,现在大家感觉是不是地位在下降,工资也不涨,好歹我们也是蜘蛛级的人物呀,不是有个笑话说蜜蜂是空姐,做网络的是蜘蛛吗。(同学们笑)
做IT的谁的收入高?
  我们该怎么办?
  现在说说我的观点,我们都希望工资能年年涨,不要求1000倍,(同学们:不要求那么高,一年20%就行了),20%?不止吧,从毕业到现在,你们工资不止年均涨不止20%吧。 (同学们:我们不能跟您比)也有可能,你们的起点高,我毕业的时候才有650元。
  大家回顾一下,做IT的谁的收入高?
  1、销售
  2、领导
  3、咨询专家
  4、售前工程师
  5、售后
  我们在座的有3个是网络中心的主任或科长,他们的收入肯定比一般工程师高,我祝愿你们步步高升,收入节节高。在座大多数是网络工程师,我们该怎么走,其实你们现在的单位都很好,但将来怎样很难知道,比如前几年银行的收入令人羡慕,现在他们却担心降工资,现在移动的收入不错吧,我有汽车厂商的学员,他告诉我他们的收入比移动好点,(同学们:哇)这是他们自己说的,好多少就没说了,还有某政府单位的,什么单位不便说,他们没告诉我他们的收入,只说,价格少于4万的笔记本他们不用,哇靠,4万的笔记本,什么配置?(同学们:那是服务器)我们不能比,人比人,气死人。我们没法进入这些公司的,还是脚踏实地一点好,但我们做技术的也要考虑如何提高我们的收入,做技术的要提高收入,地位是关键,前面大家说只做做线,杀杀病毒,我们的地位在下降,工资怎么长得起来呢?
  想想我们做技术的,谁的收入高,做数据库的比做服务器的高,为什么Oracle那么火,做服务器的比写程序的高,写程序的比做网络高,这是普遍现象,不说特殊情况。其实大家发现一个特点没有,凡是掌握企业关键业务的收入都很高,你看作数据库的,数据库坏了,企业完蛋了,领导当然重视,现在不仅讲存储,还讲灾备,你看很多银行,北京一个数据中心,上海一个数据中心。
怎么提高地位?了解关键业务
  我们网络怎样,设计的都是高可靠性的端到端备份,出问题的机会很少,而当应用出什么问题,都说是网络问题。举个例子,有个单位(税务的学员告诉我的),有一天应用突然变慢,大家都说网络慢了,我们用尽troubleshooting的技术也发现不了问题,结果作数据库的工程师偷偷改一下表空间,好了,没问题了,我们不知道怎么好了,做数据库的不说他们有问题,还说网络好了,领导问我网络怎么好的,我不知道呀,领导说:赶快查出原因,避免再出现类似问题,哇塞,怎么查,本来网络就没问题,查什么查。(同学们笑)
  所以现在大家用一个字来形容我们的工作?你们会用什么字(同学们:累、苦)很贴切,苦、累所以我们不能一直停留在网络的troubleshooting,我们必须提高我们的地位,要不我们会累死。
  怎么提高地位,我们必须了解我们的业务,也就是要了解应用,了解应用在我们网络上的行为特征,很重要的一个词行为特征。当我们了解了业务的行为特征,我们能定位某一个问题的真正故障点。
  举个例子:网络应用变慢,可能的原因有什么?网络问题,服务器问题,数据库问题,应用程序问题,客户机问题。如果我们能够判断是哪一部分问题,我们就有发言权了,比如说刚才那种情况,如果我们直接说这是数据库问题,不是网络问题,领导会问,你凭什么说是数据库问题,你可以拿出Sniffer,专家系统上写着,DB Slow Server response诊断,(范老师在演示)再看解码,做一个用户验证操作,花了1.731秒,有根有据,大家想一想,有了Sniffer我们可以了解我们的业务行为特征,可以排除我们的责任,不但工作轻松了,地位也提高了。(同学们笑)
网络分析关键一步:隔离故障
  以前我们应用出现问题的时候我们总是分头查找问题,结果往往是没有结果,因为这种查找方式范围太大了,我们做troubleshooting第一步应该是:隔离故障。
  如果我们有了Sniffer,首先用Sniffer看一下,最有可能是哪一部分问题,再安排检查,这样不但节省人力,速度会更快,效率也更高。
  如果有人问我们Sniffer是什么?大家都会说是协议分析仪,你看sniffer网站(www.networkgeneral.com)上说的是应用和网络分析系统。究竟Sniffer是什么样的一个东西,我们要了解他的发展过程。其实很多类似的产品比如ethereal,netscout,wildpacket等都有类似的发展过程。
  第一阶段是抓包和解码,也就是把网络上的数据包抓下来,然后进行解码,那时候谁能解开的协议多,谁就是老大,Sniffer当时能解开的协议最多,也就理所当然地成了老大,现在Sniffer能解开550种协议,还是业界最多的。
  第二阶段是专家系统,也就是通过抓下来的数据包,根据他的特征和前后时间戳的关系,判断网络的数据流有没有问题,是哪一层的问题,有多严重,专家系统都会给出建议和解决方案,现在Sniffer的专家系统还是业界最强的
  第三阶段:是把网络分析工具发展成网络管理工具,为什么要这样,如果Sniffer知识用作网络分析,那Sniffer的软件就够用了,现在软件的portable基本上都是盗版的,sniffer没钱赚了,所以它必须往网络管理方向转,要作为网络管理工具,就必须能部署在网络中心,能长期监控,能主动管理网络,能排除潜在问题,要做到这些,就要求有更高的性能,所以Sniffer就有了相应的硬件产品,比如说分布式硬件平台,InfiniStream等,我知道在座各位都买了Sniffer的硬件,这时候如果用软件的Sniffer性能就不行了。
Sniffer究竟有什么用?
  我们看一下,Sniffer究竟有什么用?
  第一,Sniffer可以帮助我们评估业务运行状态,如果你能告诉老板说,我们的业务运行正常,性能良好,比起你跟老板报告说网络没有问题,我想老板会更愿意听前面的报告,但我们要做这样的报告,光说是不行的,必须有根据,我们能提供什么样的根据呢。比如各个应用的响应时间,一个操作需要的时间,应用带宽的消耗,应用的行为特征,应用性能的瓶颈等等,到第二门课,我会告诉大家怎么做到有根有据。
  第二,Sniffer能够帮助我们评估网络的性能,比如,各连路的使用率,网络的性能的趋势,网络中哪一些应用消耗最多带宽,网络上哪一些用户消耗最多带宽,各分支机构流量状况,影响我们网络性能的主要因素,我们可否做一些相应的控制,等等。
  第三,Sniffer帮助我们快速定位故障,这个大家比较有经验,我们记住Sniffer的三大功能:monitor,expert,decode这三大功能都可以帮助我们快速定位故障,我后面通过案例演示给大家看,大家再做做实验,很快就上手了(同学问:范老师,是否要学Sniffer必须对协议很熟,)不一定,我们可以通过Sniffer来学习各种协议,比如ospf,以前学网络的时候,讲OSPF的LSA好像很复杂,你用Sniffer看看,其实他的协议结构还是不复杂的,一般情况下,我会要求学Sniffer的学员有CCNP的基础,或者有几年的网络管理经验,我自己也是这样,刚开始只是用Sniffer抓抓包,抓下来也不知道怎么分析,当我学完CCNP后,学了CIT,以为自己不错了,会排除很多网络故障,但实际上很多问题我还是解决不了,比如网络慢,他又不断,断了我很快能解决,网络慢,或者丢包,一般的排错知识还是很难的,那时候开始学Sniffer,才发现很好用。
  第四,Sniffer可以帮助我们排除潜在的威胁,我们网络中有各种各样的应用,有一些是关键应用,有一些是OA,有一些是非业务应用,还有一些就是威胁,他不但对我们的业务没有帮助,还可能带来危害,比如病毒、木马、扫描等,Sniffer可以快速地发现他们,并且发现攻击的来源,这就为我们做控制提供根据,比如我们要做QOS,不是说随便根据应用去分配带宽就解决了,我们要知道哪一些应用要多少带宽,带宽如何分配,要有根有据。我们再回过头看一下Sniffer什么时候开始流行的,再2003年冲击波发作的时候,很多Sniffer的用户通过Sniffer快速定位受感染的机器,后来很多人都知道Sniffer可以用来发现病毒,Sniffer的知名度暴涨,盗版用户也暴涨(同学们大笑),后来震荡波发作的时候,很多人用Sniffer来协助解决问题。我想强调的是Sniffer不是防病毒工具,这也只是他的一个用途,而且只对蠕虫类型对网络影响大的病毒有效,对于文件型的病毒,他很难发现。

Oct 25, 2008

【典藏】RAID技术

RAID是廉价磁盘冗余阵列的缩写,更现代的说法是,独立磁盘的冗余阵列。RAID这个概念最早是由1987年加州伯克利大学的David Patterson,Garth Gibson, Randy Katz提出的,他们的目标是展示一个RAID的性能可以达到或超过当时的一个单一的,大容量的,昂贵的磁盘。
在项目开发的过程中,随着频繁的磁盘失败,通过磁盘的冗余来避免磁盘数据的丢失已经是必须的了。这样一来,该项目的研究对于将来的RAID变得至关重要。
RAID的标准
许多RAID级别在技术上是可以实现的,但是不经常使用。以下完整的列出了RAID级别:
RAID 0:条带或串联
RAID 1:镜像
RAID 0+1:条带加镜像
RAID 1+0:镜像加条带
RAID 2:加重平衡编码修正(Hamming code correction)
RAID 3:使用专用奇偶校验的条带化
RAID 4:独立的读取和写入
RAID 5:带有分布式奇偶校验的条带化
串联---RAID 0 串联可以复合多个物理磁盘成为一个单独的虚拟磁盘,并按如下方式组织:地址空间是相邻的、没有数据冗余 、块(chunks)可以认为是物理磁盘或相邻区域的磁盘空间
串联----RAID 0
推动这种技术发展的主要原因是创建一个大于物理磁盘容量的虚拟磁盘设备。通过在逻辑上结合两个或更多物理磁盘来获得更大存储空间。串联也能使你扩展一个虚拟磁盘通过给它串联另外的物理磁盘。这项技术不限制磁盘大小,既成员磁盘的容量可以不同,而且不会损失磁盘空间。
阵列管理软件就是负责将3个物理磁盘复合成一个虚拟磁盘设备,对于应用来说,它只是个邻近的存储空间。
通过使用RAID 0的串联结构可以获得以下优点:
当数据遍布在多个磁盘上时,串联可以提高随机的I/O性能。
写性能也是相同的;如果是随机读取的话,也可以提高读性能。
磁盘的全部容量都可以为用户存储数据。
局限性主要包括:
只使用串联将没有冗余,串联的卷可以通过镜像达到冗余。
串联的可靠性较低,一个磁盘数据的丢失将导致所有磁盘数据的丢失
当磁盘满,数据会通过所有成员磁盘扩展,但是,当磁盘未满时,最后的磁盘将不被使用,降低了磁盘的利用率。

条带----RAID 0
条带可以复合多个物理磁盘成为一个单独的虚拟磁盘,并按如下方式组织:地址空间是分段的 、I/O流在磁盘与磁盘间交换、没有数据冗余 、对性能的增加有意义
条带----RAID 0
推动这种技术发展的主要原因是为了提高每秒I/O(IOPS)的性能。通过并行访问设备来增强性能。在并行访问中,虚拟设备中的所有磁盘大部分时间都用来服务I/O请求,所以提高了I/O的吞吐量。
阵列管理软件就是负责把整个阵列看做一个单独的虚拟磁盘。它使用多个物理磁盘并将它们复合为一个虚拟磁盘给应用。
I/O流被划分为称为条带(stripe)的段,从一个逻辑存储单元映射到两个或更多的物理磁盘。条带单元是隔行扫描的所以每个片上的复合空间也是交替的。
在这种结构下,没有数据保护,实际上,执行条带化后,丢失一个磁盘上的数据会导致所有条带磁盘的数据丢失。条带化增强了性能,但是降低了可靠性。
通过使用RAID 0条带化结构可以获得的优势是:
对于大量的连续的I/O请求和随机的I/O请求增强了性能。条带单元的大小可以根据顺序或随机存取而进行优化。
磁盘的全部容量都可以为用户存储数据。
局限性主要包括:
没有冗余
条带化的可靠性较低,丢失一个磁盘的数据将导致所有条带磁盘的数据丢失。
条带单元大小的策略:优化一个条带化RAID 0结构条带单元大小的策略依赖于卷访问的类型。
顺序访问环境
在一个顺序的环境里,当请求涉及到条带宽度范围内的所有磁盘成员时,条带化能够提高性能。举例来说,一个条带包含4个磁盘,一个I/O请求为128Kbytes,那么,配置条带单元的大小为32Kbytes。
随机访问环境
在一个随机环境里,条带化可以提高性能。随机访问受控于磁盘的搜索和寻道时间,随机的I/O要比顺序的I/O小很多,通常是从2Kbytes到8Kbytes。
当条带单元的大小配置为比请求的大小大很多的时候,性能得到优化。举例来说,对于一个8Kbytes的请求,至少配置条带单元的大小为16Kbytes。

镜像----RAID 1
镜像提供了数据的最大可用性,并有以下功能:所有数据的完全冗余拷贝、提高了读性能、透明化了磁盘失败
这项技术发展的主要原因是它能够提供高级别的可用性及可靠性。
镜像(RAID 1)通过数据在独立spindes上的多次记录来提供冗余。对于应用来讲,镜像磁盘显示为一个虚拟磁盘。一旦一个物理磁盘失败,失败磁盘上的镜像也就无效了,但系统继续通过未受影响的磁盘进行操作。
通过使用RAID 1的镜像结构可以获得如下的优点:
在一个或多个磁盘上可以获得一个完全冗余的数据拷贝
如果一个阵列中的镜像连接到不同的接口板,就可以达到非常高的数据可靠性级别。
所有驱动器都可以用来读取,提高了性能
在一个多用户或多任务环境下,当多个磁盘成员要获得满意的读效果时,镜像提高了读性能。相反,如果只有单一的卷读取进程,则将不能提高性能。
你可以设置3路镜像,但性能会受很大影响。在3路镜像中,写性能最大为44%。
局限性:
镜像需要使用两倍的磁盘,本质上占用了2倍的存储空间
镜像降低了大约15%的写性能,这实际上小于典型的RAID 5的写损失。(RAID 5的写性能最大到70%)。
镜像—条带(RAID 0+1)
镜像—条带(RAID 0+1) 复合条带化的镜像可以提供如下功能:极大的提高了性能、完全的数据冗余、透明化了磁盘失败。
使用复合条带和镜像的主要原因是获得RAID 0的性能和RAID 1的可用性。
安装它需要较高的花销,但许多用户认为它是值得投资的。
两个磁盘可以先进行条带化,然后进行镜像。可以获得镜像的高可靠性。因为同时使用了条带技术,它的性能要比单独使用镜像的性能要好得多。
它的一个优点就是有利于一个磁盘上分布数据的访问(提高了I/O per second),并增强了数据冗余。

局限性:RAID 0+1是高花销的镜像系统,需要2倍的独立磁盘空间。
条带----镜像(RAID 1+0)
条带----镜像(RAID 1+0) 复合镜像化的条带可以提供以下功能:极大的提高了性能 、完全的数据冗余、透明化了磁盘失败、比RAID 0+1提供了更高的磁盘失败容许
RAID 1+0拥有所有RAID 0+1性能及可靠性的优点,但它允许了更高级别的磁盘失败而不丢失数据。
RAID 1+0通常在磁盘失败后拥有更快的恢复时间,因为它只需要代替单独的条带来恢复而不是整个镜像。
RAID 1+0推荐在大型卷中使用,因为,失败的恢复时间是个关键。
RAID 1+0的概念根本不同于RAID 0+1,在RAID 1+0的配置中,每个条带是单独镜像的。
优点:
因为每个条带被独立镜像,可以容许大量的磁盘失败而无需禁止卷。
这个配置的性能优于RAID 0+1。
局限性:
RAID 1+0是高花销的镜像系统,需要2倍的独立磁盘空间。
带有分布式奇偶校验的条带化----RAID 5

一个RAID 5的卷结构可以进行镜像因为:
条带化结构拥有较好的读性能,可靠性得到提高,而且没有镜像花费高

附加功能包括:
对于单个的磁盘来说,单独访问是有效的。
数据和奇偶较验值都进行了条带化。
全部的随机的I/O性能依赖于写的百分率。如果写超过20%,那么就可以考虑选择RAID 0+1了。
优点
奇偶校验保护了单一磁盘的失败
RAID 5只需要一个附加的磁盘,其他的都可以用来存储数据。
局限性
在Veritas VM中,最少需要3块磁盘来完成RAID 5
RAID 5不可以被镜像,通过奇偶校验信息来提供冗余
写增强(Write-intersive)性能是很差劲的
如果写超过了20%,那么就可以考虑选择RAID 0+1了
在一个写增强的环境里,如果一个磁盘失败,将可能对性能产生严重的影响

性能因素
一个磁盘失败,数据仍然可以访问,但性能会受影响
从一个继续存在的磁盘读取数据 ----- 没有改变
从一个失败的磁盘读取数据 ----在条带中读取相对应的条带单元并于原始数据异或后(XOR)相连接
写一个继续存在的磁盘 ---- 如果失败的磁盘保存有奇偶校验的数据,写数据通常不计算奇偶校验。如果失败的磁盘保存有数据,那么将请求一个:读—修改—写的顺序
写入一个失败磁盘 ---- 继续存在的所有磁盘上的所有数据将与新数据使用异或(XOR)后进行连接,结果将写入到奇偶校验驱动器
从一个单一磁盘失败中恢复 ---- 在条带中余下的条带单元的数据被读取,使用异或(XOR)后进行连接,将结果写入替代的磁盘中,假定在配置中有一个有效的交换(spare)空间。
复合RAID模式
  
  单一的RAID模式肯定不能使用当前各种应用的需要,为了得到更多的性能,人们将各种RAID模式联合起来使用。那么将其中两种模式用在会有什么好处呢?可以得到功能更多、性能更好的RAID模式。一般符合RAID模式需要硬件控制器。因为对于如此复杂的应用软件RAID控制器显然是不现实的。RAID 0在各个单一模式中是速度最快的,所以在符合RAID模式中它也是最常用的。最长常用的符合RAID模式是0+1和1+0。 0+1和1+0是有细微区别的,不过有的公司对这个名词是不加以区分的——其实它们的主要区别在于容错能力。这两种复合RAID模式都至少需要4块硬盘。
  
  首先让我们看看RAID 0+1模式。复合使用RAID 0是为了提高磁盘性能,使用RAID 1为了提高容错性能。假设你有8块硬盘,将它们4个一组分成两个阵列——我将其称为基阵列,每个基阵列用RAID 0模式连接。然后你就有了两个延展模式的基阵列。然后你将这两个基阵列用RAID 1模式连接——也就是让其中一个基阵列作为另一个的镜像。如果一个延展模式的基阵列中的硬盘出现故障了,那么这个延展阵列也将全部瘫痪。不过另一个延展阵列仍然可以维持系统工作,并且可以利用其来恢复数据。
  
  RAID 1+0是先组合RAID 1阵列,然后把它们组成RAID 0模式。仍然使用刚才的例子:将8块硬盘分成4组,每组2块硬盘组成一个基阵列,然后将每个基阵列用RAID 1模式连接,也就是让其中一个硬盘作为另一个的镜像。然后把这4个RAID 1模式的基阵列用RAID 0模式连接。这个模式比RAID 0+1有更好的容错能力。任意的一个硬盘驱动器出现故障,因为有镜像驱动器的存在,所以整个阵列将能继续正常工作。
  
  从理论上讲RAID 1+0模式即使每个基阵列都坏一块硬盘,系统仍然能正常工作,只有当第五块出现故障的时候才有出现不可挽回的损失。而RAID 0+1只要两个基阵列都有一块硬盘故障,那么就无法挽回了。:~(
  
  目前流行的RAID 0+1和1+0模式使用了相对简单的复合技术就提高了性能和增强了数据冗余性。随着硬盘驱动器价格的不断下降,4块硬盘的价格也能为个人用户接受了。不过,如果你需要镜像功能的话,你所能使用的硬盘空间将只有两块硬盘空间大小——为了数据的稳定性,你不得不以牺牲50%的空间为代价。企业级应用以及服务器一般会不惜牺牲磁盘空间换取更高的容错性。另外还有一些其它的复合RAID模式比如:RAID 0+3、3+0、0+5、5+0、1+5、5+1。这些模式的实现往往需要昂贵的硬件支持。
  
RAID模式的选择
  
  现在你已经熟悉了不同的RAID组合模式及其配置,还有什么困扰你?对了,就是如果选择适合的RAID模式。一般用RAID无非就是为了这几个目的:数据冗余、容错性、提高容量、增进性能。数据冗余可以用于保护关键的数据不丢失,一般用于大型公司、企业,当然如果你有钱,也可以为了保护你的以GB为计数单位MP3使用它。容错能力可以带给存储系统更好的稳定。
  
  没RAID通过连接多个硬盘可以提供给计算机系统更大的存储空间。当然根据选择RAID模式的不同,你得到的最大存储空间是不同的,比如如果采用镜像技术,你所需要的空间是要存储数据的两倍。
  
  更多的,特别是个人用户使用RAID技术的目的是为了提高磁盘性能。当然你选择的RAID模式不同,性能的提高也会各不相同。
  
硬件RAID的实现
  
  首先看一下硬件实现RAID模式的方式:一般使用SCSI或者IDE/ATA作为硬盘同系统的接口。SCSI一般应用于高端服务器上,虽然性能优良、功能强大可是对于普通用户来讲价格太高。IDE/ATA RAID控制器成本低廉,(不少主板已经集成)虽然不能太复杂的应用,性能也比不上SCSI设备,但是对于家用市场来说已经能够满足要求了,所以渐渐成了RAID的主流。
  
  硬件RAID实现分为两种:一种是内置(或集成)RAID控制器,一种是外置RAID控制器。内置RAID控制器通常是常用的卡件的形式插接在计算机主板上,集成RAID控制器则是由主板厂商直接把控制芯片集成在主板上,近来高端主板集成RAID控制器几乎成了标准配置。根据RAID控制器以及连接模式不同,RAID控制器都配有不同数量的缓存,当然缓存越多,控制器的性能就越好了,价格也就越贵了。
  
  外部RAID控制器包括从控制器到硬盘等一套设备。在高端服务器上,你常常可以看到由独立的机箱容纳RAID控制器和硬盘。控制器包括了所有的RAID功能——在系统中看到的只是所有的逻辑驱动器。外部RAID控制器相比内置RAID控制器结构更加复杂,缓存容量更大。这是因为它常常要连接并且组织大量的硬盘来组成复杂的复合RAID来工作。它一般使用SCSI接口——可以进行热插拔,来更换有故障的硬盘,避免中置计算机系统停机所带来的损失。
  
  很明显内置控制器外置的便宜的多。不过外置控制器功能强大、可扩展性强,但是价格不是个人所能承受的。虽然IDE/ATA RAID控制器日渐增多,可是SCSI因其特殊的性能仍然是高端计算机系统的首选。当然你可以选择软件RAID——这是一个相当经济的选择,但是需要占用CPU时间,所以RAID模式越复杂,对于计算机系统影响就越大。所以如果你的预算足够还是选择硬件RAID模式吧

Oct 21, 2008

STL容器的基本特性和特征

1. STL有6种序列容器类型


(1)vector
它提供对元素的随即访问,在尾部添加和删除元素的时间是固定的,在头部或中部插入和删除元素的复杂度为线性时间。


(2)deque
文件中声明。
是双端队列,支持随即访问。从deque的开始与末尾位置插入和删除元素的时间是固定的。
尽管vector和deque都提供对元素的随机访问和在序列中部执行线性时间的插入和删除操作,但vector容器执行这些操作时速度更快一些。


(3)list
是双向链表,插入删除元素时间固定。不支持随机访问。
与vector不同是,当向容器中插入或删除元素后,链表迭代器指向元素将不变。
解释一下:如果一个vector有5个元素,中间插入一个,那么第五个元素包含的值将是以前第四个元素的值,因此,迭代器指向的位置不变,但是数据不同。然而,在链表中插入新元素并不会移动已有的元素,而只是修改链接信息。指向某个元素的迭代器仍然指向该元素,也就是值相同,链接的位置不同了。


(4)queue
头文件中声明。queue是一个适配器类,底层类默认为deque。
它不允许随机访问队列元素,甚至不允许遍历队列。
可以将元素添加到队尾,查看队尾和队首的元素的值,检查元素数目和测试队列是否为空。


(5)priority_queue
与queue的不同是,最大的元素总是在队首,也是一个适配器类,默认的底层类是vector。
可以修改用于确定哪个元素放在队首的比较方式,方法是提供一个可选的构造函数参数。


(6)stack
也是一个适配器类,默认的底层实现为vector。
不允许随机访问堆栈元素,甚至不允许遍历堆栈。
可以压入到栈顶,从栈顶弹出元素,查看栈顶元素的值,检查元素数目和测试堆栈是否为空。

2. STL有4种联合容器:set,multiset, map, multimap;


联合容器将值与关键字关联在一起,使用关键字来查找值。
关联容器的长处在于,它提供了对元素的快速访问。与序列相似,联合容器也允许插入新元素,不过不能指定元素的插入位置。原因是联合容器通常包含用于确定数据存放位置的算法,以便能够很快检索信息。

(1)set,multiset
前两种是在set头文件中(以前分别为set.h和multiset.h);
值的类型与关键字相同。set删除相同的元素,multiset不会。
(2)map,multimap
后两种是在map头文件中(以前分别为map.h和multimap.h)。
值的类型与关键字不同。map关键字唯一,multimap关键字不唯一。

STL中容器的比较

在stl中基本容器有string vector list deque set map


set 和map都是无序的保存元素 只能通过它提供的接口对里面的元素进行访问

set 集合, 用来判断某一个元素是不是在一个组里面 使用的比较少
map 映射 相当于字典 把一个值映射成另一个值 如果想创建字典的话使用它好了


string vector list deque set 是有序容器
string 是basic_string 的实现,
在内存中是连续存放的 为了提高效率,都会有保留内存,如string s= "abcd",这时s使用的空间可能就是255, 当string再次往s里面添加内容时不会再次分配内存 直到内容>255刊才会再次申请内存 因此提高了它的性能
当内容>255时 string会先分配一个新内存 然后再把内容复制过去 再复制先前的内容

对string的操作 如果是添加到最后时 一般不需要分配内存 所以性能最快
如果是对中间或是开始部分操作 如往那里添加元素或是删除元素 或是代替元素 这时需要进行内存复制 性能会降低

如果删除元素 string一般不会释放它已经分配的内存 为了是下次使用时可以更高效

由于string会有预保留内存 所以如果大量使用的话 会有内存浪费 这点需要考虑
还有就是删除元素时不释放过多的内存 这也要考虑

string中内存是在堆中分配的 所以串的长度可以很大 而char[] 是在栈中分配的 长度受到可使用的最大栈长度限制

如果对知道要使用的字符串的最大长度 那么可以使用普通的char[] 实现而不必使用string
string用在串长度不可知的情况 或是变化很大的情况

如果string已经经历了多次添加删除 现在的尺寸比最大的尺寸要小很多 想减少string使用的大小 可以使用
string s = "abcdefg";
string y(s); //因为再次分配内存时 y只会分配与s中内容大一点的内存 所以浪费不会很大
s.swap(y);//减少s使用的内存

如果内存够多的话就不用考虑这个了







capacity是查看现在使用内存的函数
大家可以试试看string分配一个一串后的capacity返回值
还有其它操作后的返回值

第二个是vector
vector就是动态数组 它也是在堆中分配内存 元素连续存放 有保留内存 如果减少大小后央存也不会释放 如果新值.当前大小时才会再分配内存
对最后元素操作最快 (在后面添加删除最快 ) 此时一般不需要移动内存 只有保留内存不够时才需要
对中间和开始处进行添加删除元素操作需要移动内存 如果你的元素是结构或是类 那么移动的同时还会进行构造和析构操作 所以性能不高

访问方面 对任何元素的访问都是O(1) 也就是是常数的 所以vector常用来保存需要经常进行随机访问的内容 并且不需要经常对中间元素进行添加删除操作

相比较可以看到vector的属性与string差不多 同样可以使用capacity看当前保留的内存
使用swap来减少它使用的内存

总结
需要经常随机访问请用vector






list
list就是链表 元素也是在堆中存放
每个元素都是放在一块内存中

list没有空间预留习惯 所以每分配一个元素都会从内存中分配
每删除一个元素都会释放它占用的内存 这与上面不同 可要看好了

list在哪里添加删除元素性能都很高 不需要移动内存 当然也不需要对每个元素都进行构造与析构了 所以常用来做随机操作容器
但是访问list里面的元素时就开始和最后访问最快
访问其它元素都是O(n) 所以 如果需要经常随机访问的话 还是使用其它的好

总结
如果你喜欢经常添加删除大对象的话 那么请使用list
要保存的对象不大 构造与析构操作不复杂 那么可以使用vector代替
list<指针> 完全是性能最低的做法 这种情况下还是使用vector<指针>好
因为指针没有构造与析构 也不占用很大内存







deque
双端队列

也是在堆中保存内容的

它的保存形式如下

[堆1]
...
[堆2]
...
[堆三]


每个堆保存好几个元素
然后堆和堆之间有指针指向

看起来像是list和vector的结合品
不过确实也是如此

deque的让你可以在前面快速的添加删除元素
或是在后面快速的添加删除元素
然后还可以比较高的随机访问速度

vector是可以快速的在最后添加删除元素 并可以快速的访问任意元素
list是可以快速的在所有地方添加删除元素 但是只能快速的访问最开始与最后的元素
deque在开始和最后添加元素都一样快 并提供了随机访问方法 像vector一样使用[]访问任意元素 但是 随机访问速度比不上vector快 因为它要内部处理堆跳转

deque也有保留空间 另外 由于deque不要求连续空间 所以可以保存的元素比vector更大 这点也要注意一下 还有就是在前面和后面添加元素时都不需要移动其它块的元素 所以 性能也很高

Oct 20, 2008

C++中为何提倡用const定义常量而不提倡#define

const定义常量是有数据类型的,而#define宏定义常量却没有。
这样const定义的常量编译器可以对其进行数据静态类型安全检查,而#define宏定义的常量却只是进行简单的字符替换,没有类型安全检查,且有时还会产生边际效应(不如你愿处)。所谓边际效应举例如下:
#define N 100
#define M 200 + N
当程序中使用 M*N 时,原本想要 100 * (200+ N )的却变成了 100 * 200 + N。
2。有些调试程序可对const进行调试,但不对#define进行调试。
3。当定义局部变量时,const作用域仅限于定义局部变量的函数体内。但用#define时其作用域不仅限于定义局部变量的函数体内,而是从定义点到整个程序的结束点。但也可以用#undef取消其定义从而限定其作用域范围。

彷徨

没有哪个时间会比这段日子更令人彷徨

猛的受挫了几次
于是开始直面自己的大学生活
我确实学了一点东西
但是是远远不够的
还是要继续学习,而时间已不够

值得庆幸的只有自己的态度和激情仍在
值得感伤的是时间已经不多了

还是不要放弃
就算是有限的生命,照样可以绽放无限的光彩
你是王,自己的王
一路前行的王
继续走自己喜欢的道路
赤足狂奔,暴走不停

Oct 13, 2008

vector的用法

线性结构中的顺序表有三种,向量,栈和队列
栈和队列在很多数据结构的书中都有论述到。唯独向量这一种顺序表很少
现在记录下vector的用法

/*
*-----------------------------------------
*先来C++,有关Vector类
*-----------------------------------------
*/
vector 抽象容器类型之一(还有list和deque等),与其他几中容器类型不同的是它高效支持随机访问其中的元素。
使用vector,首先必须调用头文件(#include )

它的声明和初始化是这样的
vector <类型名> 变量名
vector vi = ( 10 , 1 ) //初始化为10个元素的vector,每个元素都为1

push_back()的用法是将元素插入vector容器的最尾部
举个例子
vector vi;
int a[4] = { 0, 1, 2, 3};
for ( int i = 0; i<=4; ++i )
vi.push_back(a[i]);

此时vi就是0 1 2 3
如果改成
vi.push_front( a[i] );
vi就是 3 2 1 0


/*///////vector方法列表/////
1.toString()
2.reset(x,y)//重新赋值例如:myv.reset(2,3);
3.getclone()//复制.例如myv2=myv1.getclone();
4.eqV(v)//是否相等例如if(v1.eqv(v2)){};
5.addV(v),addVNew(v)和minusV(v),minusVNew(v)//加法减法v1.addV(v2);v3=v1.addVNew(v2);
6. scaleV(n)和scaleVNew(n)//伸长.见上
7.getLength()和setLength(n)//a=v1.getLength();v1.setLength(30);
8.getAngle()和setAngle(n)//得到与设置角度.
9.rot(n)和rotNew(n)//旋转
10.dot(v)//内积x=v1.dot(v2)
11.angleBetween(v)//得到夹角例如x=v1.angleBetween(v2);
*/


class vector {
var x:Number;
var y:Number;
// 用于返回属性值的方法
function toString():String {
return ("["+x+","+y+"]");
}
//改变属性值的方法.
function reset(getx:Number, gety:Number):Void {
x = getx;
y = gety;
}
//克隆向量.与mx不同//!!!!!!
function getclone():vector {
return new vector(x, y);
}
//比较相等否.
function eqV(getVector:vector):Boolean {
return (x == getVector.x && y == getVector.y);
}
//向量加法.
function addV(getVector:vector):Void {
x += getVector.x;
y += getVector.y;
}
//向量加法得到新向量.
function addVNew(getVector:vector):vector {
return new vector(x+getVector.x, y+getVector.y);
}
//向量减法
function minusV(getVector:vector):Void {
x -= getVector.x;
y -= getVector.y;
}
//向量减法得到新向量.
function minusVNew(getVector:vector):vector {
return new vector(x-getVector.x, y-getVector.y);
}
//向量缩放
function scaleV(n:Number):Void {
x *= n;
y *= n;
}
//向量缩放得到新向量.
function scaleVNew(n:Number):vector {
return new vector(x*n, y*n);
}
//得到向量的长度
function getLength():Number {
return Math.sqrt(x*x+y*y);
}
//设置向量长度
function setLength(len:Number):Void {
var r = this.getLength();
if (r) {
this.scaleV(len/r);
} else {
this.x = len;
}
}
//得到向量角度
function getAngle():Number {
return (180/Math.PI)*Math.atan2(y, x);
}
//设置向量角度
function setAngle(angle:Number):Void {
var r = this.getLength();
var tem = angle*(Math.PI/180);
x = r*Math.cos(tem);
y = r*Math.sin(tem);
}
//旋转.
function rot(angle:Number):Void {
var r = this.getLength();
var tem = angle*(Math.PI/180);
var ca = Math.cos(tem);
var sa = Math.sin(tem);
var rx = x*ca-y*sa;
var ry = x*sa+y*ca;
x = rx;
y = ry;
}
//旋转并得到新向量.
function rotNew(angle:Number):vector {
var v = new vector(x, y);
v.rotate(angle);
return v;
}
//内积
function dot(v:vector):Number {
return x*v.x+y*v.y;
}
//法向量计算省略.可以用rotateNew(90)得到.
//垂直验证省略.用(v1.dot(v2)==0)判断垂直.
//向量夹角.得到向量夹角绝对值.
function angleBetween(v:vector):Number {
var tem = this.dot(v);
return (180/Math.PI)*Math.acos(tem/(this.getLength()*v.getLength()));
}
// 构造函数
function vector(getx:Number, gety:Number) {
x = getx;
y = gety;
}
}

/*
*---------------------------------------
*另一个示范vector用法的c程序段
*来自C编程思想
*---------------------------------------
*/

#include < string.h >
#include < iostream.h >
#include < fstream.h >
#include < vector.h >
using namespace std;

int main() {
vector v;
ifstream in("Fillvector.cpp");
string line;
while(getline(in, line))
v.push_back(line); // Add the line to the end
// Add line numbers:
for(int i = 0; i < v.size(); i++)
cout << i << ": " << v[i] << endl;
} ///:~

getline获得文件的一行

int main() {
vector words;
ifstream in("GetWords.cpp");
string word;
while(in >> word)
words.push_back(word);
for(int i = 0; i < words.size(); i++)
cout << words[i] << endl;
} ///:~

while(in >> word)是以空格(space)为分割符来分割的

Oct 8, 2008

百度一面未果的师兄写的···

我投的是商务引擎研发工程师,后来才知道是百度的核心技术职位。笔试有3道题目,第一道是有N(N〉10000)个集合,每个集合有M个词,每个集合有集合号,现在有个待查找的词序列,返回词所在的集合号。我当时的想法是查找无非有两种好方法,一种是折半,一种是HASH。词没有联系,只能用HASH了。第二道把两个有序的序列,排列成整体有序的序列,我用的是两个折半。
今天的面试感觉发挥不是很好,先自我介绍了一下,主要是项目和获奖情况。然后让我写蜜网项目的architecture,感觉讲得不是很到位。面试官对我做得项目也不是很感兴趣。然后开始C++基础问答,诸如拷贝构造函数作用,缺省拷贝构造函数危害,虚函数作用,指针和引用。缺省拷贝构造函数危害没有答上来,其他的都还勉强。然后是一道证明题,快速排序的时间复杂度,并证明。这个就基本不会了。第一道程序题很简单,写出字符串逆序输出的代码。我很快就写完了,然后面试官就叫我在自己的程序里找错误,费了九牛二虎之力终于把错误找完了,纸上写程序真的不习惯。第二道题,vector类,包括构造函数,插入,查找。。。我就答不上来了,STL只用过LIST。还有一道题,在log文件,包括时间 网址 关键字,统计每个关键字的出现次数。我的想法是用二叉树,面试官点了一下头,应该思路是对的,然后面试官接着问如果这个log文件数据是海量,内存装不下,怎么办。我就不知道怎么回答了。还有一道智力题,大概计算一下下面那条马路的车流量,说出你的思路。我的想法是高峰时段观察5-10分钟,低谷时段考察5-10分钟,平常时段考察5-10分钟,然后加权平均


【swetter想说的话】
当时笔试百度的时候做的是和这位师兄一样的题,只是那时候的数据结构很弱,因此连个一面的机会都没有。后来为了准备微软的笔试,恶补了几天数据结构,C++后的STL也是猛看,现在再看一面的题,C++基础基本没问题,缺省拷贝构造函数的危害就在于它是浅拷贝,不小心就会造成RUNTIME ERROR。第一道程序题将字符串逆序输出,其实就可以使用STL中的vector容器,这是可置换的,使用一个迭代器,和rbegin(),rend()函数就可以轻松搞定。vector类的构造函数,插入,查找。。。只要会用向量类,这个不难。。log文件那个就不行了,哎,数据结构还需要继续加强。。。不然找不到工作啊,加油加油

时间复杂度的计算

一个是时间复杂度,一个是渐近时间复杂度。前者是某个算法的时间耗费,它是该算法所求解问题规模n的函数,而后者是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。 当我们评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度,因此,在算法分析时,往往对两者不予区分,经常是将渐近时间复杂度T(n)=O(f(n))简称为时间复杂度,其中的f(n)一般是算法中频度最大的语句频度。 此外,算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。但是我们总是考虑在最坏的情况下的时间复杂度。以保证算法的运行时间不会比它更长。 常见的时间复杂度,按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、k次方阶O(n^k)、指数阶O(2^n)。 下面我们通过例子加以说明,让大家碰到问题时知道如何去解决。
1、设三个函数f,g,h分别为 f(n)=100n^3+n^2+1000 , g(n)=25n^3+5000n^2 , h(n)=n^1.5+5000nlgn 请判断下列关系是否成立: (1) f(n)=O(g(n)) (2) g(n)=O(f(n)) (3) h(n)=O(n^1.5) (4) h(n)=O(nlgn) 这里我们复习一下渐近时间复杂度的表示法T(n)=O(f(n)),这里的"O"是数学符号,它的严格定义是"若T(n)和f(n)是定义在正整数集合上的两个函数,则T(n)=O(f(n))表示存在正的常数C和n0 ,使得当n≥n0时都满足0≤T(n)≤C?f(n)。"用容易理解的话说就是这两个函数当整型自变量n趋向于无穷大时,两者的比值是一个不等于0的常数。这么一来,就好计算了吧。
◆ (1)成立。题中由于两个函数的最高次项都是n^3,因此当n→∞时,两个函数的比值是一个常数,所以这个关系式是成立的。
◆ (2)成立。与上同理。
◆ (3)成立。与上同理。
◆ (4)不成立。由于当n→∞时n^1.5比nlgn递增的快,所以h(n)与nlgn的比值不是常数,故不成立。 2、设n为正整数,利用大"O"记号,将下列程序段的执行时间表示为n的函数。
(1) i=1; k=0 while(i (2) x=n; // n>1 while (x>=(y+1)*(y+1)) y++; 解答:T(n)=n1/2 ,T(n)=O(n1/2), 最坏的情况是y=0,那么循环的次数是n1/2次,这是一个按平方根阶递增的函数。 (3) x=91; y=100; while(y>0) if(x>100) {x=x-10;y--;} else x++; 解答: T(n)=O(1), 这个程序看起来有点吓人,总共循环运行了1000次,但是我们看到n没有? 没。这段程序的运行是和n无关的,就算它再循环一万年,我们也不管他,只是一个常数阶的函数。

Oct 6, 2008

七年前的CSDN


哇卡卡卡卡,google出来的图片



缓存地址
http://web.archive.org/web/20010917024432/www.csdn.net/
Powered By Blogger