精华内容
下载资源
问答
  • 数学有什么?

    2006-12-17 03:12:00
    无用之用 有这样一个传说,一次,数学家欧基里德教一个学生学习某个定理。结束后这个年轻人问欧基里德,他学了能得到什么好处。欧基里德叫过一个奴隶,他说:“给他3个奥波尔,他说他学了东西要得到好处。”在数学...

    无用之用

      有这样一个传说,一次,数学家欧基里德教一个学生学习某个定理。结束后这个年轻人问欧基里德,他学了能得到什么好处。欧基里德叫过一个奴隶,对他说:“给他3个奥波尔,他说他学了东西要得到好处。”在数学还非常哲学化的古希腊,探究世界的本原、万物之道,而要得到什么“好处”,受到鄙视是可以理解的。这就像另一个故事:在巴黎的一个酒吧里,一个姑娘问她的情人迟到的原因,那年轻人说他在赶做一道数学题,姑娘摇着脑袋,不解地问:“我真不明白,你花那么多时间搞数学,数学到底有什么用啊?”那年轻人长久地看着她,然后说:“宝贝儿,那么爱情,到底有什么用啊?”

      由经验构成的分散的知识,显然没有成体系的知识可信,我们历来都对知识的体系更有信任感。例如牛顿的力学体系,可以精确地计算物体的运动,即使推测1亿年的日食也几乎丝毫不差;达尔文以物种进化和自然选择为核心的进化论,把整个生物世界统括为一个有序的、有机的系统,使得我们知道不同物种之间的关系。

      但是,即使是经典的知识体系,也不足以始终承载我们的全部信任,因为新的经验、新的研究会调整、更新旧的知识体系,新理论会替代旧理论。爱因斯坦相对论的出现,使得牛顿的力学体系成为一种更广泛理论中的特例;基因学说的发展和化石证据的积累,使得达尔文进化论中渐变的思想受到挑战,这样的事例充满了整个科学发展的历史,让我们不时用怀疑的眼光打量一下那些仿佛无懈可击的知识体系,对它们心存警惕。

      不过,在人们追求确定性、可靠性的时候,还有一块安宁的绿洲,那就是数学。数学是我们最可信赖的科学,什么东西一经数学的证明,便板上钉钉,确凿无疑。另外,新的数学理论开拓新的领域,可以包容但不会否定已有的理论。数学是惟一一门新理论不推翻旧理论的科学,这也是数学值得信赖的明证。

      终极的确定

      数学追求什么?我们称古希腊的贤哲泰勒斯是古代数学第一人,是因为他不像埃及或巴比伦人那样,对任意一个规则物体求数值解,他的雄心是揭示一个系列的真理。比如圆,他的答案不是关于一个特殊圆,而是任意圆,他对全世界所有的圆感兴趣,他创造的理想的圆可以断言:任何经过圆心的直线都将圆分割为两等分,他找到的真理揭示了圆的性质。

      数学要求普遍的确定性。

      数学要划清结果和证明的界限。

      世界再变幻不定,我们也总要有所凭信,有所依托,把这种凭信的根据推到极致,我们能体会到数学的力量。数学之大用也在于此。

      我们的先人很早就开始用数学来解决具体的工程问题,在这方面,各古文明都有上佳的表现,但是古希腊人对数学的理解更值得我们敬佩。首先是毕达哥拉斯学派,他们把数看作是构成世界的要素,世上万物的关系都可以用数来解析,这绝不是我们现代“数字地球”之类的概念可以比拟的,那是一种世界观,万物最终可以归结为数,由数学说明的东西可以成为神圣的信仰,我想,持这样想法的人,一定对自然常存敬畏,不会专横自欺的。

      其次,古希腊人把数学用于辩论,他们要求数学提供关于政治、法律、哲学论点的论据,要求绝对可靠的证据,要求“不可驳斥性”;他们也不满足于(例如埃及、巴比伦前辈那样的)经验性的证据,而是进一步要求证明,要求普遍的确定性。多么可爱、严正的要求!有这样要求的人,必定明达事理,光明磊落。

      为了保证思想可靠,古希腊的思想家制定了思想的规则,在人类历史上,思想第一次成为思想的对象,这些规则我们称之为逻辑。比如不可同时承认正命题和反命题,换句话说,一个论点和它的反论点不能同时为真,即矛盾律;比如一正论点与反论点不可同时为假,即排中律。所有这些努力,都特别体现着人类对确定、可靠的知识的追求,一部数学史,就是人类不断扩大确知领域的历史。 

    展开全文
  • 数学有什么??

    千次阅读 2005-04-28 21:42:00
    --------------本文转载自www.shumo.com 无用之用 有这样一个传说,一次,数学家欧基里德教一个学生学习某个定理。结束后这个年轻人问欧基里德,他学了能得到什么好处。欧基里德叫过一个奴隶,他说:“给他3个奥...

     --------------本文转载自www.shumo.com

     无用之用

      有这样一个传说,一次,数学家欧基里德教一个学生学习某个定理。结束后这个年轻人问欧基里德,他学了能得到什么好处。欧基里德叫过一个奴隶,对他说:“给他3个奥波尔,他说他学了东西要得到好处。”在数学还非常哲学化的古希腊,探究世界的本原、万物之道,而要得到什么“好处”,受到鄙视是可以理解的。这就像另一个故事:在巴黎的一个酒吧里,一个姑娘问她的情人迟到的原因,那年轻人说他在赶做一道数学题,姑娘摇着脑袋,不解地问:“我真不明白,你花那么多时间搞数学,数学到底有什么用啊?”那年轻人长久地看着她,然后说:“宝贝儿,那么爱情,到底有什么用啊?”

      由经验构成的分散的知识,显然没有成体系的知识可信,我们历来都对知识的体系更有信任感。例如牛顿的力学体系,可以精确地计算物体的运动,即使推测1亿年的日食也几乎丝毫不差;达尔文以物种进化和自然选择为核心的进化论,把整个生物世界统括为一个有序的、有机的系统,使得我们知道不同物种之间的关系。

      但是,即使是经典的知识体系,也不足以始终承载我们的全部信任,因为新的经验、新的研究会调整、更新旧的知识体系,新理论会替代旧理论。爱因斯坦相对论的出现,使得牛顿的力学体系成为一种更广泛理论中的特例;基因学说的发展和化石证据的积累,使得达尔文进化论中渐变的思想受到挑战,这样的事例充满了整个科学发展的历史,让我们不时用怀疑的眼光打量一下那些仿佛无懈可击的知识体系,对它们心存警惕。

      不过,在人们追求确定性、可靠性的时候,还有一块安宁的绿洲,那就是数学。数学是我们最可信赖的科学,什么东西一经数学的证明,便板上钉钉,确凿无疑。另外,新的数学理论开拓新的领域,可以包容但不会否定已有的理论。数学是惟一一门新理论不推翻旧理论的科学,这也是数学值得信赖的明证。

      终极的确定

      数学追求什么?我们称古希腊的贤哲泰勒斯是古代数学第一人,是因为他不像埃及或巴比伦人那样,对任意一个规则物体求数值解,他的雄心是揭示一个系列的真理。比如圆,他的答案不是关于一个特殊圆,而是任意圆,他对全世界所有的圆感兴趣,他创造的理想的圆可以断言:任何经过圆心的直线都将圆分割为两等分,他找到的真理揭示了圆的性质。

      数学要求普遍的确定性。

      数学要划清结果和证明的界限。

      世界再变幻不定,我们也总要有所凭信,有所依托,把这种凭信的根据推到极致,我们能体会到数学的力量。数学之大用也在于此。

      我们的先人很早就开始用数学来解决具体的工程问题,在这方面,各古文明都有上佳的表现,但是古希腊人对数学的理解更值得我们敬佩。首先是毕达哥拉斯学派,他们把数看作是构成世界的要素,世上万物的关系都可以用数来解析,这绝不是我们现代“数字地球”之类的概念可以比拟的,那是一种世界观,万物最终可以归结为数,由数学说明的东西可以成为神圣的信仰,我想,持这样想法的人,一定对自然常存敬畏,不会专横自欺的。

      其次,古希腊人把数学用于辩论,他们要求数学提供关于政治、法律、哲学论点的论据,要求绝对可靠的证据,要求“不可驳斥性”;他们也不满足于(例如埃及、巴比伦前辈那样的)经验性的证据,而是进一步要求证明,要求普遍的确定性。多么可爱、严正的要求!有这样要求的人,必定明达事理,光明磊落。

      为了保证思想可靠,古希腊的思想家制定了思想的规则,在人类历史上,思想第一次成为思想的对象,这些规则我们称之为逻辑。比如不可同时承认正命题和反命题,换句话说,一个论点和它的反论点不能同时为真,即矛盾律;比如一正论点与反论点不可同时为假,即排中律。所有这些努力,都特别体现着人类对确定、可靠的知识的追求,一部数学史,就是人类不断扩大确知领域的历史。

    展开全文
  • 关于可维护、可复用、可扩展、灵活性好的理解: 生活中:印刷术和活字印刷,当需要某些内容修改时,印刷术只要有一丁点变化,就需要重头再来;而活字印刷只需要进行部分修改即可。 可维护:只更改要更改的内容; ...

    关于可维护、可复用、可扩展、灵活性好的理解:

    生活中:印刷术和活字印刷,当需要对某些内容修改时,印刷术只要有一丁点变化,就需要重头再来;而活字印刷只需要进行部分修改即可。

    可维护:只更改要更改的内容;

    可复用:之前的内容并非用完就无用,后面仍可使用;

    可扩展:若要新增内容,只需在原来内容的基础上增加新内容即可;

    灵活性:内容可以稍作修改既可以满足要求。

    封装、继承、多态把程序的耦合度降低,使用设计模式使得程序更加灵活,容易修改并易于复用。

    UML类图

    在学习设计模式时,UML类图是必不可少的工具,通过UML类图可以查看所设计的程序是否足够优秀。判断所设计的代码是否具有可维护性、可扩展性、可复用性、灵活性等。在这里插入图片描述
    (图片来自大话数据结构)

    • 类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体显示;第二层是类的特性,通常是字段和属性;第三层是类的操作,通常是方法或行为;注意前面的符号,“+”:public,“-”:private,“#”:protected

    • 接口

      与类图的区别主要是顶端有<<interface>>显示;第一行是接口名称,第二行是接口方法。接口还有棒棒糖表示法,如上图所示,唐老鸭实现讲人话这个接口,在圆圈旁边是接口的名称。

    • 继承(类与类)

      空心三角形+实线;空心三角形在被继承端,即父类

    • 实现(类与接口)

      空心三角形+虚线;空心三角形在被实现端

    • 关联

      当一个类需要知道另一个类时,如企鹅需要知道气候变化,需要了解气候规律。用实线箭头表示,箭头指向被了解方

    • 聚合

      比如:每只大雁都属于一个雁群,而一个雁群可以有多只大雁;它们之间就满足聚合关系。聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合用空心菱形+实现箭头表示,菱形在B对象上,箭头指向A对象

    • 合成/组合

      比如:鸟和翅膀就是组合关系,是一种强的‘拥有’关系,体现严格的部分和整体的关系,两者生命周期一样。合成关系用实心菱形+实线箭头来表示,实心菱形在拥有端,箭头指向被拥有端,在合成关系的连线两端还有数字,称为基数,表示这一类可以有几个实例,

    • 依赖

      如上图的动物需要依赖氧气、水等用虚线箭头表示,箭头指向被依赖端

    展开全文
  • Java常见垃圾收集器GC算法整理

    千次阅读 2016-12-07 20:55:56
    Java垃圾回收器的概念看完一遍总是不能深入的理解和记忆,本文主要是读完《深入理解java虚拟机》一书的整理,以便后续复习之用。 二.概述 1.GC概念 在Java中,当没有对象引用指向原先分配给某个对象的内存时,...

    一.题记

    Java垃圾回收器的概念看完一遍总是不能深入的理解和记忆,本文主要是对读完《深入理解java虚拟机》一书的整理,以便后续复习之用。

    二.概述

    1.GC概念

    在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾收集意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾收集也可以清除内存记录碎片。由于创建对象和垃圾收集器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的一端,JVM将整理出的内存分配给新的对象。

    2.GC算法

    对于垃圾回收可以从基本回收策略、分区对待方式、系统线程进行划分。

    (1).基本回收策略

    1).引用计数器(Reference Counting)

    说明:引用计数器是垃圾收集器早期的算法,是唯一没有使用根级的垃圾回收法,通过使用引用计数器来区分存活对象和不再使用的对象,通常堆中的每个对象都会对应一个引用计数器,当每次创建一个对象并指向其引用被赋给一个变量时,该对象的引用计数器被设置为1。以后每当其引用被赋值给一个不同的变量时,该对象的引用计数就加1,当对象丢弃不在使用既出了作用域,该对象的引用计数器减1。任一对象一旦其引用计数器为0,对象就满足了垃圾回收条件。

    优点:引用计数收集器算法简单,适于做增量收集,对于程序不能被长时间打断的实时环境特别适合,另外,收集过程也有助于改进引用局部性。

    缺点:(1).无法处理循环引用的问题既两个或多个对象之间相互引用,因为它们的引用计数永远不会为0。(2).每次增减引用计数都带来额外开销,而且该算法还需要编译器的高度配合。

    2).标记-清除(Mark-Sweep)

    说明:垃圾收集过程执行分两阶段。在标记阶段,垃圾收集器遍历引用树,标记每一个遇到的对象。在清理阶段,未被标记的对象被释放,相应内存被返还待用,此算法需要暂停整个应用。

    优点:可以轻易回收循环结构,而且不存在为维护引用计数而付出的额外开销和对编译器的依赖。

    缺点:(1).在清理阶段,堆中的所有对象,不论是否可达,都会被访问。一方面这对于可能有页面交换的堆所依赖的虚存系统有着非常负面的性能影响;另一方面,因为其中很大一部分对象可能是垃圾,这就意味着垃圾收集器把大量精力都花费在检查和处理垃圾上面了。无论从哪个角度来看,该算法都可能产生收集暂停时间过长、收集开销偏大的问题。(2).标记并清理收集器的另一个不足是它容易导致堆的碎片化,从而引发引用局部性或者大对象分配失败等方面的问题。

    3).标记-整理(Mark-Compact)

    说明:标记并清理收集器结合了"标记-清除"和"复制"两个算法的优点,分为两个阶段,第一阶段从根节点开始标记所有被引用对象,第二阶段遍历整个堆,把清除未标记对象并且把存活对象"压缩"到堆的其中一块,按顺序排放。

    优点:此算法避免了"标记-清除"算法的碎片问题,同时也避免了"复制"算法的空间问题。

    4).复制(Copying)

    说明:复制的收集算法将可用内存按容量划分为大小相等的两块,每次只是用其中一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。

    优点:复制的收集算法每次都是对其中的一块进行内存回收,没存分配时也就不用考虑内存碎片等复杂情况,只要移动堆顶指针,按顺序分配内存即可,实现简单,运行高效。

    缺点:需要两倍内存空间。

    (2).分区对待方式

    1).增量收集(Incremental Collecting)

    说明:实时垃圾回收算法,即在应用进行的同时进行垃圾回收。

    2).分代收集(Generational Collecting)

    说明:基于对对象生命周期分析后得出的垃圾回收算法。把对象分为新生代、老年代、持久代,对不同生命周期的对象使用不同的算法进行回收。

    备注:在新生代中,每次垃圾收集时都发现有大批对象死去,只有少量存活,那么就选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集。而老年代中因为对象存活率高、没有额外空间对它进行分配担保,就必须使用标记-清理或标记-整理算法来进行回收。

    (3).系统线程

    1).串行收集

    说明:串行收集使用单线程处理所有垃圾回收工作。

    优点:无需多线程交互,实现容易,而且效率比较高。

    缺点:会产生系统停顿,单线程。

    适用情况:数据量比较小(100M左右),单处理器下并且对响应时间无要求的应用。

    2).并行收集

    说明:并行收集使用多线程处理垃圾回收工作。

    优点:速度快,效率高,理论上CPU数目越多,越能体现出并行收集器的优势。

    缺点:会产生系统停顿,多线程,可以限制线程数量。

    适用情况:"对吞吐量有高要求",多CPU、对应用响应时间无要求的中、大型应用。举例:后台处理、科学计算。

    3).并发收集

    说明:可以保证大部分工作都并发进行(应用不停止),垃圾回收只暂停很少的时间。

    优点:不会产生系统停顿,多线程,可以一个线程也可以和应用程序一起组成多线程。

    适用情况:"对响应时间有高要求",多CPU、对应用响应时间有较高要求的中、大型应用。举例:Web服务器/应用服务器、电信交换、集成开发环境。

    展开全文
  • javascript中沙箱

    千次阅读 2012-07-08 14:32:33
    和 ajax一样,这种sandbox coding风格是一种现象,而不是本质,本身并无分,要看你怎么,因此,理解并合理运用才是我们“js沙箱”一个正确基本态度,“沙箱无用论”是很业余观点。 ——沙箱是一...
  • 但说好要发表日期到了,还是无奈坐下来读书,其实细细想来也许这个真不比技术没用,无用之用乃为大用,这样想着也就坐下来去看它了。  建模是研究系统重要手段和前提。凡是用模型描述系统因果关系或相互...
  • module 字段很有可能加入 package.json 规范中。另外,越来越多 npm 包已经同时支持两种模块,使用者可以根据情况自行选择,并且实现也比较简单,只是模块导出方式。 注意:...
  • C语言为什么高效

    2018-09-17 12:36:36
    不过具体还要取决于具体编译器,不同编译器代码翻译是不一样,有编译器会理解代码中无用的语句进行删除。C语言在开发初就是为了弥补汇编语言不能跨平台和模块化不好等。。。C语言在开发操作...
  • 但是数据块里面的一些信息其实是没有用的,比如用Photoshop保存了一张png图片,图片里就会有一个区块记录“这张图片是由photshop创建的”,很多类似这些信息都是无用的,如果用photoshop的...
  • 图像进行裁剪,只保留中间有动作部分,去不无用的边缘 视频进行关键帧采样,不用每帧都处理 多个关键帧组成输入,表述完整动态过程。比如每次输入使用4个关键帧 所有奖励都剪裁成
  • 关于JS 沙箱(转)

    2016-12-01 17:09:00
    和 ajax一样,这种sandbox coding风格是一种现象,而不是本质,本身并无分,要看你怎么,因此,理解并合理运用才是我们“js沙箱”一个正确基本态度,“沙箱无用论”是很业余观点。——沙箱是一个...
  • 首先:语言最终都是在机器上执行,需要编译...不过具体还要取决于具体编译器,不同编译器代码翻译是不一样,有编译器会理解代码中无用的语句进行删除。C语言在开发初就是为弥补汇编语言不能跨平台和模...
  • 学习进度

    2016-11-24 15:48:00
    只有把点整合到面里面才可以说是这门技术有了一个真正的理解,就如一个练武之人,只有把单个招式融合进打斗的过程,才能知道招式的真谛,不然即使这招练的多么纯熟,不能融合进真正的打斗中,那么招式也是无用之招...
  • 尹成JAVA快速入门

    2020-12-08 15:12:43
    本视频语言简洁,通俗易懂,将难以理解的编程问题简单清晰语言描述,让你更容易理解。 特色三:内容丰富 本视频讲解java语言知识更加丰富翔实,较其他视频,本视频讲解java语言知识更多更...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    长选项必须用的参数在使用短选项时也是必须的。 3.主要参数 --backup[=CONTROL]:为每个已存在的目的地文件进行备份。 -b:类似 --backup,但不接受任何参数。 -c:(此选项不作处理)。 -d,--...
  • 他善于容易理解的方法和语言说明复杂概念。许多人认为他开创了计算机书籍贴近大众新风,为我国计算机普及事业做出了重要贡献。 谭浩强教授曾获全国高校教学成果国家级奖、国家科技进步奖,以及北京市政府...
  • 在设置→显示器里不要让分辨率超过1343x895,最大只能到这个,因为超过这个会引发一些唤醒后屏幕显示问题(比如唤醒后屏幕只显示到四分三),而且不要觉得这个分辨率小,因为这个是hipdi分辨率,跟你理解的...
  • SSO-WebDemo

    2013-08-12 20:25:57
    所以要JDK1.5是因为笔者使用了一个线程安全高性能Java集合类“ConcurrentMap”,只有在JDK1.5中才有。 这三个Web应用完全可以单独部署,它们可以分别部署在不同机器,不同操作系统和不同J2EE产品上...
  • 则反馈太难入门。所以,这里将结合自己 RxJS 理解,通过 RxJS 实现原理、基础实现及实例来一步步分析,提供 RxJS 较为全面指引,感受下使用 RxJS 编码是怎样体验。 目录 ...
  • 实际编程来说,理解内存管理器能力与局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存管理。本文将介绍手工、半手工以及自动内存管理实践基本概念。 追溯到在 Apple II 上...
  • 提取两个文件内容不同处.cmd 文本内容互换.bat 显示只有指定个数字符行.cmd 显示某两个字符及其之间字符.cmd 显示随机5个数.cmd 查找偶数行内容.cmd 查找行中第一个数字串.cmd 检测IP格式是否正确.cmd 每6...
  • 操作系统(内存管理)

    热门讨论 2009-09-20 12:55:25
    实际编程来说,理解内存管理器能力与局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存管理。本文将介绍手工、半手工以及自动内存管理实践基本概念。 追溯到在 Apple II 上进行...
  • 理解 webpack 文件打包机制有助于你更好地实现持久化缓存。 例子大概是这样描述:它由两个页面组成 pageA 和 pageB <pre><code>javascript // src/pageA.js import componentA from './common/...
  • 不知道这样理解对不对?  属性名称描述  android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击链接。可选值(none/web/email/phone/map/all)  android:autoText如果设置,将...
  • 提取两个文件内容不同处.cmd 提取文件(夹)属性.cmd 提取用户列表.cmd 收集系统信息.cmd 改IP;网关;CDKey;网络号.cmd 改变我文档路径.bat 改变我文档路径到D盘.bat 改变窗口颜色并显示当前颜色代码...
  • 深入学习shell脚本艺术

    热门讨论 2011-02-22 04:01:01
    本书得以成稿,我(黄毅)要多谢我的女朋友,本该给予她的时间我用来了翻译,多谢你的理解,你是一个很棒的女朋友! 译者 杨春敏 黄毅 2006.5.15 Advanced Bash-Scripting Guide 高级Bash脚本编程指南>> 一本...
  • 这时你或许会担心这么多Header集成在一起,但是平时只会用到一个,是不是要引入很多无用的代码和资源? V2.x 版本已经把依赖库拆分成8个包啦,用到时候自行引用就可以啦! refresh-layout-kernel 核心必须依赖 ...
  • DNS也叫域名服务,它作用是将某个域名与IP地址对应,从而将人易于理解的域名转达化为易于计算机寻址IP地址。而如果活动目录中资源对应是LDAP标识,那么只需要DNS中有这个标识定位记录就可以很方便地供用户...
  • 重要理解原型链<code>prototype chain</code>,继承基本就是原型链拷贝或者引用。 理解原型链<code>prototype chain</code>: <p></p><pre><code> javascript function A() {} function B() {} ...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

对无用之用的理解