精华内容
下载资源
问答
  • 解放思想是科学发展观精神实质.pptx
  • 解放思想是科学发展观精神实质讲义.pptx
  • 首先,什么是编程思想? 编程思想是一种指导思想,这个指导思想,将会诱发你如何写代码的行为。 如果理解这话的意思呢?打个比方,中华文明千百年在民众心中形成了一个“统一天下”的思想,这种思想会诱发各个混乱...

    一.首先,什么是编程思想?

    编程思想是一种指导思想,这个指导思想,将会诱发你如何写代码的行为。

    如果理解这话的意思呢?打个比方,中华文明千百年在民众心中形成了一个“统一天下”的思想,这种思想会诱发各个混乱时期的诸侯或者军阀,以统一中国为目标,而不会像欧洲一样以分裂中国各自独立、各自称帝为目标。

    编程的思想是什么,如何建立编程思想,如何训练和提高编程思想?

     

     

    那么编程思想有哪种种类呢?

    1)面向过程编程。这是我国绝大部分程序员的思想。这种思想诱发了他们写代码的时候这样的现象:一个方法中写了糅杂了很多的业务逻辑,或者从ui层(点)业务逻辑层(点)数据库访问层这种路径的写法。

    2)函数编程。典型的如很多人写的javascript中的function函数。各种业务就以各种很多的function进行编写。

    3)面向对象编程。这是比较高级和抽象的思想,它具有三大特性五大原则。即封装、继承、多态,单一、开闭、里氏替换 、依赖倒置、接口隔离。

    话外:有些人会告诉你数据结构、算法,我要跟你说的是,那不是编程思想,是编程能力,考验你的逻辑运算能力,你越出色,那么你应对的复杂科技领域就可以更加深入,最终你可以达到科学家的范畴。

     

    编程的思想是什么,如何建立编程思想,如何训练和提高编程思想?

     

     

    二、编程思想的优劣和选择。

    面向过程和函数编程,是每一个刚毕业的毕业生就会的原始思想。即,只要学习了编程,那么他一开始写的代码,就是这种思想,不需要教,就会的。

    而面向对象编程,则是进阶抽象的。本质上来说,一个程序员的进化,实际上是面向对象编程思想的培养、形成、发展、成熟的过程。

    所以,你现在应该知道最优的思想是什么,没错:面向对象。

    三、如何建立编程思想

    首先,你要时刻谨记面向对象的三大特性五大原则,那几个字,你是很熟悉的,但你绝对不认识他里面所蕴含的恐怖威力。即:你认得到字是一回事,理解和运用它是另一回事。

    然后,你要在你的实操过程中,时刻思考你是否用上了它的特性及原则。

    最后,不断的尝试去修正和更改你的代码,慢慢的,你的面向对象编程思想将会开始建立。

    如果大家对C/C++感兴趣的话,可以加一下我们的学习交流Q群:637  935  295,免费领取一套学习资料和视频课程哟~

    编程的思想是什么,如何建立编程思想,如何训练和提高编程思想?

     

     

    四、如何练习、训练和提高编程思想

    1.通过学习设计模式。

    刚开始的时候,你自己不太可能有对象思想,因为你还未形成对象思维,此时,你需要借助前人的模式总结,不断的练习,通过为模式而写模式的训练去提高它。

    2.通过不断的重构已编写好的业务逻辑代码,这需要大量的实践,使他能够让你自己觉得符合三大特性五大原则。

    3.评判一个代码你写得好不好,符不符合对象编程思想,有一个非常简单和粗暴的标准:

    你的方法体,去除注释,如果你能够让你的每一个方法的逻辑,他的方法体代码行数不高于30行,那么你估计就是写的有成效的。如果你能够发现你的很多方法体,代码行数仅仅只有10行以内个位数的代码时,你的面向对象编程思想已经成熟。

     

    编程的思想是什么,如何建立编程思想,如何训练和提高编程思想?

     

     

    4.将代码思维持之以恒。

    通过不断的实践练习,改变你原来天生的过程式编程思想,这需要一个漫长的过程,从我的实践经验来看,至少要3年以上的实践训练,所以从此意义上来说,5年以下的中国程序员99%都不会面向对象。当你不再为模式而写模式时,你随手写的代码是如此的简洁美妙时,你已经比中国95%的程序员牛B了。

    展开全文
  • ERP 的管理思想本质 一 ERP的真正价值是管理思想 ERP的核心管理思想就是实现对整个供应链的有效管理主要体现在以下 3 个方面 体现对整个供应链资源进行管理的思想 . 在知识经济时代仅靠自己企业的资源不可能有效地...
  • C++编程思想是一个讲的很好的内容,里面可以帮组你深入理解C++内涵是一部很全面的书
  • 物联网本质什么

    万次阅读 2017-03-20 17:12:43
    所以才对自己所处的行业做一个剖析,看看到底什么是物联网的本质? 在写这篇之前,如果有人问我自己所处的行业, 我的回答就是“物联网”, 那这个人一定会问:“那什么是物联网?” 我就简单地回答是“万物互联,物...

    物联网的本质是什么?

    为何提出这个问题,是始于张利老师的《营销赢思维》的讲坛。

    所以才对自己所处的行业做一个剖析,看看到底什么是物联网的本质?

    在写这篇之前,如果有人问我自己所处的行业,

    我的回答就是“物联网”,

    如果这个人接着问:“那什么是物联网?”

    我就会简单地回答说是“万物互联,物物互联”;


    研究一个事物的发展,必须需要看清事物的本质!

    所以对于自己所处的行业,也需要观其本质,看其发展方向;

    于是我就“墙内问百度,墙外问谷歌”;


    物联网答案或定义的找寻:


    下面我们来看看我能摆渡到的答案:

    1、百度词条的答案:

    最初在1999年提出:即通过射频识别(RFID)(RFID+互联网)、红外感应器、全球定位系统、激光扫描器、气体感应器等信息传感设备,

    按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。

    简而言之,物联网就是“物物相连的互联网”。


    2、《物联网研究报告连载》

    中国互联网络信息中心分析师  李长江的

    物联网的定义:

    “物联网是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,

    把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。”
    “物联网是未来互联网的一部分,能够被定义为基于标准和交互通信协议的具有自配置能力的动态全球网络设施,

    在物联网内物理和虚拟的“物件”具有身份、物理属性、拟人化等特征,它们能够被一个综合的信息网络所连接。”


    “物联网是指各类传感器和现有的互联网相互衔接的一个新技术。”


    “很多物体不一定非要连到网上,而且物联网不是网络而是应用和业务。”

    “物联网,本质上是国民经济和社会的深度信息化。”

    3、《物联网白皮书》

    将物联网体系比喻成了一课树:


    4、虎嗅网:《物联网:一个已被用滥的词,真的在酝酿浪潮》

    物联网1.0时代:本质上是传统行业信息化;
    物联网2.0的时代,最关键就是突破孤岛、实现各种应用的互联。

    物联网2.0:

    4.1、任何物之间可互联;
    4.2、物与物相联形成开放的基础物联网络;
    4.3、基础物联网络为上层应用提供开放接口;
    4.4、上层应用独立于基础物联网络。


    5、刘海涛:物联网四大本质特征



    2011年10月20日,第二届中国国际物联网大会开幕式在江苏无锡举行。

    图为无锡物联网产业研究院院长、国家物联网基础标准工作组组长刘海涛博士做主题演讲。

    新华网 陈竞超 摄\
     无锡物联网产业研究院院长、国家物联网基础标准工作组组长、国家传感网标准化工作组组长刘海涛博士在出席第二届中国物联网(传感网)博览会开幕式时说,物联网以感知为目的,它推动的是一个什么时代?
    我们在这里称,它将推动的是一个信息技术的社会化时代。计算机推动着智能化,通信推动着网络化,而物联网是以感知为目的的推动人类的信息技术进入社会化时代。


     首先看一看,三个网络仔细分析一下,通信的网络,手机、固话,通信网络目的是什么?是为了连通,把两个目标连通以后实际上就不管了,是以传输和连通为目的的。那互联网呢?互联网关心的不是联通了,它关心的是共享,咱们上网看新闻、看电影等等,互联网的核心目的是共享。那我们再看看互联网和物联网,物联网关心的是什么?互联网关心的是信息的内容,关心的是内部,最关心的是你存放在互联网内部的信息内容,每条新闻等等。而物联网关心的是什么?物联网关心的是外部的事件、外部的环境和外部的目标。那么这点和互联网差别就很大了,互联网关注内部的信息,这条新闻在那,你看我看他看都在那,是确定的。但物联网关注的外部事件,目标、环境是不可预知的。比如在这个会场我要感知进来了几个人,你不能说那不行,你只能说在8点01分时进来一个男人身高1米82;而外面不能下雨也不能刮风,这是不可能的。物联网关心外部的事件是不可控的,是不可预测的,这就跟互联网之间是有本质差别了,一个内容是固定的,一个是不确定的,是不以你的意志为转移的。咱们说通信的网络带来的是一个网络空间东西的话,那么我们的互联网给我们带来的是一个信息空间的东西,而物联网给我们带来的是一个物理空间的世界,因此这三大网络是有本质差别的。我们的手机是传输的网络,互联网是共享的网络,物联网是感知的网络,但不准确,应该叫感知的信息系统,后面我会讲到这一点,为什么把它叫感知的信息系统。


     大家想物联网是物和物的互联,其实物和物的互联不是物联网独有的特征。互联网连接的是计算机,计算机又不是人,也是物和物的互联。因为物联网特征是以感知为目的的,以全新的社会化体系为特征的,全新的综合信息系统。另外,大家很多说物联网要传感器、数据采集、传输、处理,这是典型的物联网,如果按照这种架构的话,如果物联网规模大了以后是很难实现的。物联网不能靠传感器采集、传输、处理来解决我们对于外部事件、外部目标、外部环境的不确定的感知,这是一定做不到的,因为他需要像人类社会一样的,能够对这些目标,不可预知、不确定的目标环境来感知才能做到这一点,为什么要社会化?因为这些人,我们形成一个团队以后去处理什么事情?突发事件一样的处理,这就是为什么要求物联网是具有社会化的感知体系才能做到,真正对外部、客观物理世界不可预知、不可确定的感知。如果说是采集、传输、处理是大家所说的传统的遥测系统,那么物联网刚才我简要讲了几大特征。物联网有四大本质特征:第一关注外部世界,这个我已经说过;第二正因为关注外部世界,因此它关注的内容是不确定的;第三是不可复现的,刚才说这个大门进来一个身高1米82的男性,是不可能重复出现这个事件,因此物联网感知的目标是不可复现的;第四既然是这样物联网必须有对外部事件、外部东西的高度适应能力,怎么高度适应?是来源于外部驱动性的。因此形成了物联网四大本质特征,就决定了物联网全新体系的诞生。

    6、物联网还原“物”的本质

    深圳物联网技术研究院院长    张晓峰


    7、物联网本质上是超级感知

    《中国人民大学学报》 2011年第4期

    物联网的本质、面临的风险与应对之策 ------刘永谋 吴林海


    物联网本质上是超级感知

    从形而上层面看,物联网的本质可以归结为超级感知。所谓感知,指的是感觉加智能。

    物联网中的物通过感觉层感知,通过计算层获得一定程度的智能,具备了某些类似主体的特性。

    所谓超级,指的是物联网感知的本质属性。


    8、物联网的本质还是互联网

    知乎中有更经典的回答:

    作者:袁karlno
    链接:https://www.zhihu.com/question/19751763/answer/95871992
    来源:知乎

    物联网的本质还是互联网,只不过终端不再是计算机(PC、服务器),而是嵌入式计算机系统及其配套的传感器。

    这是计算机科技发展的必然结果,为人类服务的计算机呈现出各种形态,如穿戴设备、环境监控设备、虚拟现实设备等等。

    只要有硬件或产品连上网,发生数据交互,就叫物联网。不过物联网的概念目前被炒到过热。

    鄙人大概十年前开始学习嵌入式,那个时候还没物联网、智能硬件这么高大上的字眼。相信很多前辈那时跟我一样,学的是单片机编程,大家都用“单片机”来概括这个行业。

    大概2012年左右,很多热钱从房市涌出,投入资本市场。正是这个时候,一大波高大上词汇来袭。

    服务器技术叫“云”,单片机叫“智能硬件”,网络单片机应用叫“物联网”,车载单片机应用叫“车联网”。。。呵呵。

    这种现象是商业进展的必要性,我们搞技术的只能跟着改头换脸,谁叫发薪水的是老板呢,呵呵。

    不过受限于技术上的瓶颈,物联网的发展,其实无法像当初互联网那样爆发。或者换通俗一点的说法,大家有没有发现很多物联网的应用,

    其实是锦上添花的东西,需求性并没有那么强,这也就是为什么很多智能硬件卖得并不是很好的根本原因;

    正是因为需求性原因,所以商业上也不会出现滴滴打车那样的持续性投入,又一定钳制了技术的进一步发展。


    个人认为的物联网的本质:

    通过智能化的设备间的互联、互通、互操作,来满足人们的不同的心理或生理上的需求;

    智能的本质是什么

    智能,目前而言,它是一个用烂了的字眼!厂家为了自己的产品更好卖,于是就在自己的设备前面加了一个“智能”。

    而实际上并不是真正意义上的智能。

    我认为的智能:智能设备的本身,不是为了智能而智能,而应该减少设备相互操作过程中人的参与度。

    比如:自动冲水马桶,我就感觉比较智能,至少当你靠近它的时候,他知道你来了; 当你离开的时候,它知道你走了,它就可以自动冲水。

    而目前的一大堆智能产品中,使用人并没有自动化的感觉,智能产品(ˇˍˇ)向儿童的玩具一样,玩了一次就再也提不起兴趣玩第二次了。。。


    互连、互通已经解决了,而物与物间的操作目前只满足了一小小部分。

    而真正意义上的智能,却没有实现。

    记得有一个做智能家居的讲过一句话:高调做家居,低调做产品。

    意思就是:家居,本身就应该做个高大上的东东,产品则处于第二级,用户看不到你的设备,却能感受到他的存在。

    而处于国情,上来就打价格战,所以家居家居叫了很多年了,还是看不到出路,就如同屋子里那只趴在玻璃上的苍蝇,“前途光明,出路却没有”。


    后来看到曾鸣教授在长江商学院的演讲《何谓互联网的本质》,倍感亲切,确实是道出了物联网的未来趋势那就是以大数据的普及来终结。。


    下面是从其微博上的转载文章《何谓互联网的本质》


    《何谓互联网的本质》 曾鸣教授


         我从99年开始研究互联网,2003年开始做阿里巴巴的战略顾问,2006年正式加入阿里。每一次我觉得对互联网刚有一些了解,就发现很快又困惑了,所以互联网真的是变化非常快。即使经过了14年,我仍然觉得互联网的整个变革才刚刚开始,前面的路很长,但是对大家来说机会依然非常大。所以今天想把这几年的一些心得,跟大家做一个探讨。


         互联网到底是什么?大家听得太多了,而且各种各样的名词也非常多。我觉得大家了解互联网,只需要三个词就够了:第一个是“互、联、网”。我越来越觉得这个词翻译的太美丽了,所有关于互联网的本质都讲完了;第二个词是云计算;第三个词叫做大数据。这个大家可能听得都厌了,但实际上互联网的本质就是这三个词。


    (一)互、联、网

    1、联



         互联网最关键的是什么呢?互联网的起步是“联”。英语的互联网是两个词,一个叫Internet,一个叫Web。Internet更多是指类似思科、华为这些企业它们建的互联网基础通讯架构,它指的是真正让人、让世界连起来的网络设施。最早联通的目的就是把互联网基础设施建起来。所以大家要理解互联网第一个关键是“联”,这个联接是整个我们今天这个世界的基础。


    1)最早大家说的Internet 1.0,指的是PC有线互联网。PC最早的连接只能通过电话,然后再通过宽带,都需要PC、线。

    2)现在比较热门的是Internet 2.0,即无线互联网。最典型的是WiFi、3G、4G这样的通讯网络,与此同时,沟通的重心从PC走向了智能手机。这两年智能手机高速发展,在智能手机上衍生出来了许多服务,大部分人是离不开的,离不开微信、离不开未来的“来往”。

    3)真正的Internet 3.0是什么呢?我现在没想到一个更好的词。但有一个同样也被炒烂的词,叫物联网。



         如果用一句话来定义互联网的未来,就是“任何人、任何物、任何时间、任何地点,永远在线、随时互动”,这才是未来的互联网。有的研究报告提到,今天我们能连起来的东西还不到1%,如果连接的东西翻100倍的话,这是怎样的概念?所以未来的互联网是把所有人、所有的物,在任何时间和地点,都能连接在一起,而且让大家有信息和动作的互动,有上传、有下行,这才是互联网的未来。整个互联网的发展,本质也是让互动变得更加高效、更加方便、更加自然。这个互动也包括人机的交互,像iPhone的出现对人机交互也是一个大的突破。


    2、互



    1)如果我们借用这个架构来讲互动的话,互动1.0就是BBS。我想最早的用户还有印象,当年大家在一个很简陋的技术环境下,以极大的热情参与了这样一个网络社区的建设。

    2)互动2.0是类似新浪微博这样的产品,是个互动的社区,它最大的特征是单向的关注。“关注”是它最主要的一个产品形态及互动模式。

    3)互动3.0是Facebook、微信这样的产品,它们最大的特点是双向互动,任何人跟任何群体之间,都可以在瞬间发生多维的互动。这是“互动”的一个深入。



    3、网



         在“连通”的基础之上,有了这样深入的互动,我们可以看到在Internet之上承载的内容与服务的表现形式,即Web。


    1)Web 1.0,是大家最熟悉的门户概念,

    像新浪、搜狐、网易。在Web的展现即对互联网的应用,在1.0门户阶段虽然有互动的元素,但最本质的沟通模式还是多对一,还是传播,所以大家把它叫做新媒体。这个时侯新浪、网易涌现,大家对互联网的理解是在“新媒体、新传播”。它是从门户这个中心点出发,向比原来受众大得多的一个凹点持续的传输,它有一个中心点,基本是一个单向的互动。



    2)Web 2.0是搜索。

    到了2.0时代,在搜索界面上还是多对一,每个个体跟搜索引擎发生联系,搜索的后台技术,完全利用了互联网的网状结构。谷歌在搜索技术上最早的知识产权,叫PageRank。如何确定互联网上所有内容的相关性?PageRank是根据每个网站跟其他任何一个网站的连接,来判断它的重要性。你的连接越多,说明有越多的人关注你,你的相对重要性就高。它是依靠非常复杂的算法,在后台把网络的优先级做一个排序,然后根据每个用户的输入(即每次点击),再进行优化。所以搜索引擎的核心就两个,第一个是它对网页的Index做的要全,要把全部网页都搜罗过来做一个结构化的处理。谷歌可能有几百亿的网页,并且随时都是在更新的。第二个就是算法,能不能算得出来这么复杂的数据之间的相关性、优先级。所以到了2.0时代,它的后台已经是一个网状的结构了。



    3)Web 3.0是SNS,双向互动的社交网络,

    它是一个多对多,同时包含点对点的天然网络。所以web 3.0是互联网产品进化到今天的一个先进的形态。



         这是我想要给大家讲的第一个主要的观点,就是从“互、联、网”三个字来讲互联网的本质,这三个字是共同演进的。只有随着连接的技术不断发展,互动的手段才更加丰富、高效,才会在Web上产生这样先进的内容和服务。


    (二)云计算

        第二点想跟大家讲的关键词是云计算。


       云计算是一个非常形象的词,更学术的词叫utility computing,我们把计算当做一个公共事业来提供。阿里巴巴十周年的时候(2009)我们成立阿里巴巴云计算公司,当时还有人开玩笑说,是不是因为马云才叫云计算公司?我们说也许马云就是符合这个时代的。云计算的确是表达了这样一个远程的、大计算的概念。


        我自己对云计算的理解,是通过研究对整个工业史,才理解了云计算的社会地位。最好的对比是第二次工业革命。第二次工业革命本质上是电带来的工业革命。电是1893年爱迪生在曼哈顿, 在一平方公里范围内第一次实现了商业化的电的传输跟网络。在一平方公里内,每个街区、每个住家、每个商店都有了电的照明,这是个复杂系统。大家都很熟悉爱迪生发明电灯泡的历史,以及他的电灯泡公司、发电厂,包括全套设备,以及发电的工艺。所以1893年是电的第一次商业化应用。


         当电出现了之后,当时如果工厂需要用电的话,必须雇一个专门的高管,他的责任就是给这个工厂建一个发电厂、要买发电设备、要雇专门的发电运营人员、要买煤。住家同样也没有这种公共服务,J.P.摩根在新泽西的住宅,是全世界最早用电的民用住宅。他那个别墅被烧过两次,就因为早期用电太不稳定,经常用着用着就烧掉了。当然因为他是通用电气最主要的投资商,也是爱迪生最重要的支持者,所以他自己一直在努力的尝试。


         最重要的变化在于1905年,美国在尼亚加拉大瀑布开始建设了第一个大型中央发电厂,然后在尼亚加拉大瀑布跟纽约市之间建了一个高压传输网络。如果没有高压传输的话,电的远程传输损耗很大,于是开始有了电网的概念。到1925年美国通过国家电网供电的比例占到40%。大概到一九三几年这个比例提高到百分之七八十。正是因为国家电网的出现,“电”变成一个公共基础设施,所以很快有了美国在第二次工业革命期间的高速发展。


         我通过两个故事讲一下在新的技术革命当中企业家的选择。第一个是福特公司,我们讲到第二次工业革命期间最典型的形象,就是卓别林在《摩登时代》里面饰演的流水线工人。工业时代最经典的起步,就是福特公司的T型车下线,一般大家都把它当作工业时代真正的到来。福特公司的T型车流水线是全世界第一条用电驱动的流水线。福特本人本来是通用电气的电机工程师,但他没有在GE继续工作下去,却进一步把发电设备进行完善,他把电的理念用在了一个通用制造的领域,创建了现代制造的一个起点。今天我们所讲的流水线、大规模生产、中产阶级的概念也是福特最早创造的。大规模生产是标准化的运作,为了降低成本,他给工人提高工资,依次把工资提高到五块钱,工人有了工资就能买更多的车;买了更多的车,车的成本进一步下降;车更便宜之后,会有更多的人能买车,这是一个正向循环。所以汽车价格在十年之内降了十倍。


         第二个例子也很有意思,当电出现之后,爱迪生把通用电气变成了一个发电设备制造商,但是爱迪生当时的助理坚持认为,整个社会的未来是电网而不是发电设备,所以他从通用电气辞职,出去创建了第一个电网公司,最后这家电网公司变成了美国最大的。在一个新技术革命到来,当新的选择出现之后,企业家的洞察力发挥着重要作用。


         我们再回到主题。100年前最重要变化,是电变成一个通用的公共事业,从而带动整个社会生产力的向前发展。电走入各家各户之后,第一个家电产品是电熨斗,因为它对家庭主妇来说帮助最大,技术难度也是最低的。第二个重大的产品是洗衣机,把人们从繁重的劳动解放出来。第三个是收音机,收音机一出来,家电革命真正的开始了,就是我们今天无处不在的电器。这些都是在通用技术达到一定的社会覆盖率之后才产生的。家用电器诞生的核心,是因为有一个标准的建立,即110伏的标准接口。这样所有的电器只要接到110伏标准插口,跟国家电网就接起来了。


         所以了解这个大变化之后我们就能理解,七十年代以来,在整个美国任何一家企业的固定资产投资当中,50%以上是投在跟IT相关的地方。现在要创建一家公司最起码得买电脑,雇几个IT人员,还得有几个软件。这就像1900年左右,工厂要开工,得先雇人来建发电厂一样。


         现在最大的问题是,绝大部分企业IT投入的实际利用率不到30%,无论是CPU、存储、带宽,还是各种各样的人员投入。所以一方面是越来越重的固定资产投入,另一方面是越来越低的效能。由于技术的积累跟逐步的演进,这个时候云计算诞生了。1946年的第一台计算机,它的计算量还比不上我们今天放“生日快乐”的贺卡的计算量。经过了大型机,小型机,再到PC,笔记本,经过六十多年一步步走到今天,人们终于能够以公用事业的方法来提供计算能力。所以用一句话来总结云计算,就是在任何时候、任何地点,只要接上互联网,就有计算能力的提供。你要多少用多少,用多少记多少,这就是云计算。


         大家可以想想看,当未来再开一个公司,不再需要去雇IT人员,不再去问他们“我们到底要买什么软件”的时候,当你所需要的只是使用你想要的服务的时候,这个世界会发生怎样的变化?因为技术门槛大大降低,所以“创新”以一种前所未有的方式再一次爆发。


         回顾一下过去十年的互联网创业企业,最大的一个壁垒是固定资产投入。一个创业企业家,好不容易有一个非常好的想法,然后去融资,要稀释掉30%-40%的股权,还得预先买服务器。为了未来你可能达到、也可能达不到的事业,你用最昂贵的股权,换来的却是最不值钱的IT固定资产投入。而这个规律正在逐步被打破。


         我再举两个例子,第一个例子是动漫产业。大家都觉得动漫产业是创意产业,后来接触多了我才明白,创意在动漫产业大概只占1/3左右,动漫产业是一个固定资产投入巨大的产业。为什么只有皮克斯这样的动漫企业才能够制作这样的大电影?很简单,在整个动漫变成电影过程中,最大的一个投入叫渲染,就是把原始的画,变成3D的影像。一个像样的动漫公司,至少需要1000台以上的服务器,才能勉强做渲染工作。越大的企业越有这个优势,小的创业团队根本没有办法把创意变成一个相对高质量的产品。


         2009年我们开始做云计算,经过三年的努力,我们给动漫行业提供了一个比较成熟的技术方案。今年上映的一部类似好莱坞的动漫大片叫《昆塔》。如果他们用自己的投资去买服务器做渲染,大概需要两年左右才能完成渲染。但是我们用淘宝的技术,大概两个月时间就把所有渲染都完成了,成本不到原来10%。淘宝的计算机群的计算量是非常大的,每天有将近一亿的人访问淘宝、有几百万的卖家、几亿的商品,高峰的时候占用资源非常大,但是半夜的时候我们可以把这个计算资源释放出来,给这个动漫公司做渲染。所以一下子就把动漫行业的创新周期缩短了。


         第二个例子是双十一,大家都知道去年创造了一个很惊人的数字:190个亿。去年双十一是我们第一次给淘宝卖家提供云计算服务。最经典的一个例子是有一个卖家,在双十一的上午系统崩溃了,我们用了不到一个小时的时间,在云计算的平台上帮他重新启动了全套的服务,卖家基本没有什么损失。这就是云计算的最大好处,可以瞬间扩容,你想要多大的空间,就有多大的空间。去年有个淘宝卖家平时的单量,可能也就一万多单,双十一那天冲到了50万单。50万单是什么规模?是某个电商一天的订单量。而淘宝的一个卖家在没有任何IT投入的情况下,就在淘宝云计算的平台上完成了。大家可以想想看他的成本优势是多大。正是由于这样的一个优势,今年的双十一,80%以上的天猫订单,都会绑在云计算的平台上。去年我们冒着很大的风险做了一个实战演习,有百分之十几的商家用的是云计算的服务,很成功的度过了一个巨大的峰顶。今年我们对于云计算的信心、对它的商业价值都有了根本的认识。


         所以再跟大家总结一下,云计算跟传统的IT自营的思维有所不同。


    1)首先,传统的IT企业,在IT的投入属于固定资产。云计算作为一个公共服务来说,是一个运营费用,一个可控的运营费用,这个费用对整个资产结构、财务状况的优化,产生的价值是不可估量的。

    2)其次,大部分IT设备作为自营的时候,是为了保证最大值时的使用,一定有巨大的浪费,绝大部分企业的平均使用率不到30%。使用云计算的时候,是按照电费的方式每个月结算,实际用了多少计算量,根据账单来付费,这样基本上没有任何的浪费。

    3)最后,传统的IT方式,扩容得周期长、门槛高、投资大,技术门槛越往上越高。大部分企业做到一定程度,投了IT就投不了其它方面。但是用云计算可以享受最先进的技术,比如说安全。一方面大家肯定会关心任何一个公共服务平台的安全性;另一方面由于安全性如此重要,一个公共的平台对安全的投入,一定远远超过任何一家企业。去年一个资源型的网站,发表了对某个IT公司不太有利的言论,结果网站遭到了恶意攻击,两小时就被攻跨下线了。后来这个资源型网站搬到了阿里云计算平台就安全了,因为要攻破阿里整个安全体系,难度就非常大了,但是一个小企业不太可能有这样的安全防护。所以采用这种方式,就不怕顶尖黑客或是这样的恶意攻击了。这就是平台跟一个企业之间的差别。



         瞬间扩容,不用为空置去付额外的代价,这是云计算非常大的商业价值,最后总结一下对云计算讨论,还是刚才那句话,将来在任何时候、任何地点,都能够通过接到互联网获得实时的服务,然后根据实际使用支付费用。


         当云计算成为这个社会基础服务设施的时候,我觉得人类才真正进入了新的时代。如果不是电变成了公共事业,不是福特在电的基础之上创造了第一条流水线的话,也就没有什么工业时代。同样,只有当越来越多的企业,把他们的运营放在公共的云计算平台的时候,一个新的时代才真正到来。


    (三)大数据

         第三个我想跟大家讲一下大数据,这可能是近一年来最时髦的词了。大数据真正的本质不在于“大”,而是在于背后跟互联网相通的一整套新的思维。大数据跟传统的数据最大的差别在哪呢?


    1)在线。

    首先大数据必须是永远是在线的,而且在线的还得是热备份的,不是冷备份的,不是放在磁带里的,是随时能调用的。不在线的数据不是大数据,因为你根本没时间把它导出来使用。只有在线的数据才能马上被计算、被使用。



    2)实时。

    大数据必须实时反应。我们上淘宝输入一个商品,后台必须在10亿件商品当中,瞬间进行呈现。如果要等一个小时才呈现话,我相信没有人再上淘宝。十亿件商品、几百万个卖家、一亿的消费者,瞬间完成匹配呈现,这才叫大数据。



    3)全貌。

    大数据还有一个最大的特征,它不再是样本思维,它是一个全体思维。以前一提到数据,人们第一个反应是样本、抽样,但是大数据不再抽样,不再调用部分,我们要的是所有可能的数据,它是一个全貌。其实叫全数据比大数据更准确。



         这是大数据的三个本质,在线、实时、全貌。


         为了让大家对大数据有更多的理解,我再把它展开跟大家讨论一下。大家做企业,最容易想到的两个数据应用,一个是市场调研,派个市场公司或市场部门做一个调查,去看下各公司什么反馈。第二个就是商业智能BI、数据挖掘,查看数据经营的报表。这是最传统的两个数据应用。

    这样的数据应用有几个典型特征:



    1)要知道准备达成的目标,从而主动收集这些数据。

    由于每个企业的计算能力跟成本不一样,数据数据保留多少时间、哪些数据能用,是有所不同的。而大数据是实时的记录数据。原则上,任何人上任何一个网站、做的任何事情,所有事情都会被记录下来,没有人事先做区分。所以大家不再去问,是数据就记录下来,所以这是第一个差别。


    2)第二个差别:参与的人不再是有意识的参与,而是无意识的参与,你是为自己的利益在做事情。

    你用一次搜索,你就参与了谷歌的大数据搜集,因为你的每次点击就是一个数据来源。如果让你参加一个市场调研,80%的情况下你会拒绝,15%的情况下你可能会要求某种意义上的补偿。很少有人愿意主动的参加市场调研,因为对你来说是个负担。但是线上的大数据对绝大部分人来说,完全是一个无意识的、自利的行为。我上淘宝就是为了买东西,我上微博是为了看新闻,我上百度是为了搜索,你都是为了自己利益而触发的一个无意识的行为,但这个无意识的行为,都为大数据做了贡献。


    3)第三个差别,一个是单向,一个是双向。我们以前做的数据分析也好,都是先假定一个目的,然后拿到现成的数据,分析行为,来测试我的猜测。

    这些都是有一个单向的主导。大数据本质上一定是双向的,就像搜索,你点击搜索引擎点击的时候,你是给它输入了数据,它给你的结果就是它与你的互动,就是它带给你的数据价值。这个大数据本身也在随时为你创造价值,这样的话就变成一个双向互动的正循环,双方都给对方贡献了数据价值。任何大数据应用,如果在设计时就没有这种双向、互利的正循环的话,是跑不起来的,本质上就不是大数据。


    4)最后一点还想强调的是反应速率,大数据的数据价值越大,它的反应速率就要越高。

    比如说谷歌的搜索,你输入一个关键字看到的结果,跟一个小时以后再输入同样的关键字得到的结果,很可能已经不一样了。因为它已经把一个小时内全球所有的点击重新计算了一遍,然后把信息做了结果优化再反馈给你。所以大家可以想想看,反馈的速度越快,它创造的价值越大,消费者参与的动机就越大。数据越跑越大、反应越来越快、结果越来越好、用户参与会越来越大,才能变成一个黑洞效应。这是我想讲的大数据的核心概念。


         互联网的本质,讲完这三个词基本上已经讲完了。我给大家提供的是一些最基本的思考工具。你怎么用这种思考的方法去解决问题?最重要的是有互联网的思维,你先有了互联网的思维,你才能够去用互联网的技术。


         讲完了一些最基本的概念之后,接下来给大家再介绍一下基本的推论。基于互联网的本质,我们会得出一些什么样的结论?


         互联网的精神是什么?什么才叫用互联网的思维做事情?我刚才讲的那三个,已经把评判标准告诉大家了,拿这标准往上一套,基本上就知道是不是大数据的应用。

    那么互联网的精神是什么呢?



    1)平等。

    为什么是平等?这是由技术决定的,就像生产力决定生产关系。一个网状结构的互联网,是没有中心节点的,它不是一个层级结构。虽然不同的点有不同的权重,但没有一个点是绝对的权威。所以互联网的技术结构决定了它内在的精神,是去中心化,是分布式,是平等,是互动。平等是互联网非常重要的基本原则。


    2)开放。

    为什么要开放?你越开放,你跟别人的连接就越多。在一个网状社会,一个“个人”跟一个“企业”的价值,是由连接点的广度跟厚度决定的,。你的连接越广、连接越厚,你的价值越大,这也是纯信息社会的基本特征,是由你的信息含量决定你的价值。所以开放变成一种生存的必须,你不开放,你就没有办法去获得更多的连接。


    3)互动。

    无论是从互联网还是从大数据的角度,一定是双向的,互动才创造价值。其实“来往”本身就是互动,有来有往嘛。


    4)最后一个最实际的,是迭代。

    什么叫迭代?一个想法也好,一个产品也好,得先有原型,扔出去、用起来、别人给你反馈、你把坏处修正,这是一个实时互动的过程,而不再是理论。无论是研发产品还是提供服务,各个方面不再是原来那样通过一个看起来严谨的理论来实施的,更多的是通过实践、通过优化来逼近。所以更多的是计算,不再是数学理论。这是很大的一个差异。


         以统计为例,统计的理论都是在计算能力不够的情况下,用一种算术的方法找到最想要的,能够倒推出总体的状态。统计所有的力量都集中在理论、数学理论,而大数据所有的力量都集中在算法的优化。我根本不假定理论,我只是通过一轮一轮的迭代中回归,来逼近真实。用户的需求是什么?首先打出去,然后再校验,只要有双向的反馈,我总是离真实越来越近。所以迭代是互联网整个产品的最关键的一个基石。跟这相关的还有A/B test,这也是互联网的特殊性跟它的技术架构决定的,比如说要测试任何一个产品,我可以把淘宝流量的1%切出来,先给它试这个东西,试完这个程度我再把它放大到20%、80%。迭代跟A/B test的结合使用,让互联网企业的效率远远超过传统企业所能想象的。


    5)第五点是演化,而不是计划。

    大家应该有一定的感知了,我刚才讲的迭代也好,A/B test也好,它本质上不是通过一个完美计划来实现的,而是通过一种演化的方式,来逐渐优化、接近更好的状态,这是互联网精神。


         我总结互联网的精神就是,平等、开放、互动、迭代、演化,就这5个。既然是叫精神就要深入骨髓,贯彻到你的产品、服务、团队、组织、运营当中去。


         最后总结一下,互联网到底给我们带来什么?从一个最大的角度来说,互联网让我们从工业文明走向了信息文明,从工业经济走向了知识经济。这些话喊了二三十年,正是因为不断的喊,今天我们才可能跨过这个门槛。我把云计算的普遍使用,当做这个社会进入信息时代的标志。当然云计算作为一个公用事业,达到30%或40%的覆盖率,可能还需要十年左右的时间。但是我们应该已经像100年前状态,即1910到1920年这十年快速发展的状态。同时正是因为有了云计算,大数据变成了可能。如果没有海量数据的存储和计算能力让成本变得非常低廉的话,根本不可能做大数据,数据的成本就把你压垮了。


         我们在从一个机械系统的时代走向一个生态系统时代,从工业文明走向信息文明,从工业经济走向知识经济。从这个角度看,如果说农业文明时代最重要的资产是土地跟农民的话,工业时代则是资本、机器(机器是固化的资本)、流水线上被异化了的人。工业时代早期考虑最多的是异化的人,因为人也被当做机器在处理。福特另外很有名的一句话是“我根本不需要你们的脑袋,我只需要你们的手跟脚”,所以人只是流水线当中的螺丝钉。资本跟异化了的人,是工业时代最重要的生产要素。到了知识经济的时代最核心的资源,是两个新的东西,一个是数据,一个是知识工人(知识工作者),就是德鲁克在上个世纪末讲的Knowledge Worker。大家可以看到资本“Capital”,在未来再也不会占据那么大的重要性。当然我们整个社会的变化、生产关系的变化总是落后于生产力的变化,所以资本市场的整个评估,还是以股东利益作为最大化作为基本指导思想。企业的管理也会从传统的多层次走向更加扁平、更加网络、更加生态的方式。让Knowledge Worker真正能够创造价值,变成任何一个组织和整个社会最重要、最需要突破的地方。


         我附带提一句,大家要看书的话,有本书还是最经典的,就是德鲁克写的《21世纪的挑战》。这是写得最经典的一本书,对未来整个大趋势的变化,用最通俗易懂的方法,阐述了知识经济对于我们每个人到底会怎样。大数据只是知识经济落地最实在的切入口,当云计算有了大数据、有了互联网这样的基础后,这三者是三位一体的。没有云计算,就没有大数据,云计算是为大数据服务的,而整个互联网输出的就是计算能力。人们提过super computer超级计算机,而互联网就是最大的一台计算机,它输出的就是全社会所有需要的计算能力。


         当这三位一体的东西开始走向正向循环的时候,知识经济就真正开始了。在这个意义上,我们面临着跨时代的变化,而且一切才刚刚开始,未来还有太多太多的可能性。如果不是100倍空间的话,至少几十倍的空间是能看到的。任何一个大型技术革命,早期大家总是高估它的影响,会有一轮一轮的泡沫;但是中期大家往往会低估它的影响,觉得这些不过是概念而已。当你觉得它是概念的时候,它已经开始生根发芽,开始茁壮成长。


         本文内容根据2013年发表的主题为“互联网本质”的演讲整理编辑。

    具体链接地址参见:

    http://www.weibo.com/ttarticle/p/show?id=2309403991301946236807#_0

    展开全文
  • 有一个好想法,比你会一百门...在我以后的程序生涯里面,我想我不应该再完全沉浸在学一门又一门的技术,而是,要学会思考,学会思考那些技术背后的思想本质,期待,自己也能创造一门技术,而不再是每天学习别人的。

    如果你有装修过,或者家里造房子的经历,你会发现,大多数“技术工人”都是半瓶水,让你满意的人实在是凤毛麟角。就算你要找一个很有责任感的,不需要你去监督,做事情精益求精的人都基本上是没有的。

    你或许在装修,并正在抱怨那样的技术工人。但是,你的老板或许也同样的在抱怨你:只有半瓶水,还吹牛吹的不行。当没有人监督,没有项目任务的时候,你就开小差,偷懒。做事情,也都是在赶进度,凑合,蒙混过关就行。

    我想,这或许就是技术工人吧,我们的工作实际上没有什么创造性。所以,当我们工作很多年,也就不再有激情了,变成江湖小混混了。你可以学会N种编程语言,学会怎么更好的组织代码,学会如何在unix上写代码,只要花出时间,功夫,你就能成为一个优秀的程序员。技术,说白了,就是熟能生巧。不管,你挂了什么架构师的头衔,还是你在搞什么云计算,听上去在弄一些别人不知道的技术,其实学习这些技术不需要一个人多少悟性,多少创造性,只要花下时间这些东西你都能很精通。像处理大数据,正如我一个在淘宝的朋友说的,大多数觉得这个神秘,是因为平时工作的时候接触不到,实际上,如果每天都接触,也就是这样一回事,这就是技术。我想,每个人,当它学了很多技术了之后,肯定就会发现这样的一个问题,我学了这样多,情况也就是这样,可能水平比别人好一点,但是也搞不出多少档次,难道我这辈子就这样学下去了吗?于是,慢慢的,我们就会变成正常的“技术工人”了。

    在我研究高性能服务的时候,我研究了很长时间的 IOCP ,linux 上的 aio,libev,并读了一遍nodejs的源代码。我突然发现,我学的是比别人多一点,但是仅仅是这样而已,因为一门技术,公开的技术,每个人都可以搞清每一个细节,然后就可以实现一个很高性能的服务器。所以,本质上,我们没有什么竞争力。也不能为我们这个世界做出突出贡献。

    我经常会听到某人某人技术有多牛,我就会很崇拜,我一直很羡慕一些人,懂得很多东西,为什么他们有这样多的时间去学这样多的东西。去年,我认识一个人,他会写编译器,我羡慕不已,于是我也学了半年,最后,我也会写编译器了,但是,会写了之后,我发现我并没有什么升华,而只是又会了一样东西而已,而且,也只是学了半瓶水,比如,其实,要真正编写一门语言,必须要学会编译器优化,而这个实际上很难,要学会又要很长的时间才能会。世界上,一直不缺少这样的人,只要给他时间,他就能学会一样东西。但是,就算懂的再多,也只是懂了一个东西,怎么样用出来,解决一些别人还没有解决的问题才是关键。

    Node.js 可以说是一个个人作品,但是,却成为了一个平台。为什么其他人没有想到这样一个想法呢?我想,只要你要想到 Javascript 和异步IO 结合起来,你也能写出这样一个作品。这背后的想法是关键。

    最近有一本书很流行,黑客与画家,里面有一个垃圾邮件过滤的章节。在2002年前,没有人想到用很成熟的贝叶斯公式来实现,而当被人一语点破之后,我想世界上有一半的程序员都能解决这个问题了。

    有一个好想法,比你会一百门技术还有意义,技术可以在你有了想法之后再学,但是,你会100门技术,不见得就能一语惊人。在我以后的程序生涯里面,我想我不应该再完全沉浸在学一门又一门的技术,而是,要学会思考,学会思考那些技术背后的思想和本质,期待,自己也能创造一门技术,而不再是每天学习别人的。

    展开全文
  • Andorid Activity的本质什么

    千次阅读 2014-02-27 15:20:49
    Activity恐怖是Android用得最多且是最基本的组件了,估计也是每个学Android的人接触的第一概念,对于Activity的理解和说法,层出不穷,有人说是一个窗口,有个说是一个活动,但他的本质什么呢?

    本文我主要通过查看Activity的实现源码和推测其设计思想的方法来探讨一下Android的本质是什么。


    Activity恐怖是Android用得最多且是最基本的组件了,估计也是每个学Android的人接触的第一概念,对于Activity的理解和说法,层出不穷,有人说是一个窗口,有个说是一个活动,但他的本质是什么呢,官方的说法是Activity一个应用程序的组件,它提供一个屏幕来与用户交互,以便做一些诸如打电话、发邮件和看地图之类的事情,原话如下:

    An Activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map.

    这句话概括的很好,但我并不认为这就是Activity的本质。


    切入主题之前,我们先要了解一下UI系统的职责和原理。所有的图形界面,无论是什么UI系统,都要收集用户的活动,这些活动包括打开和关闭程序,输入事件等,这样系统才能针对这些活动做出一些反应,比如程序打开时加载一个数据库,建立一个网络连接,不过针对这些活动所作出的反应都委托给了具体的应用程序,系统相当于只是把这些事件或消息转发给应用程序。下面是一个简单的图:


    这些消息怎么转发给程序呢,可以约定好,要求应程序写一个方法,或如果是C可要求传入一个回调,Java可以要求程序传入一个监听器,总之实现这个功能还是很容易的,但这么多消息,全部传到一个方法里吗,我想那样会很惨,那样可能要求你写应用程序的时候可能要写一个长长的swich语句或if语句,所以一般都把这些消息分类,如一种是整个程序的活动的消息,如关闭和打开,还有就是输入事件,如按键鼠标,每个分类里的消息还可以再细分,这样的话,就可以封装成多个类或接口,每个类有数个方法,之后应用程序重写这些类方法或实现某个接口,系统就可以通过调用这些类或接口的实例发送消息了。

    于是问题转化成了类的设计。在Windows中,有个窗口类来接受一个窗口的活动,系统就可以通过调用窗口类的方法来传递消息,这个窗口类既接受打开和关闭的活动,又接受用户输入事件。而在Android中而不同,Activity只接受打开和关闭等的活动,而不会接受输入事件,那是由Activity内嵌的Window类来接受的,然后转发给相应View,你有可能会说Activity中有个onKeyDown方法,其实那只是处理没人领的按键消息才会到达Activity。现在发现Android和Windows分发消息的的区别了吧,这样化分,每个类的职责更细了,更明确了,当然喽,Android中的消息跟Windows中的可能有点稍小的区别。


    现在应该可以很容易的理确Android的每一个生命周期对应的方法(onCreate, onStart...)其实是处理收到的消息,当用户打开一个Activity的时候,系统(严格的说应该是ActivityManager)就会调用onCreate来告诉你这个消息,这个时候你就要加载你的XML布局文件并做一些初始化。然后离开的时候,就应该把这个Activity销毁吗,如果用户是暂时离开,等下还要回来呢,如果销毁了那就又得重创建,太浪费时间了(用我们家乡话说就是太难费神了),所以不能销毁,但是系统也得通知你用户离开了(用的是onStop方法),因为可能需要暂停播放视频。当下次重新进入的时候,系统又会通知你用户又进来了,这时你可能要恢复播放了,但你有没有发现,用户第一次进入和再次进入,你需要做不同的处理,第一次可能是初始化一些资源,第二次可能只要恢复播放就可以了,所以系统应该告诉你,是第一次进入还是再次进入,于是系统就用了两个方法,用onCreate告诉你用户是第一次进入的,用onStart告诉你用户是再次进入。

    不过这还不算完,还有一种情况,用户是半离开状态,什么是半离开呢,都知道Android的界在有全屏,还是非全屏,也有半透明的,这里的半离开指的就是本界面被一个非全屏或半透明的界面盖住,总之,你还能看到一点点被盖的那个界面;全离开就是被全屏的界面盖住,用户完全看不到被盖的。这两种情况要有可能要区别对待,比如一个播放在线视频的应用,它可能希望要在用户半离开时只暂停播放,不暂停后台下载,而当用户完全离开时,播放和下载都暂停。所以系统也应该区分这种情况,于是就有了onPause和onResume来表示半离开和从半离开恢复。值得注意的是,Android中全离开包括了半离开,半离开不包括全离开,什么意思呢,就是即便是全离开,系统也是先调onPause再调onStop,从全离开中恢复,也是调了onStart后还会调onResume,而对于第一次进入,onCreate、onStart、onResume会被依次调用,所以记住,只要用户进入,无论是怎么进入的,都是调用onResume,在这里恢复播放是再适合不过的了。还有一个onDestory也说一下,就是在销毁的时候被调用,一般是回收资源或按了返回键会被销毁。现在清楚了,也顺便看一下Android官网的这张图吧:


    然后,你可能好奇系统是怎么调用到你写的onCreate方法的,有兴趣的可以查看源码的frameworks/base/core/java/android/app/ActivityThread.java,此类里面有许多handle***Activity方法,如handleResumeActivity,不过这不是本文章讨论的重点,后续有可能另写一篇讨论。

    下面我们来讨论一下Activity这个类吧,我估计很多人都忽略了Activity类也是一个类,它也可以有构造函数,你还可以在构造函数里初始化一些东西,不过请注意,Activity的onDestroy被调用时,Activity这个类本身还没有被销毁。还一点也很少人忽略,我常问应聘者Activity之间怎么通信,他们一般都会说Intent或AIDL,如果两个Activity是同一个应用的,一般是运行在同一进程中的(除非你在AndroidManifest里配置了让它们不运行在同一进程),而且一般是同一线程的,所以最简单的通信方法,莫过于在A Activity中写一个方法,让B Activity来调用,你再懒一点,直接访问变量都可以,只是风格不好。

    其它,还要说明的是,一个Activity包含了一个Window,Window才是真正代表一个窗口,也就是说Activity可以没有Window,那正好是Service了,论据就是刚刚说的ActivityThread类,他的职责包括处理Service,(ActivityThread不是Thread的子类,但他描述了主线程要做的事,具体本文暂不讨论)。Window包含了一个DecorView,这才是真正的界面元素,它是整个View树的根,你可以试试在Activity里调用下面这句代码把整个界面染红:

    getWindow().getDecorView().setBackgroundColor(Color.RED);


    另外,还有一个ViewRoot,这个和DecorView经常有人搞混,首先是它对应的类的真正名字是ViewRootImpl,然后,他不是一个View,即他不是View的子类,他的工作与视觉元素无直接关系,但他确定Android View系统的一个重要类,它是负责通信的,如果你知道bridge设计模式就好理解了,这就是一个活生生的例子啊,不过不知道也没关系,不会阻碍对下文的理解,负责谁跟谁通信呢,是负责你的WindowManager与WindowManagerSerivce之间通信,整个系统的窗口都是由WindowManagerSerivce管理的,因为所有窗口的Z-order,事件分发,都要由一个中枢统一管理才可能有秩序,这就是WindowManagerSerivce的职责了。这样说,你肯定不能完全理解,要理解还是看代码吧,路径:frameworks/base/core/java/android/view/ViewRootImpl.java。其中有一句:

    mOrigWindowType = mWindowAttributes.type;
                        res = sWindowSession.add(mWindow, mSeq, mWindowAttributes,
                                getHostVisibility(), mAttachInfo.mContentInsets,
                                mInputChannel);
    就是向WindowManagerSerivce注册了一个输入事件处理监听器mInputChannel,具体实现可以写一篇很长的文章,暂不讨论。

    这就是与Activity主要相关的信息,希望本文加深了你对Activity的理解。


    参考资料:

    官网指南:http://developer.android.com/guide/components/activities.html

    展开全文
  • ERP 的管理思想本质

    2009-08-19 18:04:23
    ERP的核心管理思想就是实现对整个供应链的有效管理,主要体现在以下3个方面:  1.体现对整个供应链资源进行管理的思想:.....
  • 环境正义思想产生的缘由与实质研究.doc
  • ★《技术的本质》是复杂性科学奠基人、首屈一指的技术思想家、“熊彼特奖”得主布莱恩•阿瑟所创建的一套关于技术产生和进化的系统性理论,本书是打开“技术黑箱”的钥匙,它用平实的语言将技术最本质思想娓娓道来...
  • 微积分的本质什么

    千次阅读 2021-06-13 00:03:18
    一微积分的本质什么?我给自己设定的要求是本段没有一个公式,而且中学生都能听得懂。求一个直角三角形的高,可以通过底长和夹角来推算,但如果三角形是一个曲边的呢?再用加角和底边儿推算就会产生很...
  • 什么是AOP(面向切面编程)思想

    千次阅读 2018-08-03 18:24:06
    但框架这个词对新手有点抽象,以致于越解释越模糊,不过它确实是个框架的,但那是从功能的角度来定义的,从本质意义上来讲,Spring是一个库,一个Java库,所以我个人觉得应该这样回答Spring是什么:Spring是一个库,...
  • 什么是面向对象的编程思想

    千次阅读 2019-01-05 08:23:38
    面向对象的编程产生的历史原因:...于是,面向对象的编程思想就产生了。 面向对象的编程的主要思想是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的...
  • 在阐述马克思对人的本质理解三种提法的深刻内涵及其内在联系的...科学地解读马克思"人的本质"思想的关键,在于能否科学地揭示人的本质的内在矛盾。人的本质是主体性与客体性的统一,个体与类的统一,实然与应然的统一。
  • Oracle GoldenGate的思想天空--感悟OGG的本质 本文的标题,高度模仿白总的《DBA的思想天空--感悟oracle数据库本质》,嘿嘿。 本文说一下自己对OGG的理解,很可能存在不正确的地方,欢迎各位批评指正。 1....
  • 计算机的本质什么?逻辑?数学?

    千次阅读 多人点赞 2019-07-01 08:00:00
    对于计算机,多数人会认为计算与逻辑是密不可分的,甚至还有人认为计算的本质其实就是逻辑。而逻辑与数学的关系是,逻辑并不等于数学,只是曾经有人想以逻辑为基础来构建数学。逻辑、计算和数学三者应该如何融合? ...
  • 机器学习的本质什么

    千次阅读 2018-02-23 11:43:34
    机器学习方法本质上是人类认知方式的新世界,是人类的未来。工业革命解放了人类的体力,以机器学习技术逐步解锁的人工智能革命将解放人类的脑力。这不是技术层面上的进步,而是从根本上改变人类认知世界的方式。长久...
  • 无必要性的必要——论海德格尔思想之Not概念的实质含义.docx
  • 论孔子的思想学术方式的科学本质

    千次阅读 2006-05-07 01:01:00
    论孔子的思想学术方式的科学本质 作者:杨润根 [一] 思想学术方式指的是一种获得知识的手段和方法,因此探讨孔子的思想学术方式就是探讨孔子的获得知识的手段和方法。 在整个人类的历史上,存在着两种截然不同的...
  • 作者基于多年的大数据处理经验,当前管理着100PB+数据仓库和2000+节点的集群。持续系统化给大家分享一下关于数据仓库建设的...1.什么是数仓建模本质? 所谓的数据仓库建模,听着很高大,我们要透过现象看本质。其...
  • C++编程思想,能使你对c++有本质的体会。是学习不错的资料。
  • 2018_2019学年高中政治第三单元思想方法与创新意识第九课唯物辩证法的实质与核心第一框矛盾是事物发展的源泉和动力课时作业新人教版必修4
  • 安东尼奥·葛兰西(1891—1937)是西方马克思主义的早期代表...思想政治教育的本质是意识形态教育,是一种灌输和传播意识形态的社会实践活动,研究葛兰西的意识形态的理论对我国的思想政治教育意识形态功能具有重大的意义。
  • C 编程思想

    2014-04-13 19:45:24
    c语言大师必看的一本书,学习计算机语言的本质不是学语法而是学习思想
  • 数据及大数据的本质到底是什么

    千次阅读 2019-02-22 17:43:23
    对于哲学家们探索的数据本质特征,我们可以从以下几个方面来把握。 数据与大数据 技术进步,主要是计算机、网络和各种类型的传感器以及云技术、分布式计算与存储等海量存储技术的广泛应用和运算能力极速进步,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 279,393
精华内容 111,757
关键字:

思想的本质是什么