10 2012 档案
摘要:在Android系统中,提供了独特的匿名共享内存子系统Ashmem(Anonymous Shared Memory),它以驱动程序的形式实现在内核空间中。它有两个特点,一是能够辅助内存管理系统来有效地管理不再使用的内存块,二是它通过Binder进程间通信机制来实现进程间的内存共享。本文中,我们将通过实例来简要介绍Android系统的匿名共享内存的使用方法,使得我们对Android系统的匿名共享内存机制有一个感性的认识,为进一步学习它的源代码实现打下基础。 Android系统的匿名共享内存子系统的主体是以驱动程序的形式实现在内核空间的,同时,在系统运行时库层和应用程序框架层提供了访问接口,其..
阅读全文
摘要:在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。 我们知道,Android系统是基于Linux内核的,而Linux内核继承和兼容了丰富的Unix系统进程间通信(IPC)机制。有传统的管道(Pipe)、信号(Signal)和跟踪(Trace),这三项通信手段只能用于父进程与子进程之间,或者兄弟进程之间;后来又增加了命令管道(..
阅读全文
摘要:Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,是可以的,然而从商业的角度来看,把对硬件的支持逻辑都放在内核空间,可能会损害厂家的利益。我们知道,Linux内核源代码版权遵循GNU License,而Android源代码版权遵循Apache Lic
阅读全文
摘要:Android系统源代码情景分析(含CD光盘1张)(全面、深入、细致地掌握Android,引领移动互联网新时代!)罗升阳 著ISBN978-7-121-18108-52012年10月出版定价: 109.00元(含光盘1张)16开840页全面、深入、细致地掌握Android,引领移动互联网新时代!内 容 简 介在内容上,本书结合使用情景,全面、深入、细致地分析了Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(Application Framework)以及应用程序层(Application)。在组织上,本书将上述内容划分为初
阅读全文
摘要:近几年来,云计算受到学术界和工业界的热捧,随后,大数据横空出世,更是炙手可热。那么,大数据和云计算之间是什么关系呢?从整体上看,大数据与云计算是相辅相成的大数据着眼于“数据”,关注实际业务,提供数据采集分析挖掘,看重的是信息积淀,即数据存储能力。云计算着眼于“计算”,关注 IT 解决方案,提供 IT 基础架构,看重的是计算能力,即数据处理能力。没有大数据的信息积淀,则云计算的计算能力再强大,也难以找到用武之地;没有云计算的处理能力,则大数据的信息积淀再丰富,也终究只是镜花水月。从技术上看,大数据根植于云计算云计算关键技术中的海量数据存储技术、海量数据管理技术、MapReduce编程模型,都是大
阅读全文
摘要:大数据领域已经涌现出了大量新的技术,它们成为大数据采集、存储、处理和呈现的有力武器。这些技术下一步将如何发展?它们之中哪些技术将广为流行?又会诞生哪些新的技术?技术趋向多样化,企业应选择接受度高和未来会快速普及的技术目前,大数据相关的技术和工具非常多,给企业提供了更多的选择。在未来,还会继续出现新的技术和工具,如Hadoop分发、下一代数据仓库等,这也是大数据领域的创新热点。那么企业到底该选用什么技术呢?TDWI(数据仓库研究所)对现有的大部分技术和工具进行了调查,以现在及未来三年内企业接受度和增长率两个维度进行划分,这些技术和工具可分成四类(见右图)。企业最需要关注的是第1类中的技术和工具,
阅读全文
摘要:在大数据时代,传统的数据处理方法还适用吗?大数据环境下的数据处理需求大数据环境下数据来源非常丰富且数据类型多样,存储和分析挖掘的数据量庞大,对数据展现的要求较高,并且很看重数据处理的高效性和可用性。传统数据处理方法的不足传统的数据采集来源单一,且存储、管理和分析数据量也相对较小,大多采用关系型数据库和并行数据仓库即可处理。对依靠并行计算提升数据处理速度方面而言,传统的并行数据库技术追求高度一致性和容错性,根据CAP理论,难以保证其可用性和扩展性。传统的数据处理方法是以处理器为中心,而大数据环境下,需要采取以数据为中心的模式,减少数据移动带来的开销。因此,传统的数据处理方法,已经不能适应大数据的
阅读全文
摘要:转型时代丛书大数据——大价值、大机遇、大变革(全彩) (无须技术背景,无须专业知识,照样看透大数据!)李志刚主编朱志军,佘丛国,闫蕾等编著ISBN 978-7-121-18560-12012年10月出版定价:78.00元16开244页宣传语:图文并茂,深入浅出,活泼有趣,轻松理解大数据引发的深刻变革!内 容 简 介不管你愿意不愿意,我们每天都在制造和分享数据;不管你关心不关心,我们已经生活在大数据的包围之中。大数据,这个在 2012 年突然火爆起来的词汇,我们究竟该如何解读?本书介绍了大数据产生的背景、特征和发展趋势,从实证的角度探讨了它对社会和商业智能的影响,并认为大数据正影响着商业模式的转
阅读全文
摘要:Scala解释器启动Scala解释器的步骤如下:●安装Scala。●确保scala/bin目录位于系统PATH中。●在你的操作系统中打开命令行窗口。●键入scala并按Enter键。提示:不喜欢命令行?你也可以通过其他方式运行Scala解释器,参见 http://horstmann.com/scala/install。现在,键入命令,然后按Enter键。每一次,解释器都会显示出结果。例如,当你键入“8 * 5 + 2”(如下面加粗的文字),将得到42。scala> 8 * 5 + 2res0: Int = 42答案被命名为res0,你可以在后续操作中使用这个名称:scala> 0.
阅读全文
摘要:快学Scala(CoreJava作者Horstmann最新力作)(美)霍斯曼(Horstmann,C.S.)著高宇翔译ISBN978-7-121-18567-02012年10月出版定价:79.00元16开408页内 容 简 介Scala是一门以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅
阅读全文
摘要:激活完成了,你手中的iPad是屏幕锁定状态,拖动滑块便可解除锁定而进入iPad的主屏幕。主屏幕主屏幕是 iPad 的起始页面,你可以在此找到你的全部应用程序和文件夹。点按主屏幕按钮就可在此切换应用程序,你还可以在主屏幕上添加常用应用程序和网站,并用文件夹进行整理,让你的 iPad 更加个性化。iPad的主屏幕主屏幕呈“小清新”风格,简单明了,分为三个区域:状态栏区域1为状态栏,显示网络信号强度、时间及电池剩余电量等信息。状态栏可以快速下拉的通知栏,方便用户查看所有未读的通知,包括未读邮件和应用程序的相关提醒等等,你仅仅是用手指按住屏幕顶端,然后轻轻向下一划,便可查看到未读的通知。应用程序区区域
阅读全文
摘要:能够在触控屏幕上快速输入文字是iPad的亮点之一。在需要输入文字时,虚拟键盘会自动出现在屏幕的下方。横放iPad时的虚拟键盘的尺寸基本和实际键盘是差不多,使用起来非常方便。虚拟键盘首先,我们可以打开ipad,进入“设置”——>“通用”——>“键盘”,看到这些特“首字母自动大写”等殊优化设定都已经开启了,每个人可以根据自己的需要做相应调整。虚拟键盘的设置您也可以通过外接Apple Wireless Keyboard键盘来输入文字,当使用外接键盘时,iPad屏幕上不会出现虚拟键盘。设置键盘->国际键盘->添加新键盘->表情符号,就可开启表情、象形符号,你就能通过输入字
阅读全文
摘要:在iPad上,指尖的操作非常重要,用手指就能进行一系列的操作,就能轻松操控iPad。(1)基本的手势操作iPad上支持的手势基本操作如下表所示。操作动作手势示意图操作说明实现功能轻点(轻触)使用手指轻轻触碰屏幕选择、打开双击(两次轻点)使用手指快速触碰屏幕两次放大视图或缩小视图拖动 使用手指在屏幕上拖动移动图标位置滑动(滚动) 使用手指在屏幕上快速滑过滚动列表、移动滑过列表表示删除捏合 使用两只手指触碰屏幕并滑动两只到一起缩小返回相册模式展开 使用两只手指触碰屏幕并活动两只分开放大进入照片模式按(长按) 长时间触碰屏幕 特殊功能(如删除程序或退出程序等)(2)多任务手势操作iOS5.1提供了多
阅读全文
摘要:根据上面的接口交互描述,我们可以看到,应用系统要接入单点登录系统,实现通行证机制,主要要实现以下接口功能。用户身份认证检查用户是否为合法用户,否则,向Service认证中心发送认证请求。这里用了一个页面基类来实现身份验证的功能,所有需要做验证的页面,只需要继承该类即可,当然,也可以用这个代码实现一个用户自定义控件,放到需要做验证的页面上即可。//<summary>//====================//应用系统验证(页面)的基类//====================//</summary>publicclass ValidatePageBase : Sys
阅读全文
摘要:为了更好地让应用系统进行调用,有的时候需要对接口进行封装,把复杂的东西包起来,让应用系统接口开发者感觉越简单越好。这样你的系统才更容易被推广或应用。比如,现在的很多在线支付接口都提供了软件开发包。我们也可以通过封装来实现接口开发包,让开发人员简单开发,轻松调用。1.接口封装我们添加一个SSOLib类库项目,提供对应用系统接口代码的封装,从而使其他应用系统通过调用该类库,即可实现接入认证服务中心。SSOLib类库项目如图18-17所示,详细代码请参考本书配套光盘。图18-17 SSOClass类库项目l Assistant类:辅助工具类。l DESEncrypt类:加密/解密处理类。l SynP
阅读全文
摘要:项目中的.NET(含CD光盘1张)李天平编著ISBN978-7-121-17670-82012年8月出版定价:108.00元(含光盘1张)16开772页宣传语本书别无它用,只能用来求职、做项目直指.NET核心优势,以商业实战指导新手入行内 容 简 介本书作者是从事.NET一线开发的资深专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习方法。本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题
阅读全文
摘要:语言只是工具我曾经是非常执著的开发人员。我有连续几天几夜 Coding 的经历,也曾经为了一个技术问题耗上三四个星期而导致项目一再延迟,还曾经为了一个实现细节与项目相关的人员逐一争论。我也曾经像大多数的开发人员一样热衷于争论语言之间孰优孰劣。我在“Delphi大富翁论坛”上写过一个简介,其中个人特长是“擅长 TurboPascal、Delphi、TASM 系列语言,痛恨 C/C++。(凡见有价值之 C 代码,先读通,后写成 Pascal/Delphi,最后骂一句:C 写得真笨!)”。我至今保留这段文字,因为那的确是真实的经历。如今我已经不再专注于语言,正如我在第一章中写到的一样:成天讨论这门语
阅读全文
摘要:周爱民著ISBN 978-7-121-17790-32012 年8 月出版定价:49.00 元16开228页内 容 简 介本书提出了审视软件工程的全新视角和软件工程的体系模型(EHM,软件工程层状模型)。本书用非工程的方式重新解析软件工程现象,全面、细致而深刻地分析了工程中各个环节的由来、价值及其内在关系。综合论述开发、工程二者的现状,例如对程序员“工匠思想”的起源进行广征博引的分析,也对工程中“敏捷过程”的经验主义本质进行深至髓质的论证。全书语言轻快,可读性强,薄且有味。本书是在“思想方法学”这一软件工程尚未涉足过的领域中的实习之作。作者亲历国内软件工程的英雄时代、泡沫时代,从失败中醒觉而创
阅读全文
摘要:当我还是一个初出茅庐的程序员时,我想掌握自己所用语言的每个特性。我写程序时会尝试使用所有的特性。我认为这是炫耀的好方法,而我也的确出了不少风头,因为我对各个特性了如指掌,谁有问题我都能解答。最终,我认定这些特性中有一部分特性带来的麻烦远远超出它们的价值。其中,一些特性因为规范很不完善而可能导致可移植性问题,一些特性会导致代码难以阅读或修改,一些特性诱使我追求奇技淫巧但却易于出错,还有一些特性就是设计错误。有时候语言的设计者也会犯错。大多数编程语言都有精华和糟粕。我发现如果取其精华而弃其糟粕的话,我可以成为一个更好的程序员。毕竟,用坏材料怎么能做出好东西呢?标准委员会想要移除一门语言中的缺陷部分
阅读全文
摘要:我让你的脚玷污我的嘴唇,让你的肖像玷污我的眼睛,让你的每一部分玷污我的心,等候着你的答复。你的最忠实的……——威廉•莎士比亚,《空爱一场》(Love’s Labor’s Lost)去年我被邀请为 Andy Oram和 Greg Wilson 的 Beautiful Code一书写一篇文章,这是一本以计算机程序的表达之美为主题的选集。我负责的章节将介绍 JavaScript,通过那一部分来证明 JavaScript不虚其名,它的确是抽象、强大且有用的。然而,我想避开不谈浏览器和其他适合使用 JavaScript的地方。我想要强调其更有分量的内容,以显示它是值得尊敬的语言。我立即想到 Vaughn
阅读全文
摘要:JavaScript语言精粹(修订版)(美)克罗克福德(Crockford,D.)著赵泽欣,鄢学鹍译ISBN978-7-121-17740-82012 年8 月出版定价:49.00 元16开172页宣传语深入挖掘JavaScript精华内 容 简 介JavaScript 曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax 的到来,JavaScript“从最受误解的编程语言演变为最流行的语言”,这除了幸运之外,也证明了它其实是一门优秀的语言。Douglas Crockford 在本书中剥开了JavaScript沾污的外衣,抽离出一个具有更好可靠性、可读
阅读全文
摘要:这里,\\.\g就是U盘的设备名,当配置文件中添加写入U盘时(目标文件为U盘设备名),我们可以插入U盘到真实机器去运行。接下来,需要编写自己的boot代码,下面是简短的示例片断:; set BOOT_SEG environmentmov ax, csmov ds, axmov ss, axmov es, axmov sp, BOOT_SEG ; 设 stack 底为 BOOT_SEGcall clear_screenmov si, hellocall print_messagemov si, 20 ; setup 模块在第20 号扇区里mov di, SETUP_SEG - 2call l..
阅读全文
摘要:在实际工作中接触到一些与x86/x64平台底层的问题时,往往是遇到不懂的就翻翻Intel或AMD提供的手册,这样掌握并不牢固,下次重遇问题时还要翻手册。现在让我们一起来系统地学习x86/x64体系知识,然后需要温故而知新。实验的重要性在学习过程中,我们以探索为目的,以实验为依托。要透彻地对一个知识点进行理解,显然经过测试实验的论证是最好的方法,也只有经过全方位的测试才是最为真实可靠的。Intel和AMD官方手册某些描述上存在着隐晦难懂的地方,甚至可能还会出现错误。因此测试实验起的作用是:验证真伪和去除疑惑。下图是在Intel64软件开发者手册里截取到的一段有误的描述:截图中描述的是INT指令在
阅读全文