自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 2.6 Binder机制(MediaService)

简介: MediaService程序里注册了提供媒体播放服务的程序MediaPlayerService(MediaPlayerClient是与MediaPlayerService交互的客户端程序)。MediaService源码:int main(int argc, char** argv){ //获得一个ProcessState实例 sp<ProcessState> proc(Pr

2016-04-16 14:22:40 283

原创 5.4 桶排序

原理:   假设输入的待排序的数组的所有元素是由一个随机过程产生的,该过程将元素均匀,独立地分布在区间[0,1)上。   桶排序将区间[0,1)划分为n个大小相等的子区间(称为桶),然后分别对每个桶中的元素进行排序,最后遍历每个桶,按照次序将各个桶中的元素列出来即可。时间复杂度: 桶排序的平均时间复杂度为O(n)。即使输入的数据不服从均匀分布,只要输入数据满足,所有桶的大小的平方和与总的元素数

2016-04-15 22:35:57 295

原创 5.2 计数排序

前提假设: 假设输入的待排序的n个元素中的每一个值都在0到k区间中的一个整数(k为某个整数)。 基本思想: 对于每一个输入元素x,统计小于x的元素个数,确定x元素在输出数组中的位置。例如,如果有17个元素小于x,则x就应该放在输出数组的第18个位置。当有元素相等时,这个情况另外在讨论。 时间复杂度: O(k+n),当k=O(n)时,该算法的时间复杂度为O(n)。此时,我们会用计数算法。 算法特

2016-04-15 18:56:55 307

原创 15.1 钢条切割(动态规划)

问题: 给定一段长度为n英寸的钢条和一个价格表,求切割钢条方案,使收益最大(切割本身没有成本)。 长度 1 2 3 4 5 6 7 8 9 10 价格 1 5 8 9 10 17 17 20 24 30

2016-04-15 16:12:56 441

原创 15 动态规划

动态规划与分治法的比较:相同点:都是递归地求解子问题,然后将它们的解组合起来,求出原问题的解。不同:分治法划分的子问题不应该有重叠的情况。而动态规划适用于这种情况,它对每个子子问题只求解一次,然后将其保存在一个表格中,从而无需每次求解一个子子问题时都重新计算。动态规划通常用来求一个最优解的问题,这种问题通常有很多可行解。动态规划有两种等价的实现方法:带备忘录的自顶向下法:按自然的递归形式编

2016-04-15 15:32:46 223

原创 1.1 选择排序:不断地选择剩余元素中的最小(大)者

思路:找到剩余数组(A[I…A.length-1])中第i小的元素(0< =i < A.length)将它与数组的下标为i的元素交换位置如此循环,直到i > A.length-1引自《算法》: 首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小的元素那么它就和字节交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此反复,

2016-04-15 10:22:54 313

原创 4.1Android进程启动原理分析----Zygote

概述: Android的所有进程包括系统进程都是由Zygote(受精卵)进程fork(孕育)出来的。 Zygote进程启动时,会自动fork出一个子进程SystemServer;SystemServer负责启动系统中的两个重要服务PackageManagerService和ActivityManagerService;当ActivityManagerService启动一个应用程序的时候,就会通过

2016-04-14 22:46:30 471

原创 2.3 Android进程间通信(IPC)----Server和Client获得Service Manager远程接口

对于普通的Server来说,Client如果想要获得Server的远程接口,那么必须通过Service Manager远程接口提供的getService接口来获得,这本身就是一个使用Binder机制来进行进程间通信的过程。而对于Service Manager这个Server来说,Client如果想要获得Service Manager远程接口,却不必通过进程间通信机制来获得,因为Service Man

2016-04-14 11:27:09 357

原创 2.2 Android进程间通信(IPC)----Service Manager

概述: Service Manager是整个Binder机制的守护进程,用来管理开发者创建的Server,并且向Client提供查询Server远程接口(即句柄)的功能。注:当Service Manager向Client提供查询Server远程接口时,Service Manager为特殊的Server,它的句柄为0。其他Server的句柄是由Binder驱动程序自动分配的。Binder通信机制使

2016-04-14 10:19:13 292

原创 2.1 Android进程间通信(IPC)----Binder机制的简单介绍

Binder机制简介: 进程间通信机制(通俗地讲,就是远程过程调用(RPC)功能),Binder的组成:   由Client、Server、Service Manager(管理Android系统的所有的Service)和Binder驱动程序组成,其中Client、Server和Service Manager运行在用户空间,Binder驱动程序运行内核空间。   Binder机制就是把这四个组件粘

2016-04-14 09:57:02 346

原创 4.1 最大子数组问题(分治法)-NlogN

A[low..high]的任何子数组A[i,j]所处的位置必定是一下三种情况之一:完全位于子数组A[low..mid]中,low< =i<=j<=mid完全位于子数组A[mid+1..high]中,mid < i< =j< =high跨越了中点,low< =i< =mid < j< =high思路:递归地求解A[low..mid]和A[mid+1..high]的最大子数组寻找跨越中点的最

2016-04-13 15:36:02 425

原创 2.停止线程

Java中停止线程有三种方式:run()方法完成后线程自己结束stop()方法来强行停止,但不推挤使用该方法,因为stop()方法是过期作废的方法interrupt()方法配合一个判断来停止线程注:interrupt()方法并不像for+break语句那样,马上停止线程的运行,只是在当前线程中打一个停止的标记,并不是马上停止线程。如何判断一个线程是否处于停止状态:Thread.interr

2016-04-12 12:48:30 252

原创 1.实现多线程

多线程编程有两种方式:继承Thread类,实现run()方法实现Runnable接口,实现run()方法比较:继承Thread类的方式最大的局限性就是不支持多继承实现Runnable接口可以实现资源共享,即多个Thread对象共享同一个Runnable对象Thread已经实现了Runnable接口其他:多次调用同一个Thread对象的start()方法,会出现IllegalThrea

2016-04-12 10:59:41 224

原创 4.传输控制协议(TCP):进程到进程的通信

报文段(TCP传送的数据单元):20至60字节的首部+应用传来的数据。当首部没有选项时,首部为20字节。源端口号:2个字节。渊主机应用程序的端口号目的端口号:2个字节。目的主机应用程序的端口号序号:4个字节。每一方使用随机数产生器产生一个初始序号(ISN)。该报文段的序号确认号:4个字节。期望从对方接收的报文段的序号。首部长度:4位。TCP首部有几个字节。保留:6位控制:6位。URG:

2016-04-11 20:47:47 766

原创 3.用户数据报(UDP):进程到进程的通信

UDP首部(8个字节的固定首部):源端口号:2个字节。如果是源主机是客户端,那么大多数情况下,该端口为短暂端口号,它由该主机上的UDP软件进行选择。如果源主机为服务器端,那么大多数情况下,该端口为熟知端口号。目的端口号:2个字节。如果是源主机是客户端,那么大多数情况下,该端口为短暂端口号,它由该主机上的UDP软件进行选择。如果源主机为服务器端,那么大多数情况下,该端口为熟知端口号。长度:2个字

2016-04-11 18:54:30 2484

原创 2.TCP/IP协议族

TCP/IP协议族:四个层次上多个协议的组合,应用层表示OSI的回话层,表示层和应用层。链路层:操作系统中的设备驱动程序和网卡(网络适配器或网络接口卡),负责处理电缆等媒介的物理接口细节 **ARP(地址解析协议):**由IP地址获取物理地址的一个协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理

2016-04-10 20:16:13 316

原创 1.OSI(开放系统互连(Open System Interconnection))模型

物理层:协调在物理媒介中传送比特流所需的功能。 链路层:将物理层转换为可靠的链路,使物理层对上层(网络层)是不产生差错的。确保分组在同一网络(链路)两个系统之间的交付。将从网络层收到的比特流划分为帧给每个帧加上首部,以明确发送地址和接收的物理地址如果接收器的接收速度小于发送器的发送速度,就进行流控制检测和重传受损伤,丢失和重复的帧(差错控制:通常是在帧的最后加上一个尾部来实现的)。当多个

2016-04-10 18:43:17 1457

原创 二分查找

二分查找算法有两个关键点: 1.判断循环是否终止的条件 2.边界值left,right和middle的确定 如果令right=n,循环条件为left/** * 二分查找 * @param array 数组 * @param n 数组大小 * @param value 查找值 * @return */ privat

2016-04-07 21:22:11 220

原创 单词反转

单词反转输入一个英文句子,反转句子中单纯的顺序。每个单词内的字符顺序不变,句子中单词以空格隔开。输入: I am a student.输出: student. a am I思路: 将整个英文句子按字符反转,然后再其中的每个单词分别按字符反转。代码块用Java实现:import java.util.Scanner;public class Word_reverse {

2016-04-07 10:51:45 508

particle_system计算机图形学作业OpenGL

OpenGL计算机图形学作业,实现风力场,火焰场,水流等。实现四阶龙格库塔积分和梯形积分法等。

2015-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除