东风夜放花千树。更吹落、星如雨。宝马雕车香满路。凤箫声动,玉壶光转,一夜鱼龙舞。蛾儿雪柳黄金缕。笑语盈盈暗香去。众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。
辛弃疾
东风夜放花千树。更吹落、星如雨。宝马雕车香满路。凤箫声动,玉壶光转,一夜鱼龙舞。蛾儿雪柳黄金缕。笑语盈盈暗香去。众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。
辛弃疾
有多少程序员,就有多少定义。所以我只询问了一些非常知名且经验丰富的程序员。
Bjarne Stroustrup,C++语言发明者,C++ Programming Language(中译版《C++程序设计语言》)一书作者。
我喜欢优雅和高效的代码。代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。
Bjarne用了“优雅”一词。说得好!我MacBook上的词典提供了如下定义:外表或举止上令人愉悦的优美和雅观;令人愉悦的精致和简单。注意对“愉悦”一词的强调。Bjarne显然认为整洁的代码读起来令人愉悦。读这种代码,就像见到手工精美的音乐盒或者设计精良的汽车一般,让你会心一笑。
Bjarne也提到效率——而且两次提及。这话出自C++发明者之口,或许并不出奇;不过我认为并非是在单纯追求速度。被浪费掉的运算周期并不雅观,并不令人愉悦。留意Bjarne怎么描述那种不雅观的结果。他用了“引诱”这个词。诚哉斯言。糟糕的代码引发混乱!别人修改糟糕的代码时,往往会越改越烂。
务实的Dave Thomas和Andy Hunt从另一角度阐述了这种情况。他们提到破窗理论4。窗户破损了的建筑让人觉得似乎无人照管。于是别人也再不关心。他们放任窗户继续破损。最终自己也参加破坏活动,在外墙上涂鸦,任垃圾堆积。一扇破损的窗户开辟了大厦走向倾颓的道路。
Bjarne也提到完善错误处理代码。往深处说就是在细节上花心思。敷衍了事的错误处理代码只是程序员忽视细节的一种表现。此外还有内存泄漏,还有竞态条件代码。还有前后不一致的命名方式。结果就是凸现出整洁代码对细节的重视。
Bjarne以“整洁的代码只做好一件事”结束论断。毋庸置疑,软件设计的许多原则最终都会归结为这句警语。有那么多人发表过类似的言论。糟糕的代码想做太多事,它意图混乱、目的含混。整洁的代码力求集中。每个函数、每个类和每个模块都全神贯注于一事,完全不受四周细节的干扰和污染。
Grady Booch,Object Oriented Analysis and Design with Applications(中译版《面向对象分析与设计》)一书作者。
整洁的代码简单直接。整洁的代码如同优美的散文。整洁的代码从不隐藏设计者的意图,充满了干净利落的抽象和直截了当的控制语句。
Grady的观点与Bjarne的观点有类似之处,但他从可读性的角度来定义。我特别喜欢“整洁的代码如同优美的散文”这种看法。想想你读过的某本好书。回忆一下,那些文字是如何在脑中形成影像!就像是看了场电影,对吧?还不止!你还看到那些人物,听到那些声音,体验到那些喜怒哀乐。
阅读整洁的代码和阅读Lord of the Rings(中译版《指环王》)自然不同。不过,仍有可类比之处。如同一本好的小说般,整洁的代码应当明确地展现出要解决问题的张力。它应当将这种张力推至高潮,以某种显而易见的方案解决问题和张力,使读者发出“啊哈!本当如此!”的感叹。
窃以为Grady所谓“干净利落的抽象”(crisp abstraction),乃是绝妙的矛盾修辞法。毕竟crisp几乎就是“具体”(concrete)的同义词。我MacBook上的词典这样定义crisp一词:果断决绝,就事论事,没有犹豫或不必要的细节。尽管有两种不同的定义,该词还是承载了有力的信息。代码应当讲述事实,不引人猜测。它只该包含必需之物。读者应当感受到我们的果断决绝。
“老大”Dave Thomas,OTI公司创始人,Eclipse战略教父
整洁的代码应可由作者之外的开发者阅读和增补。它应当有单元测试和验收测试。它使用有意义的命名。它只提供一种而非多种做一件事的途径。它只有尽量少的依赖关系,而且要明确地定义和提供清晰、尽量少的API。代码应通过其字面表达含义,因为不同的语言导致并非所有必需信息均可通过代码自身清晰表达。
Dave老大在可读性上和Grady持相同观点,但有一个重要的不同之处。Dave断言,整洁的代码便于其他人加以增补。这看似显而易见,但亦不可过分强调。毕竟易读的代码和易修改的代码之间还是有区别的。
Dave将整洁系于测试之上!要在十年之前,这会让人大跌眼镜。但测试驱动开发(Test Driven Development)已在行业中造成了深远影响,成为基础规程之一。Dave说得对。没有测试的代码不干净。不管它有多优雅,不管有多可读、多易理解,微乎测试,其不洁亦可知也。
Dave两次提及“尽量少”。显然,他推崇小块的代码。实际上,从有软件起人们就在反复强调这一点。越小越好。
Dave也提到,代码应在字面上表达其含义。这一观点源自Knuth的“字面编程”(literate programming)5。结论就是应当用人类可读的方式来写代码。
Michael Feathers,Working Effectively with Legacy Code(中译版《修改代码的艺术》)一书作者。
我可以列出我留意到的整洁代码的所有特点,但其中有一条是根本性的。整洁的代码总是看起来像是某位特别在意它的人写的。几乎没有改进的余地。代码作者什么都想到了,如果你企图改进它,总会回到原点,赞叹某人留给你的代码——全心投入的某人留下的代码。
一言以蔽之:在意。这就是本书的题旨所在。或许该加个副标题,如何在意代码。
Michael一针见血。整洁代码就是作者着力照料的代码。有人曾花时间让它保持简单有序。他们适当地关注到了细节。他们在意过。
Ron Jeffries,Extreme Programming Installed(中译版《极限编程实施》)以及Extreme Programming Adventures in C#(中译版《C#极限编程探险》)作者。
Ron初入行就在战略空军司令部(Strategic Air Command)编写Fortran程序,此后几乎在每种机器上编写过每种语言的代码。他的言论值得咀嚼。
近年来,我开始研究贝克的简单代码规则,差不多也都琢磨透了。简单代码,依其重要顺序:
能通过所有测试;
没有重复代码;
体现系统中的全部设计理念;
包括尽量少的实体,比如类、方法、函数等。
在以上诸项中,我最在意代码重复。如果同一段代码反复出现,就表示某种想法未在代码中得到良好的体现。我尽力去找出到底那是什么,然后再尽力更清晰地表达出来。
在我看来,有意义的命名是体现表达力的一种方式,我往往会修改好几次才会定下名字来。借助Eclipse这样的现代编码工具,重命名代价极低,所以我无所顾忌。然而,表达力还不只体现在命名上。我也会检查对象或方法是否想做的事太多。如果对象功能太多,最好是切分为两个或多个对象。如果方法功能太多,我总是使用抽取手段(Extract Method)重构之,从而得到一个能较为清晰地说明自身功能的方法,以及另外数个说明如何实现这些功能的方法。
消除重复和提高表达力让我在整洁代码方面获益良多,只要铭记这两点,改进脏代码时就会大有不同。不过,我时常关注的另一规则就不太好解释了。
这么多年下来,我发现所有程序都由极为相似的元素构成。例如“在集合中查找某物”。不管是雇员记录数据库还是名-值对哈希表,或者某类条目的数组,我们都会发现自己想要从集合中找到某一特定条目。一旦出现这种情况,我通常会把实现手段封装到更抽象的方法或类中。这样做好处多多。
可以先用某种简单的手段,比如哈希表来实现这一功能,由于对搜索功能的引用指向了我那个小小的抽象,就能随需应变,修改实现手段。这样就既能快速前进,又能为未来的修改预留余地。
另外,该集合抽象常常提醒我留意“真正”在发生的事,避免随意实现集合行为,因为我真正需要的不过是某种简单的查找手段。
减少重复代码,提高表达力,提早构建简单抽象。这就是我写整洁代码的方法。
Ron以寥寥数段文字概括了本书的全部内容。不要重复代码,只做一件事,表达力,小规模抽象。该有的都有了。
Ward Cunningham,Wiki发明者,eXtreme Programming(极限编程)的创始人之一,Smalltalk语言和面向对象的思想领袖。所有在意代码者的教父。
如果每个例程都让你感到深合己意,那就是整洁代码。如果代码让编程语言看起来像是专为解决那个问题而存在,就可以称之为漂亮的代码。
这种说法很Ward。它教你听了之后就点头,然后继续听下去。如此在理,如此浅显,绝不故作高深。你大概以为此言深合己意吧。再走近点看看。
“……深合己意”。你最近一次看到深合己意的模块是什么时候?模块多半都繁复难解吧?难道没有触犯规则吗?你不是也曾挣扎着想抓住些从整个系统中散落而出的线索,编织进你在读的那个模块吗?你最近一次读到某段代码、并且如同对Ward的说法点头一般对这段代码点头,是什么时候的事了?
Ward期望你不会为整洁代码所震惊。你无需花太多力气。那代码就是深合你意。它明确、简单、有力。每个模块都为下一个模块做好准备。每个模块都告诉你下一个模块会是怎样的。整洁的程序好到你根本不会注意到它。设计者把它做得像一切其他设计般简单。
那Ward有关“美”的说法又如何呢?我们都曾面临语言不是为要解决的问题所设计的困境。但Ward的说法又把球踢回我们这边。他说,漂亮的代码让编程语言像是专为解决那个问题而存在!所以,让语言变得简单的责任就在我们身上了!当心,语言是冥顽不化的!是程序员让语言显得简单。
稿源:代码湾
转自:https://www.oschina.net/news/87473/good-programmers-clean-code
好了歌,中国著名古典章回体小说《红楼梦》中经典诗词,小说中为跛足道人所做,甄士隐彻悟后进行进一步注解,表现了作者现实主义和宗教思想。文中还有与之相和的《好了歌注》,承接并引申了《好了歌》的思想。诗歌内容隐射小说情节,表达了作者对现实的愤懑和失望,以及对自由的追求和向往!
能有一项长期爱好,看电影或者听歌收集旧书都行。这些爱好说白了就是让无聊的日子看起来有那么一点意义。
不要担心长时间不读书,你刷的微博,是在刷新信息量。看的电影也能充斥知识量。
看书看电影无须在意评论家说什么,有你喜欢的作家或演员就行。
过了三十岁,不管在什么地方吵架,都挺二的,尤其在网上。
五毛从来不值一提,更不配顺口一骂。
无论是谁,一有空就随便抓个人骂来骂去的,都不是什么好人。
别轻易贬低别人,同一个世界,同一个泥潭,无论黑衬衫白衬衫都带着污渍。
接下来说点小事 :))
不要占用别人车位,临时占用要留电话,否则车被划了轮胎被扎了都不好意思嚷嚷。
记得排队,记得上扶梯站右边,记得打车时别抢到别人前面,记得让自己方便的时候别给别人制造不快。
飞机没停稳何苦打开行李舱拿着背包就往外冲呢?我们不是最讨厌拥挤吗?
既然你改变不了什么,就改改自己的暴脾气,顺便去做一个正常人,当正常人越来越多,活着就没那么纠结,就会舒服一些,这就是改变。
别人给的伤害不能让你变强大,但你要学会躲避他们,不是说你惹不起,是你浪费不起那时间。把时间浪费在那种人身上,与自残无异。
关于朋友这件事,合得来就多加珍惜,不合拍就别浪费精力浪费时间辛苦维持了。
说到爱情,别为此寻死觅活,也别要求对方爱自己爱一辈子,那就是一段经历而已。
别问朋友借钱,除非是治病救人。欠钱到期还不了,要提前说,别羞于启齿错过时间等朋友问起时再支支吾吾闹得彼此都不痛快。
过去会越来越多,未来会越来越少,直到没有。当过去变成记忆,就变成身体的一部分,你忘不掉的。
当你感到自己真笨,这也干不好,那也做不好的时候,你已经是聪明人了。
不要担心这个致癌,那个致癌,这个不吃那个不吃,放心,我们最后都要死于癌症。
别人让你点菜,不会点就老老实实说不会点,别一张嘴就出来俩字:随便。
只要活着就总有那么一段时间,充满灰暗,躁动不安,可是除了面对,好像也没有别的办法。
当你感到时光漫长,实际上已经没有多少时间了。
老人倒了要扶,当年的坏人变老了,但不是所有的老人都变坏了。相信我,只有看热闹的越来越少,我们的下半生才有希望。
你会臃肿,你会白头,你将来也会倒在路边,但你不会去诬赖那个扶你的人。
你不会,我相信。
最后,
移民不是真正的理想,真正的理想是留在这个国家,管好自己并力所能及的帮助他人,以及,参与它的每一次改变。
来源:http://www.myexception.cn/other/1768786.html
Update Struts dependencies to 2.5.
Remove the following plugin dependencies because they were dropped and aren’t supported anymore.
The org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
was moved to org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
.
In web.xml replace this:
< filter > < filter-name >struts2</ filter-name > < filter-class >org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</ filter-class > </ filter > |
with that:
< filter > < filter-name >struts2</ filter-name > < filter-class >org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</ filter-class > </ filter > |
There were other package changes, please read Version Notes 2.5 for more details.
Struts DTD was updated to 2.5 version.
In struts.xml replace 2.3 DTD version:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" |
with 2.5:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" |
The id
attribute was replaced with var
attribute in the following tags.
<s:action>
<s:append>
<s:bean>
<s:date>
<s:generator>
<s:iterator>
<s:merge>
<s:number>
<s:set>
<s:sort>
<s:subset>
<s:text>
<s:url>
If you have something like that in your code:
< s:url id = "url" action = "login" > |
change it to:
< s:url var = "url" action = "login" > |
The <s:set>
tag name
attribute is replaced with var
attribute.
From:
< s:set id = "str1" value = "'string1 value'" /> < s:set name = "str2" value = "'string2 value'" /> |
to:
< s:set var = "str1" value = "'string1 value'" /> < s:set var = "str2" value = "'string2 value'" /> |
Also escape
attribute was renamed to escapeHtml
attribute.
From:
< s:property escape = "true" var = "someProperty" /> |
to:
< s:property escapeHtml = "true" var = "someProperty" /> |
The <s:div>
tag was dropped.
Replace <s:div>
with plain HTML <div>
tag.
If you have field names which starts with single lower case letter, for example:
private String sTrng; public String getSTrng() {...} public void setSTrng(String str) {...} |
change accessors to getsTrng
and setsTrng
.
Or better yet, change field names to not contain single lower case letter:
private String strng; public String getStrng() {...} public void setStrng(String str) {...} |
For additional info see WW-3909.
Depending on from which version of struts you upgrade and whether you used tiles-plugin
or tiles3-plugin
you may need to do different steps.
Struts 2.5 just provides a tiles-plugin
which uses Tiles3. So support for Tiles2 has been dropped as well as the name tiles3-plugin
.
Now the only maven dependency looks like this:
< dependency > < groupId >org.apache.struts</ groupId > < artifactId >struts2-tiles-plugin</ artifactId > < version >${struts2.version}</ version > </ dependency > |
You may need to update DTD in your tiles.xml
files to Tiles3:
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" |
A Listener in web.xml
is required. It is not necessary to configure paths to tiles.xml
files here as they are picked up automatically.
< listener > < listener-class >org.apache.struts2.tiles.StrutsTilesListener</ listener-class > </ listener > |
Optionally you may remove TilesDefinitions from XML and annotate actions instead. See Tiles Plugin for more details.
Users reported it was necessary for them to remove temp/work directory of their ApplicationServer/ServletContainer. Likely to force server to recompile JSPs.
来源:https://cwiki.apache.org/confluence/display/WW/Struts%202.3%20to%202.5%20migration
BNF
巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集。现在,几乎每一位新编程语言书籍的作者都使用巴科斯范式来定义编程语言的语法规则。
在BNF中,双引号中的字(“word”)代表着这些字符本身。而double_quote用来代表双引号。
在双引号外的字(有可能有下划线)代表着语法部分。
< > : 内包含的为必选项。
[ ] : 内包含的为可选项。
{ } : 内包含的为可重复0至无数次的项。
| : 表示在其左右两边任选一项,相当于”OR”的意思。
::= : 是“被定义为”的意思
“…” : 术语符号
[…] : 选项,最多出现一次
{…} : 重复项,任意次数,包括 0 次
(…) : 分组
| : 并列选项,只能选一个
斜体字: 参数,在其它地方有解释
下面是是用BNF来定义的Java语言中的For语句的实例:
FOR_STATEMENT ::= "for" "(" ( variable_declaration | ( expression ";" ) | ";" ) [ expression ] ";" [ expression ] ";" ")" statement
ABNF
RFC2234 定义了扩展的巴科斯范式(ABNF)。近年来在Internet的定义中 ABNF 被广泛使用。ABNF 做了更多的改进。扩充巴科斯-瑙尔范式(ABNF)基于了巴科斯-瑙尔范式(BNF),但由它自己的语法和推导规则构成。这种元语言的发起原则是描述作为通信协议(双向规范)的语言的形式系统。它建档于 RFC 4234 中通常充当 IETF 通信协议的定义语言。
ABNF 规定是一组推导规则,写为:
规则 = 定义 ; 注释 CR LF
这里的规则是大小写敏感的非终止符,定义由定义这个规则的符号序列,一个文档注释组成,并结束于回车换行。
规则名字是大小写不敏感的: <rulename>
, <Rulename>
, <RULENAME>
和 <rUlENamE>
都提及同一个规则。规则名字由开始于一个字母的字母、数字和连字符组成。不要求用尖括号(“<
”, “>
”) (如 BNF 那样)包围规则名字。但是它们可以用来界定规则名字,比如在冗文中识别出规则名字的时候。ABNF 使用 7-位 ASCII 编码,在 8-位域中把高位置零。
终结符由一个或多个数值字符指定。数值字符可以指定为跟随着基数(b = 二进制, d = 十进制, x = 十六进制)的一个百分号“%
”,随后是这个数值,或数值的串联(用“.
” 来指示)。例如回车可以指定为十进制的 %d13
或十六进制的 %x0D
。回车换行可以指定为 %d13.10
。
文字正文通过使用包围在引号("
)中字符串来指定。这些字符串是大小写不敏感的,使用的字符集是 US-ASCII。所以字符串“abc”将匹配“abc”, “Abc”, “aBc”, “abC”, “ABc”, “AbC”, “aBC” 和 “ABC”。对于大小写敏感匹配,必须定义明确的字符: 要匹配 “aBc” 定义将是 %d97 %d66 %d99
。
操作符
空白被用来分隔定义的各个元素: 要使空格被识别为分割符则必须明确的包含它。
串联
规则1 规则2
规则可以通过列出一序列的规则名字来定义。
要匹配字符串“aba”可以使用下列规则:
fu = %x61; a bar = %x62; b mumble = fu bar fu
选择
规则1 / 规则2
规则可以通过用反斜杠(“/
”)分隔的多选一规则来定义。
要接受规则 <fu> 或规则 <bar> 可构造如下规则:
fubar = fu / bar
递增选择
规则1 =/ 规则2
可以通过使用在规则名字和定义之间的“=/
”来向一个规则增加补充选择。
规则
ruleset = alt1 / alt2 / alt3 / alt4 / alt5
等价于
ruleset = alt1 / alt2 ruleset =/ alt3 ruleset =/ alt4 / alt5
值范围
%c##-##
数值范围可以通过使用连字符(“-
”)来指定。
规则
OCTAL = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7"
等价于
OCTAL = %x30-37
序列分组
(规则1 规则2)
元素可以放置在圆括号中来组合定义中的规则。
要匹配“elem fubar snafu”或“elem tarfu snafu”可以构造下列规则:
group = elem (fubar / tarfu) snafu
要匹配“elem fubar”或“tarfu snafu”可以构造下列规则:
group = elem fubar / tarfu snafu group = (elem fubar) / (tarfu snafu)
可变重复
n*n规则
要指示一个元素的重复可以使用形式 <a>*<b> 元素
。可选的 <a>
给出要包括的元素的最小数目,缺省为 0。可选的 <b>
给出要包括的元素的最大数目,缺省为无穷。
对零或多个元素使用 *元素
,对一或多个元素使用 1*元素
,对二或三个元素使用 2*3元素
。
特定重复
n规则
要指示明确数目的元素可使用形式 <a> 元素
,它等价于 <a>*<a>元素
。
使用 2DIGIT
得到两个数字,使用 3DIGIT
得到三个数字。(DIGIT 在下面的核心规则中定义)。
可选序列
[规则]
要指示可选元素下列构造是等价的:
[fubar snafu] *1(fubar snafu) 0*1(fubar snafu)
注释
; 注释
分号(“;
”)开始一个注释并持续到此行的结束。
操作符优先级
上述操作符有从最紧绑定(binding)到最松绑定的给定优先级:
与串联一起使用选择操作符可以造成混淆,建议使用分组来做明确串联分组。
核心规则
核心规则定义于 ABNF 标准中。
规则 | 形式定义 | 意义 |
---|---|---|
ALPHA | %x41-5A / %x61-7A | 大写和小写 ASCII 字母 (A-Z a-z) |
DIGIT | %x30-39 | 数字 (0-9) |
HEXDIG | DIGIT / “A” / “B” / “C” / “D” / “E” / “F” | 十六进制数字 (0-9 A-F a-f) |
DQUOTE | %x22 | 双引号 |
SP | %x20 | 空格 |
HTAB | %x09 | 水平tab |
WSP | SP / HTAB | 空格和水平tab |
LWSP | *(WSP / CRLF WSP) | 线性空白(晚于换行) |
VCHAR | %x21-7E | 可见(打印)字符 |
CHAR | %x01-7F | 任何 7-位 US-ASCII 字符,不包括 NUL |
OCTET | %x00-FF | 8 位数据 |
CTL | %x00-1F / %x7F | 控制字符 |
CR | %x0D | 回车 |
LF | %x0A | 换行 |
CRLF | CR LF | 互联网标准换行 |
BIT | “0” / “1” |
例子
在巴科斯范式(BNF)条目中的邮政地址的例子可以被指定为:
postal-address = name-part street zip-part name-part = *(personal-part SP) last-name [SP suffix] CRLF name-part = / personal-part CRLF personal-part = first-name / (initial ".") first-name = *ALPHA initial = ALPHA last-name = *ALPHA suffix = ("Jr." / "Sr." / 1*("I" / "V" / "X")) street = [apt SP] house-num SP street-name CRLF apt = 1*4DIGIT house-num = 1*8(DIGIT / ALPHA) street-name = 1*VCHAR zip-part = town-name "," SP state 1*2SP zip-code CRLF town-name = 1*(ALPHA / SP) state = 2ALPHA zip-code = 5DIGIT ["-" 4DIGIT]
引用
参考
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。
一、BIO
在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行。
二、NIO (New IO)
NIO本身是基于事件驱动思想来完成的,其主要想解决的是BIO的大并发问题: 在使用同步I/O的网络应用中,如果要同时处理多个客户端请求,或是在客户端要同时和多个服务器进行通讯,就必须使用多线程来处理。也就是说,将每一个客户端请求分配给一个线程来单独处理。这样做虽然可以达到我们的要求,但同时又会带来另外一个问题。由于每创建一个线程,就要为这个线程分配一定的内存空间(也叫工作存储器),而且操作系统本身也对线程的总数有一定的限制。如果客户端的请求过多,服务端程序可能会因为不堪重负而拒绝客户端的请求,甚至服务器可能会因此而瘫痪。
NIO基于Reactor,当socket有流可读或可写入socket时,操作系统会相应的通知引用程序进行处理,应用再将流读取到缓冲区或写入操作系统。 也就是说,这个时候,已经不是一个连接就要对应一个处理线程了,而是有效的请求,对应一个线程,当连接没有数据时,是没有工作线程来处理的。
BIO与NIO一个比较重要的不同,是我们使用BIO的时候往往会引入多线程,每个连接一个单独的线程;而NIO则是使用单线程或者只使用少量的多线程,每个连接共用一个线程。
NIO的最重要的地方是当一个连接创建后,不需要对应一个线程,这个连接会被注册到多路复用器上面,所以所有的连接只需要一个线程就可以搞定,当这个线程中的多路复用器进行轮询的时候,发现连接上有请求的话,才开启一个线程进行处理,也就是一个请求一个线程模式。
在NIO的处理方式中,当一个请求来的话,开启线程进行处理,可能会等待后端应用的资源(JDBC连接等),其实这个线程就被阻塞了,当并发上来的话,还是会有BIO一样的问题。
HTTP/1.1出现后,有了Http长连接,这样除了超时和指明特定关闭的http header外,这个链接是一直打开的状态的,这样在NIO处理中可以进一步的进化,在后端资源中可以实现资源池或者队列,当请求来的话,开启的线程把请求和请求数据传送给后端资源池或者队列里面就返回,并且在全局的地方保持住这个现场(哪个连接的哪个请求等),这样前面的线程还是可以去接受其他的请求,而后端的应用的处理只需要执行队列里面的就可以了,这样请求处理和后端应用是异步的.当后端处理完,到全局地方得到现场,产生响应,这个就实现了异步处理。
三、AIO
与NIO不同,当进行读写操作时,只须直接调用API的read或write方法即可。这两种方法均为异步的,对于读操作而言,当有流可读取时,操作系统会将可读的流传入read方法的缓冲区,并通知应用程序;对于写操作而言,当操作系统将write方法传递的流写入完毕时,操作系统主动通知应用程序。 即可以理解为,read/write方法都是异步的,完成后会主动调用回调函数。 在JDK1.7中,这部分内容被称作NIO.2,主要在Java.nio.channels包下增加了下面四个异步通道:
其中的read/write方法,会返回一个带回调函数的对象,当执行完读取/写入操作后,直接调用回调函数。
BIO是一个连接一个线程。
NIO是一个请求一个线程。
AIO是一个有效请求一个线程。
先来个例子理解一下概念,以银行取款为例:
Java对BIO、NIO、AIO的支持:
BIO、NIO、AIO适用场景分析:
另外,I/O属于底层操作,需要操作系统支持,并发也需要操作系统的支持,所以性能方面不同操作系统差异会比较明显。
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。
在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知。而阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值。
一般来说I/O模型可以分为:同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO
同步阻塞IO:在此种方式下,用户进程在发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后,用户进程才能运行。JAVA传统的IO模型属于此种方式!
同步非阻塞IO:在此种方式下,用户进程发起一个IO操作以后边可返回做其它事情,但是用户进程需要时不时的询问IO操作是否就绪,这就要求用户进程不停的去询问,从而引入不必要的CPU资源浪费。其中目前JAVA的NIO就属于同步非阻塞IO。
异步阻塞IO:此种方式下是指应用发起一个IO操作以后,不等待内核IO操作的完成,等内核完成IO操作以后会通知应用程序,这其实就是同步和异步最关键的区别,同步必须等待或者主动的去询问IO是否完成,那么为什么说是阻塞的呢?因为此时是通过select系统调用来完成的,而select函数本身的实现方式是阻塞的,而采用select函数有个好处就是它可以同时监听多个文件句柄,从而提高系统的并发性!
异步非阻塞IO:在此种模式下,用户进程只需要发起一个IO操作然后立即返回,等IO操作真正的完成以后,应用程序会得到IO操作完成的通知,此时用户进程只需要对数据进行处理就好了,不需要进行实际的IO读写操作,因为真正的IO读取或者写入操作已经由内核完成了。目前Java中还没有支持此种IO模型。
好的产品往往做好了两点:功能和细节设计。
功能吸引用户使用你的产品,细节设计将你的用户留下。优秀的细节设计能够使你的产品在众多竞品中脱颖而出,优秀的微交互设计往往能够让用户在初次使用产品时就能够留下深刻的印象。作为一个交互设计师,在设计微交互方案的时候不仅要考虑视觉上的冲击力,还要想办法赋予其信息传递的功能。
什么是微交互?
微交互是产品中存在的某一个时刻,它完成了某一个小的任务。Dan Saffer在他的书中(Microinteractions)第一次描述了微交互的概念,这些小细节专注于服务这些必要的功能:
交流回馈或者动作的结果回馈
完成某个单独的任务
增强直接操作的感觉
帮助用户在视觉上展示操作的结果,以及避免错误
一些明显的微交互例子包括:
当你将iPhone设置成静音时伴随出现的的震动提醒、屏幕上的静音icon。
界面动画提示是否能够点击(当鼠标移到按钮上方时按钮的颜色改变)。
为什么使用微交互?
微交互是在对用户一些自然的需求/欲望的认知和反馈。用户从微交互提供的视觉、触觉等反馈中确认他们的行为被接受。微交互还可以引导用户正确的使用系统/产品。
定义微交互的使用情景
微交互的一个特点是它可以被放置在很多的场景下,辅助不同的动作行为。总体来说,微交互的使用场景包括:
展示系统/产品的状态
Jacob Nielsen在“可用性启发原则”中指出:让你的用户时刻了解发生的事情,用户期望对自己的行为立即得到反馈。但是有些情况下,app需要时间来等待行为处理完成后才能向用户发出反馈。因此,产品界面需要向用户指明此刻正在发生的事。
▲ 下载进度表
或者标明用户所在的位置:
Tips:不要让你的用户感到无助,让你的用户了解实时的状态并且向其展示进度(比如进度条能够让用户了解进度,消除疑惑)
提示更新
我们有时需要向用户推送通知来保证用户了解到事态的更新。动画可以做到这一点,动画可以吸引用户的注意力,避免用户忽视掉重要的信息。
Tips:微交互里的动效应该遵循KISS原则(keep it simple, stupid),应该尽量简单直接。
关联上下文
使用动效来将用户的注意力平滑的在导航页面间切换,向用户解释页面里元素之间的关系,以及页面跳转的来龙去脉。这对于移动设备非常有用,因为屏幕的尺寸限制,移动界面中每一页的内容都很紧凑,使用动效来阐述内容之间的联系非常实用。
Tips:尽量让每个页面的导航简洁,这样可以有效避免用户在页面跳转中迷失。两个状态之间的却换应该清晰、平滑、快捷。在视觉上统一所有的交互形式,降低用户的学习成本。
输入可视化
数据输入是应用中非常重要的环节,微交互可以使用现有的元素来展示数据输入的反馈,从而将这步操作变得更加高效。
Tips:微交互能够帮助用户理解信息格式,来源,帮助用户便捷输入信息。
引导互动
微交互可以鼓励用户、吸引用户与产品交互。它可以在用户体验中产生同理心。但是需要谨慎使用微交互,保证其在感官上不会冒犯你的用户。
时刻谨记:不要让用户感到厌烦,Keep it simple, stupid.
Tips:关注用户的情感反馈,因为它在用户体验中起到很重要的作用。多做用户研究和情景调研,设计能被用户频繁使用的微交互方案。
值得谨记的
微交互向用户展示动作反馈,通知以及信息框架结构
微交互应该通过转移用户的注意力、愉悦用户等来达到加快/缩短信息数据的传输
了解你的用户以及使用微交互的背景,能够让你的微交互方案更加的精准与高效
微交互必须能够支持长时效的使用,在第一次使用时感到惊喜的方案,可能在第一百次使用时就变成了困扰。
微交互方案应该人性化一些,并且在视觉上保持和谐。用户在使用的时候应该感到流畅,微交互的方案应该尽可能的从现实生活中获得启发,比如使用拟物化等手段,从而降低学习成本。
总结
用心设计,思考用户使用产品的情景,再设计这些微交互时多运用一些生活中常见的操作模式、物体的运动轨迹、常见的行为方式等。产品的易用性来源于对细节的打磨,伟大的设计不仅仅在功能上满足用户的需求,还要在微交互的设计上打动人心。
01. 不为模糊不清的未来担忧,只为清清楚楚的现在努力。
02. 只有先改变自己的态度,才能改变人生的高度。
03. 在抱怨自己赚钱少之前,先努力,学着让自己值钱。
04. 学历代表过去,学习能力才代表将来。
05. 耐得住寂寞才能守得住繁华,该奋斗的年龄不要选择了安逸。
06. 有些事情不是看到希望才去坚持,而是坚持了才看得到希望。
07. 压力不是有人比你努力,而是比你牛几倍的人依然在努力。
08. 你所做的事情,也许暂时看不到成功,但不要灰心,你不是没有成长,而是在扎根。
09. 现实和理想之间,不变的是跋涉,暗淡与辉煌之间,不变的是开拓。
跳槽穷半年,改行穷三年。献给每天喊辞职、想辞职的人或周期性喊辞职、想辞职的人!
1,不要轻易离开团队,否则你要从零做起 。
2,不要老想着做不顺就放弃,哪个团队都有问题,哪个团队都有优点。
3.跟对领导很重要,愿意教你的,放手让你做的领导,绝对要珍惜。
4.团队的问题就是你脱颖而出的机会,抱怨和埋怨团队就是打自己耳光,说自己无能,更是在放弃机会 !
5.心怀感恩之心,感谢系统给你平台,感谢伙伴给你配合。
6.创造利润是你存在的核心价值,创业不是做慈善 。
7.遇到问题请先思考,只反映问题是初级水平,思考并解决问题才是高级水平。
坚持不一定成功,坚持到底一定成功! 好好工作吧!
学会说话,给人温暖,给人鼓励,给人赞美,
给人信心,给人方便,给人希望,给人智慧!
2016年,不管你在哪里上班,请记住这个字!
第一则:
工作不养闲人,团队不养懒人。
第二则:
入一行, 先别惦记着能赚钱, 先学着让自己值钱。
第三则:
没有哪个行业的钱是好赚的。
第四则:
干工作,没有哪个是顺利的,受点气是正常的。
第五则:
赚不到钱,赚知识;
赚不到知识,赚经历;
赚不到经历,赚阅历;
以上都赚到了 就不可能赚不到钱。
第六则:
只有先改变自己的态度,才能改变人生的高度。
只有先改变自己的工作态度,才能有职业高度。
第七则:
让人迷茫的原因只有一个
——那就是本该拼搏的年纪,却想得太多,做得太少!
送君一个字:干!
本文整理自网络
版权归原作者所有,向原作者致敬!
现如今程序员是越来越多了,所以优秀的程序员也是越来越多了。但是他们中哪些才是顶尖中的顶尖呢?
其实要明确地指出“哪一个”程序员是最优秀的,这几乎不太可能,但是业内的开发者们还是对这个话题乐此不疲。ITworld 就通过投票,以及对其他国外社区(比如 Quora、Reddit)中的数据进行分析,来判断排名和分析是否一致。结果,有一些名字确实在大家的讨论中反复出现。
下面就让我们来看看依然健在的最受大家认可的 15 位优秀程序员:
(小编先补充声明,下面排序并不是按个人成就。如果你喜欢的大牛排在后面了,别纠结别激动 ~≧▽≦~ )
上榜理由:作为 Charlse Stark Draper 实验室软件工程部门的主任,她领导她的小组为 NASA 的阿波罗计划和Skylab任务设计并开发了飞行控制软件。基于在阿波罗计划中的工作成就,她随后研发了通用系统语言和 DBTF 开发范式。她开创性地提出了“异步软件、优先调度、以及高可信度软件设计”等概念。这些都成为日后“软件工程”的基础。她是1986年Augusta Ada Lovelace奖的获得者,并且在2003年获得了NASA杰出空间表现奖。
《就是这个美女程序员,写出了让阿波罗成功登陆月球的代码!》
(旁边是「著作等身」的阿波罗制导系统的代码)
上榜理由:他写了一本关于计算机编程理论的决定性著作,发明了 TeX 数字排版系统。他是1971年第一届ACM Grace Murray Hopper奖的获得者(译者注:美国海军女少将 Grace Murray Hopper 也绝对是载入史册的计算机科学家和顶级程序员,可惜她已经去世,因此没有列入本文名单)。并且是计算机最高奖ACM图灵奖获得者(1974)(要知道当时 他才36岁),还是1979年美国国家科学奖章获得者以及IEEE冯诺依曼奖章获得者(1995)。并在1998年被任命为计算机历史博物馆名人堂成员。
《程序员单枪匹马做的最复杂/重要的程序,是哪个?》、《高德纳谈计算机程序设计艺术(上)》和《高德纳谈计算机程序设计艺术(下)》
上榜理由:和 Dennis Ritchie 一起,共同缔造了Unix操作系统。他是 B 语言的发明人,以及 UTF-8 字符编码规范和 ed 文本编辑器的发明人。同时他还是 Go 编程语言的共同开发者之一。他和 Dennis Ritchie 一起获得了1983年的ACM图灵奖,1994年的IEEE计算机先锋奖和1998年的美国国家技术奖章。1997年他正式成为美国计算机历史博物馆名人 堂成员。
上榜理由:他创立了GNU项目,并为其开发了很多核心工具,例如Emacs、GCC、GDB 等等,还有 GNU Make。他还创立了自由软件基金会。他是1990年ACM Grace Murray Hopper奖获得者,1998年EFF先锋奖获得者。
网友评价:
上榜理由:他是Turbo Pascal的真正创始人。Turbo Pascl可谓是历史上最受欢迎的编译器之一,也是首个集成开发环境(IDE)。随后,他主导开发了Turbo Pascal的继任者——Delphi。他还是 C# 的首席构架师。2001年,他获得了Dr. Dobb’s杂志颁发的“杰出编程奖”。
上榜理由:他开发了Lucene搜索引擎,Nutch网络爬虫引擎以及Hadoop分布式大数据处理工具。他是开源项目的拥趸(Lucene,Nutch和Hadoop都是开源的)。他还担任过Apache软件基金会的总监。
《Lucene五分钟教程》
Goolge搜索索引技术的幕后大脑。
上榜理由:他参与设计和实现了Google许多大型分布式系统,包括网络爬虫,索引和搜索,AdSense, MapReduce, BigTable和Spanner。他被选获得2009年的美国国家工程学院奖。2012年获得ACM SIGOPS Mark Weiser奖和ACM-InfoSys基础奖(计算机科学类)。
《谷歌大牛Jeff Dean是如何成为互联网战神的》和《趣文:谷歌大牛Jeff Dean的那些“惊人真相”》
上榜理由:他参与设计和实现了Google的大型分布式系统,包括MapReduce、Bigtable、Spanner和 Google文件系统。他还编写过Unix的ical日历系统。他于2009年获选进入的美国国家工程院。2012年赢得了ACM计算机科学信息系统基础 类奖。
上榜理由:他创建了Linux 内核 以及 Git(一个开源的版本控制系统)。他是众多奖项和荣誉的获得者,包括:1998年EFF先锋奖,英国计算机社区Lovelace奖章 (2000年),千禧技术奖金(2012年)以及IEEE计算机社区计算机先锋奖(2014年)。他还于2008年被提名计算机历史博物馆名人堂成员,以 及2012年Internet名人堂成员。
《Linus:23年前我开发Linux仅仅是因为好玩》和《Git 10 周年访谈:Linus 讲述背后故事》,更多请点击这里。
主要成就:他是id Software的联合创始人,他开发出了极具影响力的FPS游戏:《德军总部3D》、《毁灭战士》和《雷神之锤》。他是计算机图形技术领域的先锋,在图 形学上多次取得重要突破:包括自适应性图块刷新(adaptive tile refresh),二叉空间分割(BSP),以及表面缓存技术等等。他在2001年入选交互式艺术与科学学院名人堂,并在2007年和2008年两次获得 艾美奖工程和技术类奖项,并于2010年获得游戏开发者选择终身成就奖。
《大牛约翰·卡马克语录》和《卡马克:用C++进行函数式编程》
上榜理由:他是许多著名开源软件程序的作者,包括QEMU——一个硬件模拟和虚拟化平台,FFmpeg——用于处理多媒体数据,以及一个Tiny C编译器,还有LZEXE,一个可执行程序压缩器。他是2000年和2001年混乱C代码竞赛的冠军,以及2011年Google-O’Reilly开源 奖获得者。他还曾经是计算圆周率位数最多的世界纪录保持者。
《天才程序员 Fabrice Bellard》
上榜理由:他是Google工程师,《C# in Depth》的作者。他保持者StackOverflow有史以来的最高声望,他平均每个月在StackOverflow上回答390个问题。
上榜理由:他是Facebook的工程师,为Facebook构建了News Feeds 的最初基础设施。后来他成为了Facebook的CTO以及工程副总裁,接着他从Facebook离职联合创立了Quora。2001年,他以高中生的身 份成为了美国奥利匹克信息竞赛排名第八的选手。在2004年的ACM国际大学生编程竞赛中,他是加州理工大学银牌优胜队的成员之一。他还在2005年 Topcoder大学生挑战赛中闯入了算法编程竞赛的最终决赛轮。
上榜理由:国际奥林匹克信息竞赛两次金牌得主(2000,2002)。2006年,他赢得了Google代码挑战赛和TopCode算法公开赛冠 军。另外,他还是两次Facebook Hacker Cup的得主(2011,2013)。在这篇文章发布的时候,他是TopCoder上算法总排名第二的参赛者(id叫Petr)并且在 Codeforces的总排名也是第二。
网友评价:
上榜理由:他是国际奥林匹克信息竞赛创办以来最年轻的参赛者(11岁)以及6次金牌获得者(2007-2012)。2013年ACM国际大学生编程 竞赛优胜队的成员之一,2014年Facebook Hacker Cup的赢得者。在本文编写是,他是Codeforces排名第一的选手(id:Tourist)以及Topcode算法竞赛者中的第一名
本文转载自: http://www.techug.com/good-programmers
(本站只作转载,不代表本站同意文中观点或证实文中信息)
《道德经》——《老子道德经》
老 子: 「道 德 經」: 第 一 章
道 可 道 , 非 常 道 。 名 可 名 , 非 常 名 。
无 名 天 地 之 始 ﹔ 有 名 万 物 之 母 。
故 常 无 , 欲 以 观 其 妙 ﹔ 常 有 , 欲 以 观 其 徼 。
此 两 者 , 同 出 而 异 名 , 同 谓 之 玄 。
玄 之 又 玄 , 众 妙 之 门 。
老 子: 「道 德 經」 : 第 二 章
天 下 皆 知 美 之 为 美 , 斯 恶 已 。
皆 知 善 之 为 善 , 斯 不 善 已 。
有 无 相 生 , 难 易 相 成 , 长 短 相 形 ,
高 下 相 盈 , 音 声 相 和 , 前 后 相 随 。
恒 也 。 是 以 圣 人 处 无 为 之 事 ,
行 不 言 之 教 ﹔ 万 物 作 而 弗 始 ,
生 而 弗 有 , 为 而 弗 恃 , 功 成 而 不 居 。
夫 唯 弗 居 , 是 以 不 去 。
老 子: 「道 德 经」 : 第 三 章
不 尚 贤 , 使 民 不 争
不 贵 难 得 之 货 , 使 民 不 为 盗 ﹔
不 见 可 欲 , 使 民 心 不 乱 。
是 以 圣 人 之 治 ,
虚 其 心 ,
实 其 腹 ,
弱 其 志 ,
强 其 骨 。
常 使 民 无 知 无 欲 。
使 夫 智 者 不 敢 为 也 。
为 无 为 , 则 无 不 治 。
老 子: 「道 德 经」 : 第 四 章
道 冲 , 而 用 之 或 不 盈 。
渊 兮 , 似 万 物 之 宗 ﹔ 湛 兮 , 似 或 存 。
吾 不 知 谁 之 子 , 象 帝 之 先 。
老 子: 「道 德 经」 : 第 五 章
天 地 不 仁 , 以 万 物 为 刍 狗 ﹔ 圣 人 不 仁 , 以 百 姓 为 刍 狗 。
天 地 之 间 , 其 犹 橐 钥 乎 。 虚 而 不 屈 , 动 而 愈 出 。
多 言 数 穷 , 不 如 守 中 。
老 子: 「道 德 经」 : 第 六 章
谷 神 不 死 , 是 谓 玄 牝 。
玄 牝 之 门 , 是 谓 天 地 根 。帛系 若 存 , 用 之 不 勤 。
老 子: 「道 德 经」 : 第 七 章
天 长 地 久 。
天 地 所 以 能 长 且 久 者 ,
以 其 不 自 生 , 故 能 长 生 。
是 以 圣 人 后 其 身 而 身 先 ﹔ 外 其 身 而 身 存 。
非 以 其 无 私 邪 。
故 能 成 其 私 。
老 子: 「道 德 经」 : 第 八 章
上 善 若 水 。
水 善 利 万 物 而 不 争 ,
处 众 人 之 所 恶 , 故 几 于 道 。
居 善 地 , 心 善 渊 , 与 善 仁 ,
言 善 信 , 政 善 治 , 事 善 能 ,
动 善 时 。 夫 唯 不 争 , 故 无 尤 。
老 子: 「道 德 经」 : 第 九 章
持 而 盈 之 , 不 如 其 已 ﹔
揣 而 锐 之 , 不 可 长 保 。
金 玉 满 堂 , 莫 之 能 守 ﹔
富 贵 而 骄 , 自 遗 其 咎 。
功 遂 身 退 , 天 之 道 也 。
老 子: 「道 德 经」 : 第 十 章
载 营 魄 抱 一 , 能 无 离 乎 。
专 气 致 柔 , 能 如 婴 儿 乎 。
涤 除 玄 鉴 , 能 如 疵 乎 。
爱 国 治 民 , 能 无 为 乎 。
天 门 开 阖 , 能 为 雌 乎 。
明 白 四 达 , 能 无 知 乎 。
老 子: 「道 德 经」 : 第 十 一 章
三 十 辐 , 共 一 毂 , 当 其 无 , 有 车 之 用 。
埏 埴 以 为 器 , 当 其 无 , 有 器 之 用 。
凿 户 牖 以 为 室 , 当 其 无 , 有 室 之 用 。
故 有 之 以 为 利 , 无 之 以 为 用 。
老 子: 「道 德 经」 : 第 十 二 章
五 色 令 人 目 盲 ﹔ 五 音 令 人 耳 聋 ﹔ 五 味 令 人 口 爽 ﹔
驰 骋 畋 猎 , 令 人 心 发 狂 ﹔ 难 得 之 货 , 令 人 行 妨 。
是 以 圣 人 为 腹 不 为 目 , 故 去 彼 取 此 。
老 子: 「道 德 经」 : 第 十 三 章
宠 辱 若 惊 , 贵 大 患 若 身 。
何 谓 宠 辱 若 惊 。
宠 为 下 , 得 之 若 惊 , 失 之 若 惊 , 是 谓 宠 辱 若 惊 。
何 谓 贵 大 患 若 身 。
吾 所 以 有 大 患 者 , 为 吾 有 身 ,
及 吾 无 身 , 吾 有 何 患 。
故 贵 以 身 为 天 下 , 若 可 寄 天 下 ﹔
爱 以 身 为 天 下 , 若 可 托 天 下 。
老 子: 「道 德 经」 : 第 十 四 章
视 之 不 见 , 名 曰 夷 ﹔
听 之 不 闻 , 名 曰 希 ﹔
搏 之 不 得 , 名 曰 微 。
此 三 者 不 可 致 诘 , 故 混 而 为 一 。
其 上 不 皦 , 其 下 不 昧 。
绳 绳 兮 不 可 名 , 复 归 于 物 。
是 谓 无 状 之 状 , 无 物 之 象 , 是 谓 惚 恍 。
迎 之 不 见 其 首 , 随 之 不 见 其 后 。
执 古 之 道 , 以 御 今 之 有 。
能 知 古 始 , 是 谓 道 纪 。
老 子: 「道 德 经」 : 第 十 五 章
古 之 善 为 道 者 , 微 妙 玄 通 , 深 不 可 识 。
夫 唯 不 可 识 , 故 强 为 之 容 :
豫 兮 若 冬 涉 川 ﹔
犹 兮 若 畏 四 邻 ﹔
俨 兮 其 若 客 ﹔
涣 兮 其 若 凌 释 ﹔
敦 兮 其 若 朴 ﹔
旷 兮 其 若 谷 ﹔
混 兮 其 若 浊 ﹔
澹 兮 其 若 海 ﹔
飂 兮 若 无 止 。
孰 能 浊 以 静 之 徐 清 。
孰 能 安 以 动 之 徐 生 。
保 此 道 者 , 不 欲 盈 。
夫 唯 不 盈 , 故 能 蔽 而 新 成 。
老 子: 「道 德 经」 : 第 十 六 章
致 虚 极 , 守 静 笃。
万 物 并 作 , 吾 以 观 复。
夫 物 芸 芸 , 各 复 归 其 根 。
归 根 曰 静 , 静 曰 复 命 。
复 命 曰 常 , 知 常 曰 明 。
不 知 常 , 妄 作 凶 。
知 常 容 , 容 乃 公 ,
公 乃 全 , 全 乃 天 ,
天 乃 道 , 道 乃 久 , 没 身 不 殆 。
老 子: 「道 德 经」 : 第 十 七 章
太 上 , 不 知 有 之 ﹔
其 次 , 亲 而 誉 之 ﹔
其 次 , 畏 之 ﹔
其 次 , 侮 之 。
信 不 足 焉 , 有 不 信 焉 。
悠 兮 其 贵 言 。
功 成 事 遂 , 百 姓 皆 谓 : 「 我 自 然 」 。
老 子: 「道 德 经」 : 第 十 八 章
大 道 废 , 有 仁 义 ﹔ 智 慧 出 , 有 大 伪 ﹔
六 亲 不 和 , 有 孝 慈 ﹔ 国 家 昏 乱 , 有 忠 臣 。
老 子: 「道 德 经」 : 第 十 九 章
绝 圣 弃 智 , 民 利 百 倍 ﹔
绝 仁 弃 义 , 民 复 孝 慈 ﹔
绝 巧 弃 利 , 盗 贼 无 有 。
此 三 者 以 为 文 , 不 足 。
故 令 有 所 属 : 见 素 抱 朴 , 少 思 寡 欲 , 绝 学 无 忧 。
老 子: 「道 德 经」 : 第 二 十 章
唯 之 与 阿 , 相 去 几 何 。
之 与 恶 , 相 去 若 何 。
人 之 所 畏 , 不 可 不 畏 。
荒 兮 , 其 未 央 哉 。
众 人 熙 熙 , 如 享 太 牢 , 如 春 登 台 。
我 独 泊 兮 , 其 未 兆 ﹔
沌 沌 兮 , 如 婴 儿 之 未 孩 ﹔
儽 儽 兮 , 若 无 所 归 。
众 人 皆 有 余 , 而 我 独 若 遗 。 我 愚 人 之 心 也 哉 。
俗 人 昭 昭 , 我 独 昏 昏 。
俗 人 察 察 , 我 独 闷 闷 。
众 人 皆 有 以 , 而 我 独 顽 且 鄙 。
我 独 异 于 人 , 而 贵 食 母 。
老 子: 「道 德 经」 : 第 二 十 一 章
孔 德 之 容 , 惟 道 是 从 。
道 之 为 物 , 惟 恍 惟 惚 。
惚 兮 恍 兮 , 其 中 有 象 ﹔ 恍 兮 惚 兮 , 其 中 有 物 。
窈 兮 冥 兮 , 其 中 有 精 ﹔ 其 精 甚 真 , 其 中 有 信 。
自 今 及 古 , 其 名 不 去 , 以 阅 众 甫 。
吾 何 以 知 众 甫 之 状 哉 。 以 此 。
老 子: 「道 德 经」 : 第 二 十 二 章
曲 则 全 , 枉 则 直 , 洼 则 盈 ,
敝 则 新 , 少 则 得 , 多 则 惑 。
是 以 圣 人 抱 一 为 天 下 式 。
不 自 见 , 故 明 ﹔
不 自 是 , 故 彰 ﹔
不 自 伐 , 故 有 功 ﹔
不 自 矜 , 故 长 。
夫 唯 不 争 , 故 天 下 莫 能 与 之 争 。
古 之 所 谓 「 曲 则 全 」 者 , 岂 虚 言 哉 。
诚 全 而 归 之 。
老 子: 「道 德 经」 : 第 二 十 三 章
希 言 自 然 。
故 飘 风 不 终 朝 , 骤 雨 不 终 日 。
孰 为 此 者 。
天 地 。 天 地 尚 不 能 久 , 而 况 于 人 乎 。
故 从 事 于 道 者 , 同 于 道 ﹔
德 者 , 同 于 德 ﹔ 失 者 , 同 于 失 。
同 于 道 者 , 道 亦 乐 得 之 ﹔
同 于 德 者 , 德 亦 乐 得 之 ﹔
同 于 失 者 , 失 亦 乐 得 之 。
信 不 足 焉 , 有 不 信 焉 。
老 子: 「道 德 經」 : 第 二 十 四 章
企 者 不 立 ﹔ 跨 者 不 行 ﹔
自 见 者 不 明 ﹔ 自 是 者 不 彰 ﹔
自 伐 者 无 功 ﹔ 自 矜 者 不 长 。
其 在 道 也 , 曰 : 余 食 赘 形 。
物 或 恶 之 , 故 有 道 者 不 处 。
老 子: 「道 德 经」 : 第 二 十 五 章
有 物 混 成 , 先 天 地 生 。
寂 兮 寥 兮 , 独 立 而 不 改 ,
周 行 而 不 殆 , 可 以 为 天 地 母 。
吾 不 知 其 名 , 强 字 之 曰 道 , 强 为 之 名 曰 大 。
大 曰 逝 , 逝 曰 远 , 远 曰 反 。
故 道 大 , 天 大 , 地 大 , 人 亦 大 。
域 中 有 四 大 , 而 人 居 其 一 焉 。
人 法 地 , 地 法 天 , 天 法 道 , 道 法 自 然 。
老 子: 「道 德 经」 : 第 二 十 六 章
重 为 轻 根 , 静 为 躁 君 。
是 以 君 子 终 日 行 不 离 辎 重 。
虽 有 荣 观 , 燕 处 超 然 。
奈 何 万 乘 之 主 , 而 以 身 轻 天 下 。
轻 则 失 根 , 躁 则 失 君 。
老 子: 「道 德 经」 : 第 二 十 七 章
善 行 无 辙 迹 , 善 言 无 瑕 谪 ﹔
善 数 不 用 筹 策 ﹔ 善 闭 无 关 楗 而 不 可 开 ,
善 结 无 绳 约 而 不 可 解 。
是 以 圣 人 常 善 救 人 , 故 无 弃 人 ﹔
常 善 救 物 , 故 无 弃 物 。
是 谓 袭 明 。
故 善 人 者 , 不 善 人 之 师 ﹔
不 善 人 者 , 善 人 之 资 。
不 贵 其 师 , 不 爱 其 资 ,
虽 智 大 迷 , 是 谓 要 妙 。
老 子: 「道 德 经」 : 第 二 十 八 章
知 其 雄 , 守 其 雌 , 为 天 下 溪 。
为 天 下 溪 , 常 德 不 离 , 复 归 于 婴 儿 。
知 其 白 , 守 其 辱 , 为 天 下 谷 。
为 天 下 谷 , 常 德 乃 足 , 复 归 于 朴 。
知 其 白 , 守 其 黑 , 为 天 下 式 。
为 天 下 式 , 常 德 不 忒 , 复 归 于 无 极 。
朴 散 则 为 器 , 圣 人 用 之 ,
则 为 官 长 , 故 大 智 不 割 。
老 子: 「道 德 经」 : 第 二 十 九 章
将 欲 取 天 下 而 为 之 , 吾 见 其 不 得 已 。
天 下 神 器 , 不 可 为 也 , 不 可 执 也 。
为 者 败 之 , 执 者 失 之 。
是 以 圣 人 无 为 , 故 无 败 ﹔
无 执 , 故 无 失。
夫 物 或 行 或 随 ﹔ 或 嘘 或 吹 ﹔
或 强 或 羸 ﹔ 或 载 或 隳 。
是 以 圣 人 去 甚 , 去 奢 , 去 泰 。
老 子: 「道 德 经」 : 第 三 十 章
以 道 佐 人 主 者 , 不 以 兵 强 天 下 。
其 事 好 远 。
师 之 所 处 , 荆 棘 生 焉 。
大 军 之 后 , 必 有 凶 年 。
善 有 果 而 已 , 不 以 取 强 。
果 而 勿 矜 , 果 而 勿 伐 , 果 而 勿 骄 。
果 而 不 得 已 , 果 而 勿 强 。
物 壮 则 老 , 是 谓 不 道 , 不 道 早 已 。
老 子: 「道 德 经」 : 第 三 十 一 章
夫 兵 者 , 不 祥 之 器 ,
物 或 恶 之 , 故 有 道 者 不 处 。
君 子 居 则 贵 左 , 用 兵 则 贵 右 。
兵 者 不 祥 之 器 , 非 君 子 之 器 ,
不 得 已 而 用 之 , 恬 淡 为 上 。
胜 而 不 美 , 而 美 之 者 , 是 乐 杀 人 。
夫 乐 杀 人 者 , 则 不 可 得 志 于 天 下 矣 。
吉 事 尚 左 , 凶 事 尚 右 。
偏 将 军 居 左 , 上 将 军 居 右 , 言 以 丧 礼 处 之 。
杀 人 之 众 , 以 悲 哀 泣 之 , 战 胜 以 丧 礼 处 之 。
老 子: 「道 德 经」 : 第 三 十 二 章
道 常 无 名 朴 。
虽 小 , 天 下 莫 能 臣 。
侯 王 若 能 守 之 , 万 物 将 自 宾 。
天 地 相 合 , 以 降 甘 露 , 民 莫 之 令 而 自 均 。
始 制 有 名 , 名 亦 既 有 ,
夫 亦 将 知 止 , 知 止 可 以 不 殆 。
譬 道 之 在 天 下 , 犹 川 谷 之 于 江 海 。
老 子: 「道 德 经」 : 第 三 十 三 章
知 人 者 智 , 自 知 者 明 。
胜 人 者 有 力 , 自 胜 者 强 。
知 足 者 富 。
强 行 者 有 志 。
不 失 其 所 者 久 。
死 而 不 亡 者 寿 。
老 子: 「道 德 经」 : 第 三 十 四 章
大 道 泛 兮 , 其 可 左 右 。
万 物 恃 之 以 生 而 不 辞 , 功 成 而 不 有 。
衣 养 万 物 而 不 为 主 , 可 名 于 小 ﹔
万 物 归 焉 而 不 为 主 , 可 名 为 大 。
以 其 终 不 自 为 大 , 故 能 成 其 大 。
老 子: 「道 德 经」 : 第 三 十 五 章
执 大 象 , 天 下 往 。
往 而 不 害 , 安 平 泰 。
乐 与 饵 , 过 客 止 。
道 之 出 口 , 淡 乎 其 无 味 ,
视 之 不 足 见 , 听 之 不 足 闻 , 用 之 不 足 既 。
老 子: 「道 德 经」 : 第 三 十 六 章
将 欲 歙 之 , 必 故 张 之 ﹔ 将 欲 弱 之 , 必 故 强 之 ﹔
将 欲 废 之 , 必 故 兴 之 ﹔ 将 欲 取 之 , 必 故 与 之 。
是 谓 微 明 。
柔 弱 胜 刚 强 。
鱼 不 可 脱 于 渊 , 国 之 利 器 不 可 以 示 人 。
老 子: 「道 德 经」 : 第 三 十 七 章
道 常 无 为 而 无 不 为 。
侯 王 若 能 守 之 , 万 物 将 自 化 。
化 而 欲 作 , 吾 将 镇 之 以 无 名 之 朴 。
镇 之 以 无 名 之 朴 , 夫 将 不 欲 。
不 欲 以 静 , 天 下 将 自 正 。
老 子: 「道 德 经」 : 第 三 十 八 章
上 德 不 德 , 是 以 有 德 ﹔
下 德 不 失 德 , 是 以 无 德 。
上 德 无 为 而 无 以 为 ﹔
下 德 无 为 而 有 以 为 。
上 仁 为 之 而 无 以 为 ﹔
上 义 为 之 而 有 以 为 。
上 礼 为 之 而 莫 之 应 ,
则 攘 臂 而 扔 之 。
故 失 道 而 后 德 , 失 德 而 后 仁 ,
失 仁 而 后 义 , 失 义 而 后 礼 。
夫 礼 者 , 忠 信 之 薄 , 而 乱 之 首 。
前 识 者 , 道 之 华 , 而 愚 之 始 。
是 以 大 丈 夫 处 其 厚 , 不 居 其 薄 ﹔
处 其 实 , 不 居 其 华 。 故 去 彼 取 此 。
老 子: 「道 德 经」 : 第 三 十 九 章
昔 之 得 一 者 :
天 得 一 以 清 ﹔
地 得 一 以 宁 ﹔
神 得 一 以 灵 ﹔
谷 得 一 以 生 ﹔
侯 得 一 以 为 天 下 正 。
其 致 之 也 , 谓 天 无 以 清 , 将 恐 裂 ﹔
地 无 以 宁 , 将 恐 废 ﹔
神 无 以 灵 , 将 恐 歇 ﹔
谷 无 以 盈 , 将 恐 竭 ﹔
万 物 无 以 生 , 将 恐 灭 ﹔
侯 王 无 以 正 , 将 恐 蹶 。
故 贵 以 贱 为 本 , 高 以 下 为 基 。
是 以 侯 王 自 称 孤 、 寡 、 不 谷 。
此 非 以 贱 为 本 邪 。 非 乎 。 故 致 誉 无 誉 。
是 故 不 欲 琭 琭 如 玉 , 珞 珞 如 石 。
老 子: 「道 德 經」 : 第 四 十 章
反 者 道 之 动 ﹔ 弱 者 道 之 用 。
天 下 万 物 生 于 有 , 有 生 于 无 。
老 子: 「道 德 经」 : 第 四 十 一 章
上 士 闻 道 , 勤 而 行 之 ﹔ 中 士 闻 道 , 若 存 若 亡 ﹔
下 士 闻 道 , 大 笑 之 。 不 笑 不 足 以 为 道 。
故 建 言 有 之 :
明 道 若 昧 ﹔
进 道 若 退 ﹔
夷 道 若 颣 ﹔
上 德 若 谷 ﹔
广 德 若 不 足 ﹔
建 德 若 偷 ﹔
质 真 若 渝 ﹔
大 白 若 辱 ﹔
大 方 无 隅 ﹔
大 器 晚 成 ﹔
大 音 希 声 ﹔
大 象 无 形 ﹔
道 隐 无 名 。
夫 唯 道 , 善 贷 且 成 。
老 子: 「道 德 经」 : 第 四 十 二 章
道 生 一 , 一 生 二 , 二 生 三 , 三 生 万 物 。
万 物 负 阴 而 抱 阳 , 冲 气 以 为 和 。
人 之 所 恶 , 唯 孤 、 寡 、 不 谷 , 而 王 公 以 为 称 。
故 物 或 损 之 而 益 , 或 益 之 而 损 。
人 之 所 教 , 我 亦 教 之 。
强 梁 者 不 得 其 死 , 吾 将 以 为 教 父 。
老 子: 「道 德 经」 : 第 四 十 三 章
天 下 之 至 柔 , 驰 骋 天 下 之 至 坚 。
无 有 入 无 间 , 吾 是 以 知 无 为 之 有 益 。
不 言 之 教 , 无 为 之 益 , 天 下 希 及 之 。
老 子: 「道 德 经」 : 第 四 十 四 章
名 与 身 孰 亲 。 身 与 货 孰 多 。 得 与 亡 孰 病 。
甚 爱 必 大 费 ﹔ 多 藏 必 厚 亡 。
故 知 足 不 辱 , 知 止 不 殆 , 可 以 长 久 。
老 子: 「道 德 经」 : 第 四 十 五 章
大 成 若 缺 , 其 用 不 弊 。
大 盈 若 冲 , 其 用 不 穷 。
大 直 若 屈 , 大 巧 若 拙 , 大 辩 若 讷 。
静 胜 躁 , 寒 胜 热 。 清 静 为 天 下 正 。
老 子: 「道 德 经」 : 第 四 十 六 章
天 下 有 道 , 却 走 马 以 粪 。
天 下 无 道 , 戎 马 生 于 郊 。
祸 莫 大 于 不 知 足 ﹔ 咎 莫 大 于 欲 得 。
故 知 足 之 足 , 常 足 矣 。
老 子: 「道 德 经」 : 第 四 十 七 章
不 出 户 , 知 天 下 ﹔ 不 窥 牖 , 见 天 道 。
其 出 弥 远 , 其 知 弥 少 。
是 以 圣 人 不 行 而 知 , 不 见 而 明 , 不 为 而 成 。
老 子: 「道 德 经」 : 第 四 十 八 章
为 学 日 益 , 为 道 日 损 。
损 之 又 损 , 以 至 于 无 为 。
无 为 而 无 不 为 。
取 天 下 常 以 无 事 , 及 其 有 事 , 不 足 以 取 天 下 。
老 子: 「道 德 经」 : 第 四 十 九 章
圣 人 常 无 心 , 以 百 姓 心 为 心 。
善 者 , 吾 善 之 ﹔ 不 善 者 , 吾 亦 善 之 ﹔ 德 善 。
信 者 , 吾 信 之 ﹔ 不 信 者 , 吾 亦 信 之 ﹔ 德 信 。
圣 人 在 天 下 , 歙 歙 焉 , 为 天 下 浑 其 心 ,
百 姓 皆 注 其 耳 目 , 圣 人 皆 孩 之 。
老 子: 「道 德 经」 : 第 五 十 章
出 生 入 死 。
生 之 徒 , 十 有 三 ﹔
死 之 徒 , 十 有 三 ﹔
人 之 生 , 动 之 于 死 地 , 亦 十 有 三 。
夫 何 故 。
以 其 生 之 厚 。
盖 闻 善 摄 生 者 , 路 行 不 遇 兕 虎 , 入 军 不 被 甲 兵 ﹔
兕 无 所 投 其 角 , 虎 无 所 用 其 爪 , 兵 无 所 容 其 刃 。
夫 何 故 。 以 其 无 死 地 。
老 子: 「道 德 经」 : 第 五 十 一 章
道 生 之 , 德 畜 之 , 物 形 之 , 势 成 之 。
是 以 万 物 莫 不 尊 道 而 贵 德 。
道 之 尊 , 德 之 贵 , 夫 莫 之 命 而 常 自 然 。
故 道 生 之 , 德 畜 之 ﹔
长 之 育 之 ﹔ 成 之 熟 之 ﹔ 养 之 覆 之 。
生 而 不 有 , 为 而 不 恃 ,
长 而 不 宰 。 是 谓 玄 德 。
老 子: 「道 德 经」 : 第 五 十 二 章
天 下 有 始 , 以 为 天 下 母 。
既 得 其 母 , 以 知 其 子 ,
复 守 其 母 , 没 身 不 殆 。
塞 其 兑 , 闭 其 门 , 终 身 不 勤 。
开 其 兑 , 济 其 事 , 终 身 不 救 。
见 小 曰 明 , 守 柔 曰 强 。
用 其 光 , 复 归 其 明 , 无 遗 身 殃 ﹔ 是 为 袭 常 。
老 子: 「道 德 经」 : 第 五 十 三 章
使 我 介 然 有 知 , 行 于 大 道 , 唯 施 是 畏 。
大 道 甚 夷 , 而 人 好 径 。
朝 甚 除 , 田 甚 芜 , 仓 甚 虚 ﹔
服 文 采 , 带 利 剑 , 厌 饮 食 ,
财 货 有 余 ﹔ 是 为 盗 夸 。
非 道 也 哉 。
老 子: 「道 德 经」 : 第 五 十 四 章
善 建 者 不 拔 ,
善 抱 者 不 脱 , 子 孙 以 祭 祀 不 辍 。
修 之 于 身 , 其 德 乃 真 ﹔
修 之 于 家 , 其 德 乃 余 ﹔
修 之 于 乡 , 其 德 乃 长 ﹔
修 之 于 邦 , 其 德 乃 丰 ﹔
修 之 于 天 下 , 其 德 乃 普 。
故 以 身 观 身 ,
以 家 观 家 , 以 乡 观 乡 ,
以 邦 观 邦 , 以 天 下 观 天 下 。
吾 何 以 知 天 下 然 哉 。 以 此 。
老 子: 「道 德 经」 : 第 五 十 五 章
含 「 德 」 之 厚 , 比 于 赤 子 。
毒 虫 不 螫 , 猛 兽 不 据 , 攫 鸟 不 搏 。
骨 弱 筋 柔 而 握 固 。
未 知 牝 牡 之 合 而 峻 作 , 精 之 至 也 。
终 日 号 而 不 嗄 , 和 之 至 也 。
知 和 曰 「 常 」 ,
知 常 曰 「 明 」 。
益 生 曰 祥 。 心 使 气 曰 强 。
物 壮 则 老 , 谓 之 不 道 , 不 道 早 已 。
老 子: 「道 德 经」 : 第 五 十 六 章
知 者 不 言 , 言 者 不 知 。
挫 其 锐 , 解 其 纷 , 和 其 光 ,
同 其 尘 , 是 谓 「 玄 同 」 。
故 不 可 得 而 亲 , 不 可 得 而 疏 ﹔
不 可 得 而 利 , 不 可 得 而 害 ﹔
不 可 得 而 贵 , 不 可 得 而 贱 。 故 为 天 下 贵 。
老 子: 「道 德 经」 : 第 五 十 七 章
以 正 治 国 , 以 奇 用 兵 , 以 无 事 取 天 下 。
吾 何 以 知 其 然 哉 。 以 此 :
天 下 多 忌 讳 , 而 民 弥 贫 ﹔
人 多 利 器 , 国 家 滋 昏 ﹔
人 多 伎 巧 , 奇 物 滋 起 ﹔
法 令 滋 彰 , 盗 贼 多 有 。
故 圣 人 云 :
「 我 无 为 , 而 民 自 化 ﹔
我 好 静 , 而 民 自 正 ﹔
我 无 事 , 而 民 自 富 ﹔
我 无 欲 , 而 民 自 朴 。 」
老 子: 「道 德 经」 : 第 五 十 八 章
其 政 闷 闷 , 其 民 淳 淳 ﹔
其 政 察 察 , 其 民 缺 缺 。
是 以 圣 人 方 而 不 割 , 廉 而 不 刿 ,
直 而 不 肆 , 光 而 不 耀 。
祸 兮 福 之 所 倚 , 福 兮 祸 之 所 伏 。
孰 知 其 极 。 其 无 正 也 。
正 复 为 奇 , 善 复 为 妖 。
人 之 迷 , 其 日 固 久 。
老 子: 「道 德 经」 : 第 五 十 九 章
治 人 事 天 , 莫 若 啬 。
夫 唯 啬 , 是 谓 早 服 ﹔
早 服 谓 之 重 积 德 ﹔ 重 积 德 则 无 不 克 ﹔
无 不 克 则 莫 知 其 极 ﹔ 莫 知 其 极 , 可 以 有 国 ﹔
有 国 之 母 , 可 以 长 久 ﹔
是 谓 深 根 固 柢 , 长 生 久 视 之 道 。
老 子: 「道 德 经」 : 第 六 十 章
治 大 国 , 若 烹 小 鲜 。
以 道 莅 天 下 , 其 鬼 不 神 ﹔
非 其 鬼 不 神 , 其 神 不 伤 人 ﹔
非 其 神 不 伤 人 , 圣 人 亦 不 伤 人 。
夫 两 不 相 伤 , 故 德 交 归 焉 。
老 子: 「道 德 经」 : 第 六 十 一 章
大 邦 者 下 流 , 天 下 之 牝 ,
天 下 之 交 也 。
牝 常 以 静 胜 牡 , 以 静 为 下 。
故 大 邦 以 下 小 邦 , 则 取 小 邦 ﹔
小 邦 以 下 大 邦 , 则 取 大 邦 。
故 或 下 以 取 , 或 下 而 取 。
大 邦 不 过 欲 兼 畜 人 , 小 邦 不 过 欲 入 事 人 。
夫 两 者 各 得 所 欲 , 大 者 宜 为 下 。
老 子: 「道 德 经」 : 第 六 十 二 章
道 者 万 物 之 奥 。 善 人 之 宝 , 不 善 人 之 所 保 。
美 言 可 以 市 尊 , 美 行 可 以 加 人 。
人 之 不 善 , 何 弃 之 有 。
故 立 天 子 , 置 三 公 ,
虽 有 拱 璧 以 先 驷 马 ,
不 如 坐 进 此 道 。
古 之 所 以 贵 此 道 者 何 。
不 曰 : 求 以 得 , 有 罪 以 免 邪 。 故 为 天 下 贵 。
老 子: 「道 德 经」 : 第 六 十 三 章
为 无 为 , 事 无 事 , 味 无 味 。
图 难 于 其 易 , 为 大 于 其 细 ﹔
天 下 难 事 , 必 作 于 易 ,
天 下 大 事 , 必 作 于 细 。
是 以 圣 人 终 不 为 大 , 故 能 成 其 大 。
夫 轻 诺 必 寡 信 , 多 易 必 多 难 。
是 以 圣 人 犹 难 之 , 故 终 无 难 矣 。
老 子: 「道 德 经」 : 第 六 十 四 章
其 安 易 持 , 其 未 兆 易 谋 。
其 脆 易 泮 , 其 微 易 散 。
为 之 于 未 有 , 治 之 于 未 乱 。
合 抱 之 木 , 生 于 毫 末 ﹔
九 层 之 台 , 起 于 累 土 ﹔
千 里 之 行 , 始 于 足 下。
民 之 从 事 , 常 于 几 成 而 败 之 。
慎 终 如 始 , 则 无 败 事 。
老 子: 「道 德 經」 : 第 六 十 五 章
古 之 善 为 道 者 , 非 以 明 民 , 将 以 愚 之 。
民 之 难 治 , 以 其 智 多 。
故 以 智 治 国 , 国 之 贼 ﹔
不 以 智 治 国 , 国 之 福 。
知 此 两 者 亦 稽 式 。
常 知 稽 式 , 是 谓 「 玄 德 」 。
「 玄 德 」 深 矣 , 远 矣 , 与 物 反 矣 , 然 后 乃 至 大 顺 。
老 子: 「道 德 经」 : 第 六 十 六 章
江 海 之 所 以 能 为 百 谷 王 者 ,
以 其 善 下 之 , 故 能 为 百 谷 王 。
是 以 圣 人 欲 上 民 , 必 以 言 下 之 ﹔
欲 先 民 , 必 以 身 后 之 。
是 以 圣 人 处 上 而 民 不 重 , 处 前 而 民 不 害 。
是 以 天 下 乐 推 而 不 厌 。
以 其 不 争 , 故 天 下 莫 能 与 之 争 。
老 子: 「道 德 经」 : 第 六 十 七 章
天 下 皆 谓 我 道 大 , 似 不 肖 。
夫 唯 大 , 故 似 不 肖 。
若 肖 , 久 矣 其 细 也 夫 。
我 有 三 宝 , 持 而 保 之 。
一 曰 慈 ,
二 曰 俭 ,
三 曰 不 敢 为 天 下 先 。
慈 故 能 勇 ﹔ 俭 故 能 广 ﹔
不 敢 为 天 下 先 , 故 能 成 器 长 。
今 舍 慈 且 勇 ﹔ 舍 俭 且 广 ﹔
舍 后 且 先 ﹔ 死 矣 。
夫 慈 以 战 则 胜 , 以 守 则 固 。
天 将 救 之 , 以 慈 卫 之 。
老 子: 「道 德 经」 : 第 六 十 八 章
善 为 士 者 , 不 武 ﹔
善 战 者 , 不 怒 ﹔
善 胜 敌 者 , 不 与 ﹔
善 用 人 者 , 为 之 下 。
是 谓 不 争 之 德 ,
是 谓 用 人 之 力 ,
是 谓 配 天 古 之 极 。
老 子: 「道 德 经」 : 第 六 十 九 章
用 兵 有 言 :
「 吾 不 敢 为 主 , 而 为 客 ﹔
不 敢 进 寸 , 而 退 尺 。 」
是 谓 行 无 行 ﹔ 攘 无 臂 ﹔
扔 无 敌 ﹔ 执 无 兵 。
祸 莫 大 于 轻 敌 , 轻 敌 几 丧 吾 宝 。
故 抗 兵 相 若 , 哀 者 胜 矣 。
老 子: 「道 德 经」 : 第 七 十 章
吾 言 甚 易 知 , 甚 易 行 。
天 下 莫 能 知 , 莫 能 行 。
言 有 宗 , 事 有 君 。
夫 唯 无 知 , 是 以 不 我 知 。
知 我 者 希 , 则 我 者 贵 。
是 以 圣 人 被 褐 而 怀 玉 。
老 子: 「道 德 经」 : 第 七 十 一 章
知 不 知 , 尚 矣 ﹔ 不 知 知 , 病 也 。
圣 人 不 病 , 以 其 病 病 。
夫 唯 病 病 , 是 以 不 病 。
老 子: 「道 德 经」 : 第 七 十 二 章
民 不 畏 威 ,
则 大 威 至 。
无 狎 其 所 居 ,
无 厌 其 所 生 。
夫 唯 不 厌 ,
是 以 不 厌 。
是 以 圣 人 自 知 不 自 见 ﹔
自 爱 不 自 贵 。
故 去 彼 取 此 。
老 子: 「道 德 经」 : 第 七 十 三 章
勇 于 敢 则 杀 , 勇 于 不 敢 则 活 。
此 两 者 , 或 利 或 害 。
天 之 所 恶 , 孰 知 其 故 。
天 之 道 ,
不 争 而 善 胜 , 不 言 而 善 应 ,
不 召 而 自 来 , 繟 然 而 善 谋 。
天 网 恢 恢 , 疏 而 不 失 。
老 子: 「道 德 经」 : 第 七 十 四 章
民 不 畏 死 , 奈 何 以 死 惧 之 。
若 使 民 常 畏 死 , 而 为 奇 者 ,
吾 得 执 而 杀 之 , 孰 敢 。
常 有 司 杀 者 杀 。
夫 代 司 杀 者 杀 , 是 谓 代 大 匠 斲 ,
夫 代 大 匠 斲 者 , 希 有 不 伤 其 手 矣 。
老 子: 「道 德 经」 : 第 七 十 五 章
民 之 饥 , 以 其 上 食 税 之 多 , 是 以 饥 。
民 之 难 治 , 以 其 上 之 有 为 , 是 以 难 治 。
民 之 轻 死 , 以 其 上 求 生 之 厚 , 是 以 轻 死 。
夫 唯 无 以 生 为 者 , 是 贤 于 贵 生 。
老 子: 「道 德 经」 : 第 七 十 六 章
人 之 生 也 柔 弱 , 其 死 也 坚 强 。
草 木 之 生 也 柔 脆 , 其 死 也 枯 槁 。
故 坚 强 者 死 之 徒 , 柔 弱 者 生 之 徒 。
是 以 兵 强 则 灭 , 木 强 则 折 。
强 大 处 下 , 柔 弱 处 上 。
老 子: 「道 德 经」 : 第 七 十 七 章
天 之 道 , 其 犹 张 弓 欤 。
高 者 抑 之 , 下 者 举 之 ﹔
有 余 者 损 之 , 不 足 者 补 之 。
天 之 道 , 损 有 余 而 补 不 足 。
人 之 道 , 则 不 然 , 损 不 足 以 奉 有 余 。
孰 能 有 余 以 奉 天 下 , 唯 有 道 者 。
是 以 圣 人 为 而 不 恃 , 功 成 而 不 处 , 其 不 欲 见 贤 。
老 子: 「道 德 经」 : 第 七 十 八 章
天 下 莫 柔 弱 于 水 , 而 攻 坚 强 者 莫 之 能 胜 , 以 其 无 以 易 之 。
弱 之 胜 强 , 柔 之 胜 刚 ,
天 下 莫 不 知 , 莫 能 行 。
是 以 圣 人 云 :
「 受 国 之 垢 , 是 谓 社 稷 主 ﹔
受 国 不 祥 , 是 为 天 下 王 。 」
正 言 若 反 。
老 子: 「「道 德 經」」 : 第 七 十 九 章
和 大 怨 , 必 有 余 怨 ﹔
报 怨 以 德 , 安 可 以 为 善 。
是 以 圣 人 执 左 契 , 而 不 责 于 人 。
有 德 司 契 , 无 德 司 彻 。
天 道 无 亲 , 常 与 善 人 。
老 子:「道 德 经」 : 第 八 十 章
小 国 寡 民 。
使 有 什 伯 之 器 而 不 用 ﹔
使 民 重 死 而 不 远 徙 。
虽 有 舟 舆 , 无 所 乘 之 ,
虽 有 甲 兵 , 无 所 陈 之 。
使 民 复 结 绳 而 用 之 。
甘 其 食 , 美 其 服 , 安 其 居 , 乐 其 俗 。
邻 国 相 望 , 鸡 犬 之 声 相 闻 ,
民 至 老 死 , 不 相 往 来 。
老 子: 「道 德 经」 : 第 八 十 一 章
信 言 不 美 , 美 言 不 信 。
善 者 不 辩 , 辩 者 不 善 。
知 者 不 博 , 博 者 不 知 。
圣 人 不 积 , 既 以 为 人 己 愈 有 ,
既 以 与 人 己 愈 多 。
天 之 道 , 利 而 不 害 ﹔
圣 人 之 道 , 为 而 不 争 。
——老子“道德经原文”结束,《道德经全文》