什么是人工智能?

2023-05-16

Extinguished philosophies lie about the cradle of every science as the    

strangled snakes beside that of Hercules. - adapted from T. H. Huxley     

                                

        WHAT IS ARTIFICIAL INTELLIGENCE?       

                                

             John McCarthy              

         Computer Science Department            

           Stanford University              

           Stanford, CA 94305              

           jmc@cs.stanford.edu               

        http://www-formal.stanford.edu/jmc/              

           1999 Nov 23, 8:39 p.m.                  

          Revised November 23, 1999:                 

                                 

1.基本问题                               

问:什么是人工智能?

答:人工智能是实现具有智能的机器,尤其是具有智能的计算机程序的科学和工程

技术。人工智能与用计算机理解人的智力的目标有一些关系,但它并不一定要使用

生物学上的方法。

 

问:哦,那什么是智能呢?

答:智能是指达到目标的能力中的计算部分。人、许多动物和一些机器具有不同类

别不同程度的智能。

 

问:是否存在一种一般意义上的"智能",它不取决于人的智能

答:没有。我们现在还不能确定在一般意义上怎样的计算过程可以被称为"智能"

我们知道智能的某些机制,而对其他的并不了解。                      

 

问:智能是否是孤立的?比如,是否可以简单地判断"某台机器是否有智能"

答:不。智能包含很多机制,人工智能研究者已经深入了解了其中的某些部分,并

且能够用计算机实现这些机制,而对另一些部分则不行。如果某个任务只需要现在

已经理解得非常好的那些机制,则计算机程序能够相当出色地完成。这样的程序就

算有"一些智能"了。

 

问:人工智能就是模拟人类的智能么?

答:有时是,但并不总是,或者说,往往不是。一方面,我们可以通过观察人类在

解决问题时的方式来对智能有所了解;另一方面,人工智能中的大量的成果不是通

过研究人或动物的活动,而是通过直接研究需要智能解决的各种问题得到的。人工

智能研究者可以自由的采用人类所没有使用的方法和超出人类的计算能力。

 

问:那么IQ呢?计算机程序会有么?

答:没有。IQ是以孩子们的智力发展速度为基础的。它是被测人得到的分数所对应

的年龄与他的实际年龄之比。这种衡量方法以相对合适的方式推广到成年人。IQ

高低和在实际生活中的成功失败有着良好的关联,但是对于计算机则不然,在IQ

试中得到的高分和他们在实际中用处的大小没什么关系。比如说,一个小孩反向复

述一长串有序数字的能力可以反映他在其他方面的能力,这可能是因为这可以衡量

这个小孩的实时计算能力。然而,一个功能非常有限的计算机都可以完成其"数字

范围"的序列长度。

  当然,IQ测试中的一些问题也还是对人工智能的有益的挑战。

 

问:人类与计算机之间有关智能的其他比较如何呢?

答:人类智能研究的最主要一位研究者Arthur R. Jensen [Jen98]提出一个"启发

假说":所有的正常人都具有相同的智能机制,智力上的差别是由于"生物化学及生

理学上的数量条件"不同。我把这些条件看作为速度、短时程记忆以及形成准确并

可恢复的长时程记忆的能力。

  Jensen关于人类智能的假说正确与否,尚无定论;不过,现在人工智能中的情况

却相反。

  计算机有极高的速度和巨大的容量,但它的能力取决于程序设计者充分理解的并

在程序中实现了的智能机制。有些一般要到十几岁的时候人才可能具有的能力现在计

算机已经具备了,而另一些两岁大的小孩就有的能力计算机却没有。由于认识科学还

不能够精确的定义人具有的能力是什么,我们对它的理解就更加困难。一般来说,人

工智能的智能机制的构成与人的智能机制的构成常常是不同的。

  只要人在某些问题上表现得比计算机好,或者计算机通过使用大量的计算也只能

做出和人一样的表现,就说明程序的设计者对于高效解决这个问题所需要的智能机制

的理解还不够充分。

 

问:人工智能的研究是什么时候开始的?

答:二战后,许多人开始各自独立的进行智能机器的研究。英国数学家Alan Turing

许是第一个。他在1947年就这个问题做了一个讲演。他还首次确认利用可编程计算机

研究人工智能的方法要比直接制造机器进行研究要好得多。到五十年代末,已经有许

多人工智能的研究者,他们中的大部分都是在可编程计算机上进行工作的。

 

问:人工智能打算将人的"思想"植入计算机中么?

答:一些研究者表示他们有这样的打算,但可能他们只是用这个词打个比方。人的

"思想"具有非常多的特性,而我不认为会有人真的要模仿实现所有的特性。

 

问:什么是图灵测试?

答:Alan Turing 1950的文章《计算机器和智能》[Tur50]讨论了在什么条件下机器

可以被认为是具有智能的。他认为如果一台机器可以成功地使一个具有一定知识的

观察者认为他是人,那么就当然可以认为这台机器是具有智能的。这个测试标准对

除了哲学家外的大多数人来说都是可以接受的。测试中的那个观察者可以通过一个

电传打字机与被测机器和一个人进行交互,这样做是为了避免让机器模仿人的外表

和声音。那个人试图说服观察者他是个人;那台机器则试图欺骗观察者它是人。

  图灵测试只是一种测试。一台通过了图灵测试的机器当然可以被认为是具有智

能的,但是一台对人类了解不多而不能很好的模仿人的机器也可以被认为是具有智

能的。Daniel Dennett写的《脑力劳动的产物》(Brainchildren [Den98])一书对

于图灵测试及各种部分图灵测试(对测试中的观察者在人工智能方面的知识及询问

的内容有所限制)做了很精彩的讨论。结果表明一些功能很差的程序也会被一些人

轻易的认为是具有智能的。

 

问:人工智能的目标是达到人类水平的智能么?

答:是的。最终的努力就是要使计算机程序可以和人一样在世界上解决问题并达到

目标。然而,在特殊的研究领域上的工作很多人并没有这样的雄心。

 

问:人工智能距离达到人类水平的智能还有多远?什么时候它将成为现实呢?

答:有少数人认为人类水平的智能可以通过这样的方式得到:即基于现在人们用来

编写并积累为大量的知识的语言可以表示知识这一事实,使用它来写大量的程序,

以达到人类水平的智能。

  但是,绝大多数人工智能的研究者认为还需要一些新的基本的思想。因此,现

在还不能预测人类水平的智能何时才能实现。

 

问:计算机是用来产生智能的合适的机器么?

答:计算机可以通过编程模拟任何一种机器。许多研究者发明了一些非计算机的机

器,希望它们在某些方面可以比计算机具有更多的智能。然而,他们通常在计算机

上模拟他们发明的机器后就怀疑这种新的机器是否值得在实际中实现。因为不计其

数的资金投入已经使得计算机的速度越来越快,另一种机器实际实现的性能必须要

比它在计算机上的模拟实现的性能要好的多才行。

 

问:对于获得智能,现在的计算机的速度足够快么?

答:一些人认为在需要新思想的同时也需要更快的计算机。我个人的观点是,只要

我们知道如何编程实现智能,三十年前计算机的速度就已经是足够的了。当然,除

了人工智能研究者的远大目标外,计算机还会保持越来越快。

 

问:并行计算机怎么样呢?

答:具有多个处理器的计算机的速度比单处理机计算机的速度要快得多。并行本身

并没有提供任何优势,而且并行机比较难以使用。只有当需要很高的速度时,使用

这种难以使用的机器才是必须的。

 

问:制造可以通过阅读和从经历中学习而自我提高的"孩子似的机器"如何呢?

答:这个想法从20世纪40年代以来,已经被多次提出了。最终,它将会被制造出来。

然而,目前人工智能程序还不能象孩子那样有效地从自然经验中学习。现在的程序

还不能很好的理解语言,更不要说从阅读中学习了。

 

问:一个人工智能系统能够通过思考人工智能而靠它本身的努力不断提高自己的智

能水平?

答:我想是可以的。但是人工智能现在还没有达到可以实现这样的过程的水平。

 

问:可以谈谈国际象棋么?

答:一位俄罗斯的人工智能研究者Alexander Kronrod认为"国际象棋是人工智能研

究中的果蝇"。他在这里打了个比方,果蝇常被遗传学家用来对遗传进行研究。下棋

需要某种智能机制,但对其他的一些机制则不需要。国际象棋的程序现在可以达到

大师级的水平,但和人类棋手比较起来,它只使用了很简单的智能机制,即用大量

的计算来代替理解。一旦我们对于下棋的智能机制有了更好的了解,我们就可以做

出一个比现在需要的计算少很多,但同样有着人类下棋水平的象棋程序。

  不幸的是,制造下棋程序现在更多的是用来作为商业方面的竞争手段,而不是

作为一种科学领域的研究方法。这就如同1910年开始组织果蝇比赛以后,遗传学家

们就集中力量为赢得比赛而饲养果蝇一样。

 

问:再谈谈围棋好么?

答:中国和日本的围棋也是用两个棋手依次在一个棋盘下子。围棋暴露了当前我们

对人类下棋的智能机制理解的不足。尽管也做了相当多的研究(没有在国际象棋上

的研究多),但围棋程序的棋艺还是很差。这个问题可能是由于在围棋中的一个棋

局可以被自然的分成一些子棋局,然后先独立的分析每个子棋局再分析各子棋局之

间的联系。人可以在下棋时使用这样的方法,但是围棋程序就不可以,它只能把整

个棋盘作为一个整体考虑。下棋程序只能利用大量的计算来弥补这种智能机制的缺

失。这种计算通常是比人要多上千倍,而对于深蓝而言则是数以百万倍。

  总会有一天,人工智能的研究者可以克服这种令人反感的缺点。

 

问:不是有些人认为人工智能是有害的想法么?

答:哲学家John Searle认为非生物的机器会拥有智能的想法是不合逻辑的。哲学

Hubert Dreyfus认为人工智能是不可能实现的。计算机科学家Joseph Weizenbaum

认为人工智能是反人类不道德的猥亵想法。各种各样的人坚持既然现在人工智能还

没达到人类水平的智能,那它一定是不可能达到的了。还有一些人则对他们投资的

公司破产感到失望。

 

问:计算理论和计算复杂性理论对于人工智能有没有关键性的作用?[注:计算理论

和计算复杂性理论是数理逻辑和计算机科学的相当有技巧的分支,并且解决其中的

问题也需要相当的技巧。]

答:不。那些理论和人工智能相关,但并不能解决人工智能的基本问题。

    20世纪三十年代,以Kurt GodelAlan Turing为代表的数理逻辑学家们确

定不存在算法可以判定某些重要的数学领域中的所有问题。一阶逻辑中命题真假的

判定是一个例子;一个多变量的多项式等式是否有整数解是另一个例子。但人类一

直在解决这些领域中的问题。这个结果给出了这样的一种观点(通常还有所夸大),

即计算机在本质上是不能够做一些人类可以完成的事情的。可是,人们也不能保证

人类可以解决这些领域中的任何一个问题。

    20世纪六十年代,以Steve CookRichard Karp为代表的计算机科学家们

建立了NP完全性的理论。一个NP完全的问题是可解的,但极可能是需要和问题规模

成指数式的时间。命题演算中命题的可满足问题是一个NP完全问题的基本例子。人

类常常可以用比一般算法短很多的时间来解决某些特殊问题,但对于一般的问题还

是不能很快地解决。

    人工智能中重要的是得到能够和人一样解决问题的算法。确认好的算法是

否存在的领域是重要的,但众多人工智能问题的求解并不和这一领域相关。

    关于一般各类问题的难度的理论称为计算复杂性理论。到目前为止,这个

理论还没有像曾经期望的那样与人工智能产生相互影响。人和人工智能程序在问题

求解中的成功所依赖的问题的属性和问题求解的方式,好像是复杂性的研究者和人

工智能的研究者都不能完全确定的。

    由SolomonoffKolmogorovChaitin各自独立发展起来的算法复杂性理

论也是一样的。它定义一个符号对象的复杂性为可以生成它的最短程序的长度。已

经证明了寻找一个最短的或者接近最短的程序的问题是不可解的,但是用短的可以

生成这些符号的程序来表示它们常常是很有启发性的,当然你并不能证明这个程序

是最短的。

 2 人工智能的分支

问:人工智能的分支有那些?

答:这里列出了一些,但是有些分支在这里没有出现,因为没有人能够确认

它们,这其中的有些被认为是概念或主题,而不是完整的分支。

 

逻辑人工智能

一般来说,一个程序所知道的关于这个世界的知识是在特定的情形下的事实,

在这个情形中程序必须有所动作,并且它的目标是把所有这些用数理逻辑的语

句表示出来。程序通过推理达到目标的适当的行为来决定该怎么做。处理这个

问题最早的文章是[McC59],而[McC89]是近期的总结,[McC96]列出了一些包含

在逻辑人工智能中的概念,[Sha97]则是一份重要的文件。

 

搜索

人工智能程序经常要搜索大量的可能性,例如,在棋类游戏中的移动或通过定理

证明程序来推理。在很多不同的领域,人们正在继续发现各种方法来提高程序的

效率。

 

模式识别

当一个程序观察某类事物的时候,它通常被设计成所见事物与模式的比较。例如,

一个视觉为了找到一张脸,它会试图去匹配一个场景中的眼睛和鼻子的模式。更

复杂的模式,例如一个自然语言的文本,棋类游戏中的一个位置,或被研究的事

件的历史。这些更复杂的模式比绝大多数已经被研究过的简单模式需要更不同的

方法。

 

表示 

关于世界的知识必须以某种方式表示出来。通常使用的是数理逻辑的语言。

 

推理

从一些事实可以推出另一些事实。对某些目的来讲,数理逻辑演绎已经够用了,

但是自从70年代以来,已经发展了一种叫做非单调推理的方法。

 

常识知识和常识推理

这个领域是人工智能距离人的水平最远的,尽管自从50年代以来这一直是一个非

常活跃的研究领域。虽然取得了一些相当大的进展,比如非单调推理系统和行为

理论的发展,但是我们需要更多的新思想。Cyc系统包含了大量的但并不可靠的常

识事实的集合。

 

从经验中学习

程序必须做到这个。对人工智能的基于连接和神经网络处理就是专门做这个的。还

有包括对用逻辑表达的法则的学习。[Mit97]是一本关于机器学习的本科教材。程序

只能学习那些能够被他们的形式所表示的事实和行为,但是不幸的是,学习系统都

是基于非常有限的表示信息的能力的。

 

规划

规划程序以关于世界(特别是关于行为的结果的事实)或关于特殊情形和目标表述

的一般事实开始。然后,它们生成一个达到这个目标的策略。在很多共同的情况下,

这个策略就是一系列的行为。

 

认知论 

这是对我们需要用来解决世界中的问题的知识的种类的研究。                          

 

存在论

存在论研究存在的事物的种类。在人工智能中,程序和语句要处理大量的对象,而我

们要研究的是这些对象的种类和它们的基本性质。对存在论的重点研究开始于90年代。                       

 

启发式

启发式是一种试图在程序中发现思想和其他一些东西的方法。在人工智能里,这个术

语用得很广泛。启发式函数用在对搜索的处理上,它衡量在一棵搜索树中的节点离目

标节点还有多远。启发式谓词用来比较一棵搜索树中的两个节点是否其中的一个比另

一个好,也就是取得通向目标的进展。按照我的观点,启发式谓词更有用。

 

遗传程序设计

遗传程序设计是一项技术,它通过杂交随机化的Lisp程序和从成千上万代中选择最合

适的程序来完成任务。John Koza领导的小组发展了遗传程序设计,这里附带了一份

指南。 (http://www.genetic-programming.com/gpanimatedtutorial.html).    

问:人工智能的应用在哪里?

答:这里列出了一些

 

游戏

你可以花上很少的几百美元买一个具有大师级水平的棋类游戏的机器。其中就有

人工智能,但是它们主要通过盲目计算--看成千上万个位置来与人对弈。通过盲

目计算要打败一个世界冠军,则启发式需要每秒观察2亿个位置。

 

语音识别

90年代,为了某些特定目的,计算机语音识别已经达到了实用水平。虽然有可能

指导某些计算机使用语音,但是为了方便,人们还将继续使用键盘和鼠标。

 

自然语言理解

仅仅输入一个字符序列到计算机中是不够的。句子解析也是不够的。计算机必须

能理解文本有关的领域,而这目前只对非常有限的领域有可能。

 

计算机视觉

世界是由三维对象组成的,但是输入到人的眼睛和计算机电视照相机中的影像是

二维的。一些有用的程序在二维中能独立地工作,但是完整的计算机视觉需要部

分三维的信息而不止是一些二维图像。目前只有有限的方法来直接表示三维的信

息,而这也还没有人类所使用的好。

 

专家系统

一个"知识工程师"通过采访某个领域中的专家,试图把它们的知识在计算机程序

中体现出来以完成某项任务。这工作得如何依赖于完成任务所需要的智力机制是

否包含在人工智能的当前状态中。如果这被证明不是这样的,那么会出现许多令

人失望的结果。最早的专家系统之一是1974年出现的MYCIN,它用来诊断血液是否

被细菌感染,并且建议如何治疗。它比医学院的学生和已经工作的医生工作得都

要好,尽管人们也发现了它的缺陷。顾名思义,它的存在性包括细菌、症状和治

疗,二不包括病人、医生、医院、死亡、康复和实时发生的事件。它的交流依赖

于一个被考虑的简单的病人。因为被知识工程师采访的专家熟悉病人、医生、死

亡、康复等等的情况,所以必须有知识工程师把专家告诉他们的情况输入到一个

预先决定的框架里。从目前人工智能的状况来看,确实是这样的。目前通行的专

家系统的有用性依赖于具有常识的使用者。

 

启发式分类

利用目前人工智能的知识,最可行的专家系统之一是把信息输入到一个固定的使

用一些原始信息的类型集合中。例如建议是否接受所提议的信用卡交易。关于信

用卡的主人、付款纪录、购买的物品以及购买物品的公司等信息应该是可以得到

的(例如,关于这个公司以前是否有过信用卡诈骗的信息)。

:人工智能的研究是如何进行的。

答:人工智能的研究包括理论和实验两方面,而实验方面还有基础和理论之分。

  人工智能的研究主要有两条线索。一条是生物学的,基于这样的思想:既

然人类有智能,那么人工智能就应该学习人类,模拟它们的心理和生理。另一

条是现象学的,基于对关于世界的常识事实和为了达到目标而提出来的问题的

研究和形式化。这两个方面在某种程度上是互相作用的,并且最终两者都会取

得成功。这是一场赛跑,但是两个参赛者好像却在走。                         

 

问:在学习人工智能前必须先学习什么?

答:学习数学,特别是数理逻辑。一般来讲,有关的科学知识学得越多越好。

用生物学处理人工智能,必须学习心理学和神经系统的生理学。学会几种程序

设计语言,至少是C,LispProlog。学习一门基本的机器语言也是一个好主意。

进一步的工作可能要依靠熟知目前流行的语言。90年代末,包括C++Java

 

问:关于人工智能有那些好的教材?

答:Stuart RussellPeter Norvig写的,Prentice Hall出版社出版的《人工

智能》是1997最通用的教材,那里表述的一些一般观点和本文并不一致。Nils

Nilsson写的,Morgan Kaufman出版社出版的《人工智能:一个新的综合》可能

更容易读。

 

问:与人工智能有关的组织和出版物有哪些?

答:美国人工智能协会(AAAI) (http://www.aaai.org),欧洲人工智能合作委员

(ECCAI)(http://www.eccai.org/)和人工智能和行为模拟协会(AISB)

(http://www.cogs.susx.ac.uk/aisb)是跟人工智能研究有关的科学协会。计算机

协会(ACM)有个特别有趣的小组跟人工智能有关,叫做SIGART

(http://www.acm.org/sigart).                      

 

  国际人工智能联合会(IJCAI)(http://www.ijcai.org)是最主要的国际会议。

《人工智能的电子学报》Electronic Transactions on Artificial Intelligence

(http://www.ida.liu.se/ext/etai/)、《人工智能》Artificial Intelligence

(http://www.elsevier.nl/locate/artint/)、《人工智能研究杂志》Journal of

Artificial Intelligence Research (http://www.jair.org/)和《IEEE模式分析

和机器智能学报》IEEE Transactions on Pattern Analysis and Machine

Intelligence(http://computer.org/tpami/)是四个发表人工智能研究论文的最主

要的杂志。我能够找到的所有信息都已经包含在这里了。

 

  主页Positive Reviews(http://www.cs.utexas.edu/users/vl/ppr/)列出了一

些专家们认为重要的论文。 .  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是人工智能? 的相关文章

  • 记一次使用SQOOP抽数到Hive遇到的问题

    记一次使用SQOOP抽数到Hive遇到的问题 前置条件 1 源端数据库类型为Mysql 2 目标端是Hive库 xff0c beeline为1 1 0 3 Hive建表时使用了分桶 xff0c 并且加入了stored as orc参数 xf
  • 我的世界光影使用方法

    光影使用方法 写这个主要是为了记录下最近捯饬我的世界服务端和客户端时遇到的一些东西 xff0c 全当随笔了 首先要确认已经安装了高清补丁 xff0c 这次使用的客户端版本是1 12 2 1 下载光影压缩包 xff0c 一般都是zip格式 2
  • 【系统篇 / 配置】❀ 05. 新建管理帐户 ❀ Windows Server 2016

    简介 Windows Server 2016 安装完成后 xff0c 默认的管理帐户是administrator xff0c 拥有绝对权限 xff0c 但是在日常管理中不建议使用这个帐户 xff0c 一旦密码泄露 xff0c 服务器就门洞大
  • 【系统篇 / 域】❀ 04. 组 ❀ Windows Server 2016

    简介 如果能够使用组 xff08 group xff09 来管理用户帐户 xff0c 则必定能够减轻许多网络管理负担 对某个组设置权限后 xff0c 此组内的所有用户都会自动拥有此权限 新建组 可以通过 Active Directory 用
  • Gson源码之TypeAdapterFactory

    TypeAdapterFactory 1 接口类 xff0c 主要是用来创建TypeAdapter对象的2 若Json中的数据结构相同 xff0c 可以进行共享3 其实现类分别是JsonAdapterAnnotationTypeAdapte
  • 如何修改Win10的Windows Terminal的背景(带图文)

    效果图 Windows PowerShell的下载 在Win10上已经带有了新出的Windows Terminal xff08 preview xff09 相对于cmd的界面已经好看了很多 xff0c 但是对着黑乎乎的背景还是容易让人萌发想
  • 普通类和抽象类有哪些区别?

    普通类和抽象类有哪些区别 xff1f 抽象类不能被实例化抽象类可以有抽象方法 xff0c 抽象方法只需申明 xff0c 无需实现含有抽象方法的类必须申明为抽象类抽象的子类必须实现抽象类中所有抽象方法 xff0c 否则这个子类也是抽象类抽象方
  • 美团技术十年:让我们感动的那些人那些事

    时光荏苒 xff0c 美团十岁了 xff0c 美团技术团队也走过了十个春秋 2010年3月4日美团网上线的时候 xff0c 整个公司总共十来人 xff0c 在一套三居室的民房里起步 其中技术团队只有5个人 xff0c 现在有4位还在美团 今
  • linux update kernel

    1 update source step 1 deb https mirrors zju edu cn ubuntu focal main restricted universe multiverse deb https mirrors z
  • sql基础知识left join,right join,inner join区别

    1 left join即以左表为主查出左边表对应的所有数据 lt pre name 61 34 code 34 class 61 34 sql 34 gt select from A left join B on A id 61 B pid
  • 明知 | TypeScript 结合 egg.js 基本使用

    小小又进入了学习状态 xff0c 此时小小由于最近接触了js的相关内容 xff0c 进而接触了一些ts相关的内容 xff0c 所以小小本次主要学习的内容是ts 安装相关依赖 这里安装两个依赖 xff0c 分别为egg和ts 安装ts 这里需
  • 数据库中like的用法

    转自 xff1a http www pinlue com article 2020 03 3100 0310073883813 html
  • Log4j 2使用教程

    转载自 Blog of 天外的星星 xff1a http www cnblogs com leo lsw p log4j2tutorial html Log4j 2的好处就不和大家说了 xff0c 如果你搜了2 xff0c 说明你对他已经有
  • http常见的响应状态码

    HTTP响应状态码分类 1XX xff1a 100 199 信息响应 2XX xff1a 200 299 成功响应 3XX xff1a 300 399 重定向 4XX xff1a 400 499客户端错误 5XX xff1a 500 505
  • vncserver无法启动

    一 问题现象 运行vncserver的时候提示出错 xff0c 查看vnc的日志发现如下错误日志 litin 64 linuxService vnc cat linuxService 4 log Xvnc Free Edition 4 1
  • MongoDB自学笔记12---4.4 更新文档

    4 4 更新文档 Mongodb的增删查都已经学完了 xff0c 只剩下更新了 在mongodb中提供了update 和save 方法用于更新一个文档 xff0c update 是使用最多的 xff0c save 在前面4 1插入文档的时候
  • ffmpeg重要结构体之AVCodec和AVIOContext

    今天继续讲解ffmpeg结构体AvCodec和AVIOContext以便加深对ffmpge的理解 一 AVCodec的讲解 AVCodec结构体是有关codec的结构体 在文件 34 libavcodec avcodec h 34 中 其中
  • xcode6制作framework(使用第三方依赖框架)

    这两天由于会用到framework所以研究了一下framework的制作 xff0c 我用到了xcode6 1 AFNetworing 转载请注明http blog csdn net mengxiangyue 废话不多说了 xff0c 下面

随机推荐

  • OC项目中使用Swift

    OC项目中使用Swift 本文版权归作者所有 xff0c 如需转载请联系孟祥月 CSDN博客 xff1a http blog csdn net mengxiangyue 独立博客 xff1a http mengxiangyue com 最近
  • iOS9-by-Tutorials-学习笔记六:UIStackView-Auto-Layout-Changes

    iOS9 by Tutorials 学习笔记六 xff1a UIStackView Auto Layout Changes 本文版权归作者所有 xff0c 如需转载请联系孟祥月 CSDN博客 xff1a http blog csdn net
  • Java多线程4—线程同步问题+火车票售票系统

    在上一篇文章中写到了许多线程共享同一数据 xff0c 这种情况在现实的生活中也是经常发生的 xff0c 比如火车站的火车票售票系统 火车票售票系统是一个常年运行的系统 xff0c 为了满足乘客的需求 xff0c 我们不能只设一个窗口 xff
  • Java模拟操作系统进程调度算法—先来先服务、短作业优先、高响比优先

    首先我们先介绍一下这三个算法 xff0c 先来先服务是指按照进程到来的时间 xff0c 谁先来谁执行 短作业优先是指作业服务时间短的先执行 高响比优先是根据公式计算出优先权选出优先权最高的执行 xff0c 计算高响比优先权的公式 xff1a
  • Java中JTbale使用—设置单元格对齐方式

    作者 xff1a 孟祥月 博客 xff1a http blog csdn net mengxiangyue import java awt Color import java awt Component import javax swing
  • Spring Cloud 入门(1)-- 第一个 Kotlin 微服务

    最近公司需要使用 Spring Cloud 开发后台应用 xff0c 为了以后能够看懂后台代码 xff0c 所以决定学习一下 Spring Cloud 对于Spring Cloud和微服务的介绍 xff0c 各位自行网上搜索吧 本系列文章是
  • Spring Cloud 入门(2)-- 编写服务消费者

    上一篇文章创建了一个 user service 微服务 xff0c 本文编写一个消费者 xff0c 本文比较简单 1 目标 创建一个 movie service xff0c 该服务器也能够查询用户信息 xff0c 但是内部是通过调用 use
  • jquerymobile-7 导航和多页面固定导航

    在开发的过程中 xff0c 我们经常会遇到在页面的底部有一排按钮 xff0c 我们可以根据这些按钮切换页面 xff0c 或者执行一些动作 在jquerymobile中我们可以在footer和header上添加这样的导航 下面看一个例子代码
  • phonegap入门--4 Camera 摄像头

    今天周六了 每次到了周六就不知道干嘛去 好没劲啊 有在北京的如果周六也没劲的 可以联系我大家一起出去玩 qq598660766 没事干 那就写写博客吧 今天介绍一下Camera这个对象 camera对象提供对设备默认摄像头应用程序的访问 C
  • android focusableInTouchMode设置为true导致OnClick事件失效,点击两次生效

    在开发中遇到focusableInTouchMode ture导致OnClick事件 点击两次生效 导致达不到效果 所以要分析源码解决问题 当在xml布局文件中 设置focusableInTouchMode ture 时 表示触摸事件可以让
  • Android自定义控件基础

    采用自定义控件解决重复编写代码的问题 总共分三步 1 写好一个自定义模板布局 title XML span class hljs pi lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34
  • String,StringBuffer,StringBuilder的区别(优缺点)

    最近学习到StringBuffer xff0c 心中有好些疑问 xff0c 搜索了一些关于String xff0c StringBuffer xff0c StringBuilder的东西 xff0c 现在整理一下 关于这三个类在字符串处理中
  • Android真机获得root权限修改文件权限

    好久没有更新博客了 xff0c 最近因为重装了系统导致所有的配置都不存在了 xff0c 当要修改Android权限去查看数据库文件的时候 xff0c 发现又忘记了怎么去获得修改权限 xff08 其实第一次弄这个内容的时候就费了很大的劲 xf
  • Android完全自定义控件并且实现监听事件

    本篇文章带来Android的完全自定义控件 载体是自定义一个开关的控件 xff0c 并且能够响应事件 xff0c 首先我们先创一个项目 xff0c 名字就叫ToggleView xff0c 修改MainActivity span class
  • Android屏幕适配实战

    说一下在项目里面遇到的一个问题 xff0c 和解决思路 需求来源于运营小姐姐 xff0c 她们希望在App的搜索关键字前面加上图片醒目效果图如下 布局很简单左边一个SimpleDraweeView xff0c 右边一个TextView xf
  • 定制阿里代码检查,实现你自己的代码规范检查

    几个月前 xff0c 阿里开源了p3c xff0c 我也接到了老大交给我的技术改造 是这样的 xff0c app是老项目了 xff0c 半年前接入了ARouter xff0c 由于Activity繁多 xff0c 就没有去全局支持ARout
  • Fresco内部诟病引起的初次从网络加载PNG图片失败

    如题描述 xff0c 这个问题在项目中存在已久 xff0c 今天由于自己的功能在首页 xff0c 初次启动的体验极其糟糕 xff0c 所以硬下头皮把这个问题解决了 先来描述一下怎么样一个差的体验吧 就是当我第一次加载网络PNG xff08
  • 华为OpenEuler体验系列(20)-树莓派 安全渗透测试环境安装

    一 下载镜像 xff1a 地址 xff1a https www openeuler org zh download 二 格式化TF卡和烧录系统 使用过的SD卡 xff0c 用SD Card Formatter格式化SD卡 选择好SD卡后格式
  • Ubuntu开机没有图形界面 进入tty的拯救方法

    Ubuntu开机没有图形界面 进入tty的拯救方法 1 从命令行模式登录2 检查是否可以连网3 安装图形界面参考 由于卸载软件的过程中误删了系统图形界面相关的文件 xff0c 导致开机无法进入图形界面 xff0c 需要通过命令重新安装 1
  • 什么是人工智能?

    Extinguished philosophies lie about the cradle of every science as the strangled snakes beside that of Hercules adapted