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

首页 / 操作系统 / Linux

Android系统内存优化之一

Android系统内存优化之一

获得进程列表 基础知识 PID 进程ID PPID 父进程ID分析 (1) 初始化进程: 我们先看 init 和 kthread 的两个进程, Linux 启动的时候加载第一个进程是 init 他的 PID 是 1 ,因为是由 kernel 创建的所以 PPID 是 0 ,在 Linux 启动以后内核把自己抽象成进程 kthread ,他的 PID 是 2 也是有最初的 kernel 创建的因此他的 PPID 也是 0 。 系统的其他进程都是源于这两个进...
Java虚拟机JVM内存分区及代码执行机制

Java虚拟机JVM内存分区及代码执行机制

1. JVM体系结构图1 JVM体系结构方法区:存放JVM加载的类型信息。包括:类型基本信息,常量池,字段信息,方法信息,类变量,指向ClassLoader的引用,Class类的引用,方法表等。(对应JVM内存配置中的-PermSize等)java堆:程序中创建的类的实例和数组,包括class对象和exception对象,存放在堆里面。堆中除了存储对象的实例数据外,还要存储该对象指向方法区中类型信息的指针。(JVM中所有的线程共享堆空间,对应JVM内存配置...
Java虚拟机的JVM垃圾回收机制

Java虚拟机的JVM垃圾回收机制

1.JVM内存空间 JVM堆(Heap)= 新生代(Young) + 旧生代(Tenured)? 分区作用:新创建的对象通常先将其分配在新生代中,在新生代中经过若干次GC之后仍未释放的对象,再将它移动到旧生代。为了让内存回收更高效(GC会暂停JVM中的应用),Sun JDK在1.2开始对堆采用了分代管理的方式。在分配对象遇到内存不足时,先对新生代进行GC(Young GC);当新生代GC之后仍无法满足内存空间分配需求时, 才会对整个堆空间以及方法区进行GC...
Android自动化测试框架Robotium学习笔记

Android自动化测试框架Robotium学习笔记

刚好前段时间也研究了一下Android的自动化测试框架。感觉用起来还是比较方便的。几点体会也一起和大家交流下,有一些内容还在慢慢学习中:1.Java5(2004-10)开始推出了Instrumentation,这是一个可以在main之前Java虚拟机加载类时改变Java类字节码或类classpath等内容的工具,同时JDK1.6还提供了运行过程中的动态改变,如在方法执行前后加入度量时间的代码,使Java代码可度量就是一个很典型的应用。不过这需要涉及到Jav...
Linux平台代码覆盖率测试-GCC如何编译生成gcov/gcov-dump程序及其bug分析

Linux平台代码覆盖率测试-GCC如何编译生成gcov/gcov-dump程序及其bug分析

Content0. 序 1. 编译 gcov/gcov-dump 2. 额外的话 3. gcov-dump 程序的一个 bug 3.1 bug 描述 3.2 bug 分析与修复 3.3 正确的输出 3.4 gcov-dump 的打印开关 3.5 一个问题:上面红色的 0 是什么?谁打印出来的? 4. 总结 0. 序 某些版本的 Gcc 在默认情况下编译,可能不会产生 gcov-dump 程序,或者不会安装到 /usr/bin 。但 gcov-dump 程序...
Linux平台代码覆盖率测试-从GCC源码中抽取gcov/gcov-dump程序

Linux平台代码覆盖率测试-从GCC源码中抽取gcov/gcov-dump程序

Content0. 序 1. gcov1.1 gcov 必须的文件 (1) 实现文件 (2) 版本文件 (3) 配置文件 (4) 系统文件 1.2 如何编译生成 gcov 2. gcov-dump3. gcov-tools4. 小结 Reference附:本文代码下载地址0. 序 若想研究 gcov/gcov-dump 原理或者代码,深入函数内部跟踪调试是最好的理解方式,但 gcc 的源代码毕竟比较庞大,欲从中抽丝剥茧,往往会被 gcc 的庞大源代码吓住。...
Linux平台代码覆盖率测试-.gcda/.gcno文件及其格式分析

Linux平台代码覆盖率测试-.gcda/.gcno文件及其格式分析

Content0. 序1. .gcda文件分析1.1 gcov-dump程序输出结果1.2 文件实际内容1.3 文件格式总结2. .gcno文件分析2.1 gcov-dump程序输出结果2.2 文件实际内容2.3 文件格式总结3. 小结0. 序在"Linux平台代码覆盖率测试-gcov-dump原理分析"一文中,我们详细分析了gcov-dump程序的实现原理及每种tag的输出格式,本文,仍然以前面几篇文章的test.c为例,说明gcov-dump程序的输出...
Linux平台代码覆盖率测试-GCC插桩前后汇编代码对比分析

Linux平台代码覆盖率测试-GCC插桩前后汇编代码对比分析

Content0. 序1. 如何编译1.1 未加入覆盖率测试选项1.2 加入覆盖率测试选项1.3 分析2. 未加入覆盖率测试选项的汇编代码分析3. 加入覆盖率测试选项的汇编代码分析3.1 计数桩代码分析3.2 构造函数桩代码分析3.3 数据结构分析3.4 构造函数桩代码小结4. 说明5. 小结0. 序在"Linux平台代码覆盖率测试-GCC插桩基本概念和原理分析"一文中,我们已经知道,GCC插桩乃汇编级的插桩,那么,本文仍然以test.c为例,来分析加入覆...
结合“hello world”探讨gcc编译程序的过程

结合“hello world”探讨gcc编译程序的过程

1. gcc简介gcc/g++是GNU工程的C和C++编译器。都要用四个步骤中的一个或多个处理输入文件。· 预处理(preprocessing)· 编译(compilation)· 汇编(assembly)· 连接(linking)源文件后缀名标识源文件的语言,但是对编译器来说,后缀名控制着缺省设定。gcc命令的一般格式为:gcc [选项] 要编译的文件 [选项] [目标文件]gcc的详细内容,可参考gcc manual。2. gcc的输出选项gcc输出选...
Linux平台代码覆盖率测试-编译过程自动化及对链接的解释

Linux平台代码覆盖率测试-编译过程自动化及对链接的解释

Content0. 序1. 生成各个文件的步骤1.1 未加入覆盖率测试选项1.1.1 编译步骤1.1.2 目标文件的符号表1.2 加入覆盖率测试选项1.2.1 编译步骤1.2.2 目标文件的符号表1.3 gcc verbose选项2. 编译自动化2.1 使用collect2的makefile2.2 不使用collect2的makefile3. 关于链接的讨论3.1 链接顺序讨论3.2 错误链接顺序的例子4. 额外的话5. 小结0. 序"Linux平台代码覆...
Linux平台代码覆盖率测试工具GCOV的前端工具LCOV简介

Linux平台代码覆盖率测试工具GCOV的前端工具LCOV简介

Content1. Lcov是什么?2. 如何在Linux平台安装Lcov?3. 如何使用Lcov?(1) 使用lcov收集覆盖率数据并写入文件(2) 使用genhtml生成基于HTML的输出(3) 该例子的图形显示4. 编译lcov自带例子5. 其他相关工具(1) gcov-dump(2) ggcov1. Lcov是什么? 是GCOV图形化的前端工具是Linux Test Project维护的开放源代码工具,最初被设计用来支持Linux内核覆盖率的度量基...
Linux平台Boost的编译方法

Linux平台Boost的编译方法

Linux平台Boost的编译方法Boost的编译使用的不是已经成为公认标准的make,而是专门为Boost开发的工具bjam(boost jam)。本文以boost1.40为例,在Linux平台的编程环境为gcc4.4.1,假设Boost代码在/usr/src/boost_1_40_0目录,步骤如下。1. 获得bjam获得bjam有3种方式,如下:方法1:Boost网站上提供了各种平台上预编译好的bjam可执行程序,可直接下载使用。方法2:从Boost源...
Linux平台代码覆盖率测试-GCC插桩基本概念和原理分析

Linux平台代码覆盖率测试-GCC插桩基本概念和原理分析

Content1. 序2. GCC插桩原理2.1 GCC编译插桩的过程2.2 GCC在何处插桩2.3 GCC如何才能在编译的同时插桩3. 小结1. 序在"Linux平台代码覆盖率测试-GCC插桩前后汇编代码对比分析"一文,我们已经分析了GCC插桩前后汇编代码的变化,对GCC插入的桩代码有比较全面的了解。本文将简单叙述GCC插桩的基本概念和原理。2. GCC插桩原理2.1 GCC编译插桩的过程GCC的插桩和编译过程如下图。过程描述:(1) 编译预处理程序对源...
Linux平台代码覆盖率测试-基本块图、插桩位置及桩代码执行分析

Linux平台代码覆盖率测试-基本块图、插桩位置及桩代码执行分析

0. 序 1. 基本块概念 2. 基本块图及插桩点分析 2.1 基本块图 2.2 有效基本块图 2.3 带桩点信息的有效基本块图 2.4 插桩位置及桩代码执行情况分析 3. 小结 Appendix: 源代码中对 Basic Block 的解释 0. 序 由前面几篇文章,例如:Linux 平台代码覆盖率测试 -gcov-dump 原理分析 http://www.linuxidc.com/Linux/2011-05/36536.htmLinux 平台代码覆盖率...
<< 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 >>