美文网首页高级Android知识Android开发
知识点整理(经典好文)

知识点整理(经典好文)

作者: 小编 | 来源:发表于2017-04-13 17:05 被阅读1027次

ThreadLocal、Volatile、synchronized、Atomic的区别

于Volatile关键字具有可见性,但不具有操作的原子性,而synchronized比volatile对资源的消耗稍微大点,但可以保证变量操作的原子性,保证变量的一致性,最佳实践则是二者结合一起使用。
1、对于synchronized的出现,是解决多线程资源共享的问题,同步机制采用了“以时间换空间”的方式:访问串行化,对象共享化。同步机制是提供一份变量,让所有线程都可以访问。

2、对于Atomic的出现,是通过原子操作指令+Lock-Free完成,从而实现非阻塞式的并发问题。

3、对于Volatile,为多线程资源共享问题解决了部分需求,在非依赖自身的操作的情况下,对变量的改变将对任何线程可见。

4、对于ThreadLocal的出现,并不是解决多线程资源共享的问题,而是用来提供线程内的局部变量,省去参数传递这个不必要的麻烦,ThreadLocal采用了“以空间换时间”的方式:访问并行化,对象独享化。ThreadLocal是为每一个线程都提供了一份独有的变量,各个线程互不影响。

Android App的设计架构:MVC,MVP,MVVM与架构经验谈

Java多线程之生产者消费者经典问题
synchronized 方法,while循环条件,wait/notify方法

DDMS和TraceView区别
DDMS是一个程序执行查看器,在里面可以看见线程和堆栈等信息
TraceView是程序性能分析器

Dalvik和ART区别 文一
Dalvik和ART区别 文二

单例模式的七种写法

史上最全设计模式导学目录(完整版)

代理模式 vs. 装饰模式
装饰设计模式,使用一种对客户端透明的方式来动态地扩展对象的功能,也是继承关系的一种替代方案。动态地给一个对象增加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。
比如Context,ContextImpl, ContextWrapper之间就是采用装饰模式

生产者和消费者问题
1.http://blog.csdn.net/thinkpadshi/article/details/8163751
2.http://blog.csdn.net/monkey_d_meng/article/details/6251879

相关文章

  • 知识点整理(经典好文)

    ThreadLocal、Volatile、synchronized、Atomic的区别 于Volatile关键字具...

  • Camera 模组与硬件接口

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Camera...

  • Android性能之服务优化

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Servic...

  • Android 性能之多线程并发优化

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Thread...

  • Android Studio和 MAT 内存泄漏分析

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Java内存...

  • Systrace 学习笔记

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Systra...

  • Activity的启动流程

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Androi...

  • Camerax 入门教程

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Camera...

  • Android Camera2 拍照流程

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Camera...

  • Camera 驱动 Bringup

    和你一起终身学习,这里是程序员 Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Kernel...

网友评论

    本文标题:知识点整理(经典好文)

    本文链接:https://www.haomeiwen.com/subject/qipenttx.html