1. App2sd功能和Asec文件

    1. asec 文件是什么? asec的全称是Android Secure External Caches 以前app安装好之后,app和app的数据都是放在data分区,而data分区经常存储空间不够,

  2. Unable to open log device ‘/dev/log/main’

    调试Android程序时,经常不能看到日志,而DDMS输出Unable to open log device '/dev/log/main': No such file or directory 解决这个问题,目前有3种办法:

  3. Java内存模型(二)

    volatile型变量的特殊规则 volatile是Java虚拟机提供的最轻量级的同步机制,当一个变量被定义成volatile后,它将具备两种特性,第一是保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程改变了这个变量的值后,新值对于其他线程来说是可以立即得知的;第二个语义是禁止指令重排序,普通的变量仅仅会保证在该方法的执行过程中所有依赖赋值结果的地方都能获取正确的结果,而不能保证变量赋值操作的顺序与程序代码中的执行顺序一致。

  4. Java内存模型(一)

    主存储器和工作存储器 Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域,这些区域包括方法区,堆,虚拟机栈,本地方法栈,程序计数器。方法区存储类信息,常量,字节码等数据,堆内存存储所有生成的对象,方法区和堆内存为所有线程共享,而虚拟机栈是每个线程独有的,也就是说每个线程有自己的虚拟机栈,线程执行时,每调用一个方法,就会在虚拟机栈上创建一个栈帧,栈帧信息包括方法的局部变量表,操作数栈。

  5. 多线程设计模式总结(三)

    接上一篇《多线程设计模式总结(二)》,这篇博客再聊一下最复杂的Active Object模式

  6. 多线程设计模式总结(二)

    接上一篇《多线程设计模式总结(一)》,这篇博客再介绍5个多线程设计模式

  7. 多线程设计模式总结(一)

    并发程序的编程与设计是一个难点,也是程序员必须掌握的一个点。工作之后写的第一个软件里面也有并发编程,当时在设计并发这块感觉好复杂,最后的实现感觉也有点乱。 当时就想好好学习一下并发编程的设计,但是一直没有时间。今年看了两本并发编程相关的书,《多线程设计模式》和《Java并发编程与实战》。本想着和设计模式一样,多线程设计模式也能提供很多模式可供套用,但是实际情况并不是如此,多线程设计模式讲的东西多为基础,并且内容也已经有点过时了,市面上《多线程设计模式》这本书也已经很难买到。而《Java并发编程与实战》这本书讲的东西比较深,也讲了Java5并发包的同步类的使用。个人感觉《多线程设计模式》讲的东西了解就可以了,但是《Java并发编程实战》值得细读。接下来我会写一些博客和读者分享我读这些书的心得与体会。

  8. Android Binder总结

    从前面的博客中我们已经学习到如何使用binder,也学习到binder的框架及原理。今天就聊聊我对android为什么使用binder作为最重要的IPC机制这个问题的想法,并总结一下先前的android binder相关博客。