Android的设计理念之一,便是应用程序退出,但进程还会继续存在系统以便再次启动时提高响应时间. 这样的设计会带来一个问题, 每个进程都有自己独立的内存地址空间,随着应用打开数量的增多,系统已使用的内存越来越大,就很有可能导致系统内存不足, 那么需要一个能管理所有进程,根据一定策略来释放进程的策略,这便有了 lmk ,全称为LowMemoryKiller(低内存杀手),lmkd来决定什么时间杀掉什么进程.
Service 是 Android 四大组件之一,用于后台运行,但由于 Service 依然运行在主线程,所以是不能直接进行耗时操作的。如果有耗时操作,还是需要放到子线程中,可以手动开启线程,也可以使用 Android 提供的一个非常简便的类 IntentService 。这个类的源码还是很简单的,本文分析一下它的实现。
LayoutInflater直译为 布局填充器,它是用来创建布局视图的,常用inflate()将一个xml布局文件转换成一个View,下面先介绍下获取LayoutInflater的三种方式 和 创建View的两种方式。
Java运行时数据区包含:Method area, heap,java stacks, pc register,native method stacks 有些内存块在程序所有内存中共享 (Method area, heap),有些只对单个线程有效 (java stacks, pc register,native method stacks)。
在这里主要分析一下HFile V2的各个组成部分的一些细节,重点分析了HFile V2的多级索引的机制,接下去有时间的话会分析源码中对HFile的读写扫描操作。
Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论 文公开发布了。其中对它的定义是,Map/Reduce是一个编程模型(programmingmodel),是一个用于处理和生成大规模数据集 (processing and generating large data sets)的相关的实现。用户定义一个map函数来处理一个key/value对以生成一批中间的key/value对,再定义一个reduce函数将所 有这些中间的有着相同key的values合并起来。很多现实世界中的任务都可用这个模型来表达。
在分类问题中,我们可能不会只想用一个分类器,我们会考虑将分类器组合起来使用,这种方法称为集成方法(ensemble method)或元算法。元算法有多种形式,既可以是不同算法集成也可以是一种算法不同设置的集成。
数据ACID特性满足了几条? 为了保持简单,redis事务保证了其中的一致性和隔离性; 不满足原子性和持久性;
pfff 是一套代码分析、代码可视化、代码导航工具,它很好地支持 Java、C、JavaScript、PHP。它也初步支持 C++、Rust、C#、HTML、CSS、Erlang、Lisp、Haskell、Python、OPA 和 SQL。
测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。本文提供测试报告模板以及如何编写的实例指南。
MonekyTestLog分析: 首先用一个最简单的例子分析: monkey--pct-trackball0--throttle100-v500 /*p参数:表示指定测试的程序 /*v参数:表示查看monkey生成的一些详细的随机的事件名*/ /*数字100:表示测试事件数为100*/
问介绍的一个五子棋游戏的编写和设计,本游戏的依据就是下棋的双方各持黑白棋子,当某方在横、纵或对角方向连成五个棋子,则认为该玩家胜利,游戏结束。该程序用C语言编写,主要有C语言函数的调用(其中包括图形函数,判断函数等)和可视化编程,还有数组的应用,比如在该程序中就是用一个二维数组来表示棋盘。
Openssl背景 1995年加拿大人Eric A. Young和 Tim J. Hudson开始编写SSLeay库。1998年openssl项目组成立并接管openssl的开发工作。目前一直由全世界范围内团体的志愿者管理着。他们使用因特网进行交流、策划和开发这个OpenSSL工具和相关的文档。 SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版。TLS(Transport Layer Security)是IETF的TLS 工作组在SSL3.0基础之上提出的安全通信标准,最新版本是RFC 5246,版本1.2。SSL/TLS提供的安全机制可以保证应用层数据在互联网络传输不 被监听、伪造和窜改。
SQL优化基础; Oracle内存空间; SQL的执行过程; 使SQL语句共享; Oracle优化器; 数据读取方式(全表,ROWID,索引); 表连接实现方式(SMJ,NL,HJ); 用提示调整执行计划; 用OutLine固定执行计划。
2015年6月1号, Twitter 对外宣讲了他们的Heron系统, 从ppt和论文中,看起来完爆storm。昨天,抽空把论文,仔细读了一遍, 把个人笔记和心得分享一下:
承接上篇文章 ElasticSearch Rest/RPC 接口解析 ,这篇文章我们重点分析让ES步入数据分析领域的Aggregation相关的功能和设计。
本文的源码分析过程不会是自上而下的给代码加注释,我更倾向于是从 Vuex 提供的 API 和我们的使用方法等维度去分析。Vuex 的源码是基于 ES6 的语法编写的,对于不了解 ES6 的同学,建议还是先学习一下 ES6。
HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。
Tcprstat 是免费开源的TCP分析工具,可检测网络的传输,并且计算请求和响应之间的延迟。 它的输出格式类似 linux 的 vmstat 和 iostat 的输出格式。这个工具能够检测到某个端口的流量情况。可以监听包括 mysqld httpd memcached 等单个守护进程的请求和响应时间。
现在好多成熟的项目框架都采用了比较好的设计,其中之一就是对application的使用,那么application到底在Android上面起到什么作用呢?