Dalvik虚拟机 - 类的加载

Dalvik虚拟机系列的文章力求将从虚拟机开始运行、类的加载/初始化、字节码的解释执行都覆盖到。加载类是我们最常接触但又不经常直接去显示加载的一个行为,本文从 ClassLoader.loadClass 说起来说明类加载的具体过程,这也将更容易理解主动修改类定义带来的一些如同hotpatch的功能。

更多>>

Android 权限管理 —— AppOps

Android 的安全保护源于权限,每个 App 需要申请权限才能使用特定的功能,用户在安装的时候可以浏览 App 已申请的权限再决定是否安装,不过一旦安装就相当于默认了可以使用该权限,所以这一功能基本属于鸡肋,后来便出现了权限管理这一安全防护:例如 360 手机卫士、安全管家、LBE一类第三方安全软件。除此之外,android 系统也并不是没有作为,在4.3系统以后出现了 AppOps 隐藏功能,能够针对 manifest 部分申请的权限进行一层限制,为什么说是隐藏功能呢?AppOps 本来有个可设置页面 AppOpsSummaryActivity,但是 Google 工程师一而再再而三的隐藏该界面,就是为了只让系统应用拥有后台修改 AppOps 的权限,不提供给其他用户或者第三方软件修改的机会。本文将从实例(修改短信权限)出发,分析 AppOps 的实现原理和鉴权过程。

更多>>

真实流量压测工具 tcpcopy应用浅析

极为合理的测试需求

“双一十”将近,作为一个电商应用的开发人员,也是时候操心一下自己管理服务的性能问题了。平时跑得好好的服务应用,能否承受的住双十一,尤其是午夜时刻的流量冲击?到底是要加机器还是要做服务降级?机器加多少?服务降级降多少.....为回答这一系列的问题,你首先要知道服务的极限是多少。按我们这种非专业测试人士的设想,测试方法应满足如下需求:

更多>>

lucene事务(译与解)

本文分两部份,第一部份为译:是对是对于lucene事务的一篇佳作《Transactional Lucene》的翻译。第二部份为解:是本人对一文中提到一些概念在源码层次的一些理解分析,参考lucene源码版本为4.10.4。《Transactional Lucene》中还提到了多commit在实际生产中的一些妙用,值得参考。

更多>>

开源服务内部监控系统(二) ganglia简介

在上文 开源服务内部监控系统(一),简单介绍了一下开源监控系统Graphite。本篇将简单介绍一下颇有名气的Ganglia与个人的使用体验。从功能上讲,Ganglia远比Graphite强大。除了监控服务内部状态之外,Ganglia本身就能做到对服务器节点状态(包括CPU使用,load,memory占用,network占用)的整体监控。

更多>>