什么是内存模型 假设一个线程为变量 aVariable 赋值: 内存模型需要解决的问题是:在什么条件下,读取aVariable的线程将看到这个值为3. 首先我们要了解: 在编...
什么是内存模型 假设一个线程为变量 aVariable 赋值: 内存模型需要解决的问题是:在什么条件下,读取aVariable的线程将看到这个值为3. 首先我们要了解: 在编...
在 JAVA 并发包的许多类中,例如Semaphore 和 ConcurrentLinkedQueue,都提供了比synchronized机制更高的性能和可伸缩性。而这种性能...
显式锁 Java 5之前,在协调共享对象的访问时可以使用的机制只有synchronized和volatile。Java 5增加了ReentrantLock。Reentrant...
在ReentrantLock和Semaphore这两个接口之间存在许多共同点。这两个类都可以用做一个“阀门”,即每次只允许一定数量的线程通过,并当线程到达阀门时,可以通过(在...
对性能的思考 提升性能意味着用更少的资源做更多的事情。 “资源”的含义很广。对于给定的操作,通常会缺乏某种特定的资源,例如CPU时钟周期、内存、网路带宽、IO带宽、数据库请求...
本篇文章通过服务器通信和页面渲染两个功能的实现来加深多线程中Future和Executor的理解。 服务器通信 串行执行任务 任务执行最简单的策略就是在单线程中串行执行各项任...
基础构建模块 并发容器 同步容器将所有对容器状态的访问都串行化,以实现它们的线程安全性。 ConcurrentHashMap 同步类容器在执行每个操作期间都持有一个锁。在一些...
线程安全基础 最低安全性 当线程在没有同步的情况下读取变量时,可能会得到一个失效值,但至少这个值是由之前某个线程设置的值,而不是一个随机值。这种安全性保证称为最低安全性。 最...
Java 虚拟机之所以被称为是『虚拟』的,就是因为它仅仅是有一个规范来定义的抽象计算机。 想深入理解Java虚拟机的同学建议先学习下计算机组成原理会事半功倍哟。 Java 虚...
前言 app上线后,一般公司都希望跟踪app在市场上的使用情况。包括新增用户、活跃用户、渠道信息、错误信息等,还有例如商城类的app,需要跟踪用户最喜欢浏览哪种类型的店铺或商...
也就是说 activity持有一个window的引用,window持有一个view的引用 这个说法对吗?
见过最长的文章了,收藏下好好看
Android视图SurfaceView的实现原理分析在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceV...
Google的DataBinding发布已经很长时间了,现在也已经很成熟也比较稳定了。我之前的项目一直使用MVP,其实也一直想换到MVVM模式,毕竟它使用数据驱动,能解决MV...
前言 相信各位看官对RxJava早有耳闻,那么关于什么是RxJava我就不再赘述了,不知道的可自行百度。如果你已经大致了解过什么是RxJava,想开始学习,那么本文不失为你良...
网上有很多关于RxJava的技术文章,大多数是关于1.x版本的。随着 RxJava 2.0 的推出,有些文章也介绍了2.x版本新增的内容以及与1.x版本的对比。有些同学如果刚...
前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用...
准备新项目使用,希望不要入坑啊
Android 快速开发系列之数据库篇(LiteOrm)继上一篇GreenDao后,本文将带领大家学习下基于注解的orm框架:LiteOrm,注意不是Ormlite,作者是马天宇,不是那个歌手哦,现在在阿里巴巴任职。好了闲话不多扯...
继上一篇GreenDao后,本文将带领大家学习下基于注解的orm框架:LiteOrm,注意不是Ormlite,作者是马天宇,不是那个歌手哦,现在在阿里巴巴任职。好了闲话不多扯...
请教,我用recyclerview 加载多个SimpleDraweeView 会很卡 有什么好办法可以优化的呀
Android最好用、最强大的图片加载框架:Fresco的简单实用教程Android最好用、最强大的图片加载框架:Fresco的简单实用教程貌似有2个月没写博客了,原因还跟以往一样,忙+懒,其实二者是相辅相成的,忙的时候要想抽点时间也还是有的,...