`
hyshucom
  • 浏览: 808629 次
文章分类
社区版块
存档分类
最新评论
文章列表
转自:http://blog.csdn.net/zzzaquarius/article/details/6532299 简介 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。 将讨论的浏览器 今天,有五种主流浏览器——IE、Firefox、Safari、Chrome及Opera。 本文将基于一些开源浏览器的例子——Firefox、Chrome及Safari,Safari是部分开源的。 根据W3C(World Wide Web Consortium万维 ...
部分内容来源于本文:http://blog.csdn.net/qq295445028/article/details/7993051 一、消息格式 如果说,多线程模式下,对数据的访问开销来自于锁,那么在多进程模式下,大部分的额外开销都来自于进程间的消息拆装和传递。不论怎么样 ...
一、 初始化流程 每一个RenderProcessHostImpl(RenderProcessImpl)都会ChannelProxy(SyncChannel)—>ChannelProxy::Context—>Channel—>ChannelImpl—>ChannelReader依次初始化下去。并且将this指针传递给下一个类,这样发送消息时层层向下传递。 ...
一、 综述 Chromium的多进程模型意味着会有频繁的进程间通信,其中主要的IPC方式是命名管道。在遵循posix标准的操作系统中,通过UNIX域套接字来实现命名管道。每个render进程都会分配一个命名管道来与browser进程通信,并且该管道是以异步方式使用,以确保不会因等待而阻塞。 Chrome最主要有三类进程,一类是Browser主进程;各个Render进程;另外还有一类是Plugin进程,每一个插件,在Chrome中都是以进程的形式呈现。Render进程和Plugin进程都与Browser保持进程间的通信,Render进程与Plugin进程之间也有彼此联系的通路,唯独是多个Ren ...
1. 下载gtest源码到自己的目录下,普通的configure、make 2. sudo cp -r ./lib/.libs/* /usr/local/lib/ (特别注意,是.libs,一个隐藏文件) 3. sudo cp -r ./lib/include/* /usr/local/include 也就是说,这种共享库,实际上就是一个简单的拷贝。 btw,别忘了,export LD_LIBRARY_PATH=xxxxxxx
由于最近研究Android 模拟器的GPS模块的实现,发现了模拟器GPS的bug。 启动模拟器,通过DDMS发送经纬度,通过应用可以抓到数据,进入设置,安全与位置,关闭GPS,再打开,再次打开GPS测试软件,再次发送经纬度,怎么也收不到。 查看了代码发现Android模拟器中完成GPS模块的功能主要是一个HAL层代码,通过socket接收发送过来的经纬度信息,其中代码是有问题的,GPS模块的工作主要是一个线程,当关闭GPS模块的时候这个线程结束了,再次打开的时候不会去启动这个线程,所以GPS模块就不工作了,具体看如下代码: static void gps_state_thread( vo ...
好久没有写技术博客了,恰逢今天还感冒了,这破天气,晚上凉风一吹,就感冒了,要加强锻炼呀。 好了,废话不多说,由于工作需要,我要移植一个虚拟的gps模块,于是乎,我就参考了android模拟器的gps模块的实现方法,只需稍微改动就完成了我的工作了,随后我也会附上我做的模块的代码,这里主要还是来解析下模拟器上的gps模块代码吧。 相信做过android location方面应用的同志都知道,android 模拟器虽然没有真正的GPS功能,但是DDMS可以模拟GPS,通过telnet连接到adb,然后发送GPS数据,再转化成NMEA格式的信号给android系统,就可以模拟出location功能了 ...
在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显, 直接使用一个DIV是可以的,比如: <div unselectable="on" onselectstart="return false;">不能选中的内容</div> 但是假如在这个DIV前面在出现一个普通的DIV,那就有问题了,比如: <div>普通DIV<div> <div unselectable="on ...
我们知道,要想对数据进行检索,最基本也是最重要的东西就是数据本身了。 本章介绍如何获取大量的网页信息。 相信大家都听说过‘网络爬虫’,我们正是通过这种方式搜集网页的。 一、下面首先简单的介绍一下网络爬虫的基本结构: 简单的讲就是: 1、从一个url开始搜索,将这个页面上的所有链接保存,放入一个queue中。 2、接着从这个queue中取出一个url,重复第1步 这个过程类似于BFS(广度优先搜索)。(为了防止url被重复使用,这里可以用两个集合分别存放已下载与未下载的url)。 由于下载网页的速度与网速有关,cpu的时间大部分时间都消耗到了等待上面,因此,这里的网络爬 ...
数据表 MMS模块总共包含17张表:addr、android_metadata、attachments、canonical_addresses、drm、part、pdu、pending_msgs、rate、raw、sms、sr_pending、threads、words、words_content、words_segdir、words_segments。 其中,pending_msgs表用于存储待发送或下载的短信与彩信(有待证实),使用pdu中的触发器进行插入和删除。raw表用于存储接收中的长短信或分段彩信通知。drm用于彩信权限管理。words开头的表存储了短彩信中的单词,用于搜索时使用。 ...
委托与事件,它们的应用非常广泛,为了便于复习,我特地将它们总结了一下。 一、委托 委托,通俗的讲,就是‘方法’的容器。 是用来存放和调用方法用的。 下面这个例子,简单的介绍一下委托的用法: public delega ...
1.HIVE结构 Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称 ...
在介绍属性之前,我想问问各位有经验的大牛,属性的作用这么多,被外部访问的字段是不是都需要将它设为属性? C#中的属性,体现了C#作为面向对象语言的封装性。它避免了外部类字段的直接访问、使得代码的安全性得到了加强。 属性与字段的区别: 属性是逻辑字段;属性是字段的扩展,源于字段; 属性并不占用实际的内存,字段占内存位置及空间。 属性可以被其它类访问,而大部分字段不能直接访问。 属性可以对接收的数据范围作限定,而字段不能。 最直接的说:属性是被“外部使用”,字段是被“内部使用”。 下面来看看,属性这种看起来麻烦的东西,到底能够带来什么样的好处: ...
转载自:http://www.cnblogs.com/highriver/archive/2012/02/06/2340300.html git commit -a让你找到subversion的感觉,该命令包含了git add。 git pull表示跟踪远程分支的本地分支更新。git rebase是将本地的其它分支合并到当前分支。
git show HEAD查看父母的消息 git show HEAD查看父母的消息 git show HEAD^ //查看HEAD的父母的信息 git show HEAD^^ //查看HEAD的父母的父母的信息 git show HEAD~4 //查看HEAD上溯4代的信息 要注意的是git-merge有可能产生双父母,这种情况这样查看: git show HEAD^1 //查看HEAD的第一个父母 git show HEAD^2 //查看HEAD的第二个父母
Global site tag (gtag.js) - Google Analytics