Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Vim指定一行的字数

Vim指定一行的字数

:set formatoptions=tcqmM:set tw=78gggqG详解选项formatoptions确定了跟文本格式化有关的基本选项,常用的数值有:? t:根据textwidth自动折行;? c:在(程序源代码中的)注释中自动折行,插入合适的注释起始字符;? r:插入模式下在注释中键入回车时,插入合适的注释起始字符;? q:允许使用“gq”命令对注释进行格式化;? n:识别编号列表,编号行的下一行的缩进由数字后的空白决定(与“2”冲突,需要“a...
Linux Slab分配器(四)--分配对象

Linux Slab分配器(四)--分配对象

从一个缓存中分配对象总是遵循下面的原则:1.本地高速缓存中是否有空闲对象,如果有的话则从其中获取对象,这时分配的对象是最“热”的;2.如果本地高速缓存中没有对象,则从kmem_list3中的slab链表中寻找空闲对象并填充到本地高速缓存再分配;3.如果所有的slab中都没有空闲对象了,那么就要创建新的slab,再分配 。函数kmem_cache_alloc用于从特定的缓存获取对象,kmalloc用于从普通缓存中获取对象,它们的执行流程如下图所示实质性的工作...
Linux Slab分配器(五)--释放对象

Linux Slab分配器(五)--释放对象

缓存回收对象基于以下原则1.本地高速缓存的空间还可以容纳空闲对象,则直接将对象放回本地高速缓存2.本地高速缓存的空间已满,则按batchcount的值将对象从本地高速缓存转移到slab中,转移是基于先进先出的原则的,也就是转移entry数组最前面的batchcount个空闲对象,因为这些对象在数组中存在的时间相对较长,不太可能仍然驻留在CPU高速缓存中相关阅读:Linux Slab分配器(一)--概述 http://www.linuxidc.com/Lin...
Objective-C定义私有方法

Objective-C定义私有方法

我们有时会遇到,希望某个类的方法不能被它的继承类所继承。这在C++是很好实现,直接将该方法定义为private即可。但是在正规的Objective-C语法,你不能对一个类的方法定义为private,那么如何实现这种功能呢?上帝给你关上一道门,同时给你打开一扇窗。Objective-C同样也是如此,当Objective-C不能将类定义为私有时,还提供了另外一种方法:类别,在现有类的基础上添加新方法的方式。下面用代码来具体实现私有方法。假设现有的类为MyCla...
Objective-C实现多继承

Objective-C实现多继承

我们都知道Objective-C不能像C++一样支持多继承,但是在Objective-C的使用经常会碰到需要使用多继承的情况。例如,ClassA中有methodA,ClassB中methodB,而现在需要使用这两个类中的方法。如何按照C++的编程思路,毫无疑问采用多继承就搞定了,在Objective-C就需要动动脑子了。其实我们在学习设计模式的时候知道,多继承的效率不高,而且采用组合的模式可以完全代替继承模式。那么,这种思路完全可以用在Objective-...
Socket网络通讯开发总结之:Java 与 C进行Socket通讯

Socket网络通讯开发总结之:Java 与 C进行Socket通讯

先交待一下业务应用背景:服务端:移动交费系统:基于C语言的Unix系统客户端:增值服务系统:基于Java的软件系统通迅协议:采用TCP/IP协议,使用TCP以异步方式接入数据传输:基于Socket流的方式,传输的是网络字节序Java Socket通讯实现方式这里不做过多的描述,网上到处可以搜索到,比较简单,这里要说的是Java 与 C 进行Socket通讯需注意的地方:1、Java与C的各种数据类型存储的字节数是不同的:Java与C的数据类型的比较 Ty...
Android数据存储与访问之使用SharedPreferences

Android数据存储与访问之使用SharedPreferences

很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是windows软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件或者xml进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件...
Android数据存储与访问之使用pull解析器

Android数据存储与访问之使用pull解析器

Pull解析器是一个开源的java项目,既可以用于Android,也可以用于JavaEE。如果用在javaEE需要把其jar文件放入类路径中,因为Android已经集成进了Pull解析器,所以无需添加任何jar文件。android系统本身使用到的各种xml文件,其内部也是采用Pull解析器进行解析的。 Pull解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事...
Android数据存储与访问之使用SD卡

Android数据存储与访问之使用SD卡

使用Activity的openFileOutput()方法保存文件,文件是存放在手机空间上,一般手机的存储空间不是很大,存放些小文件还行,如果要存放像视频这样的大文件,是不可行的。对于像视频这样的大文件,我们可以把它存放在SDCard。 SDCard是干什么的?你可以把它看作是移动硬盘或U盘。在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。创建SDCard可以在Eclipse创建模拟器时随同创建,也可以...
Android数据存储与访问之使用普通文件

Android数据存储与访问之使用普通文件

很多时候我们的软件需要对处理后的数据进行存储或再次访问。Android为数据存储提供了如下几种方式:文件SharedPreferences(参数)SQLite数据库内容提供者(Content provider)网络一. 文件1.1使用文件进行数据存储Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的。public class FileActivity extends...
Android开发:使用AudioTrack播放PCM音频数据【附源码】

Android开发:使用AudioTrack播放PCM音频数据【附源码】

众所周知,Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaPlayer程序,上层还包含了进程间通讯等内容,这种进程间通讯的基础是Android基本库中的Binder机制。但是该类只能对完整的音频文件进行操作,而不能直接对纯...
<< 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 >>