前言 大家好,我是小彭。 今天,我们来讨论一个 Square 开源的 I/O 框架 Okio,我们最开始接触到 Okio 框架还是源于 Square 家的 OkHttp 网络...
前言 大家好,我是小彭。 今天,我们来讨论一个 Square 开源的 I/O 框架 Okio,我们最开始接触到 Okio 框架还是源于 Square 家的 OkHttp 网络...
一致性问题不仅在片上,在整个总线范围、OS 内都是存在的,cache 之间,cache 和内存之间,chache 和 DMA 之间,cache 和 OS 文件之间都存在一致性问题,一致性问题已经很复杂了,现在 CPU 总线上专门设计有处理 一致性问题的 硬件级别的 IP 核,并且片内总线和系统总线协议在设计时都必须仔细考虑一致性的问题,甚至可以说总线设计一半时候差不多都是围绕一致性问题展开的
已经有 MESI 协议,为什么还需要 volatile 关键字?前言 大家好,我是小彭。 在上一篇文章里[https://mp.weixin.qq.com/s/7WNCVvm7cGU9Fy9S3f1IFQ],我们聊到了 CPU 的缓存一致...
现代 CPU 为了提高并行度,会在增加写缓冲区 & 失效队列将 MESI 协议的请求异步化,这其实是一种处理器级别的指令重排,会破坏了 CPU Cache 的一致性。
这句话换个角度解释,其实是因为 CPU 访存速度太慢了,如果串行的等待仿存放回结果再执行下一句,CPU 会产生大量的指令空泡,极大的浪费了 CPU 时间,为了提升 CPU 单位时间内的指令吞吐量,CPU 使用队列缓存了仿存操作
已经有 MESI 协议,为什么还需要 volatile 关键字?前言 大家好,我是小彭。 在上一篇文章里[https://mp.weixin.qq.com/s/7WNCVvm7cGU9Fy9S3f1IFQ],我们聊到了 CPU 的缓存一致...
这么解释的话,并不能解释 MESI 的存在意义,以及既然有了 MESI,为什么还会在多线程操作时出现数据不一致的情况
CPU缓存一致性CPU Cache 通常分为三级缓存:L1 Cache、L2 Cache、L3 Cache,级别越低的离 CPU 核心越近,访问速度也快,但是存储容量相对就会越小。其中,在多...
这是 MVI 架构的第三篇,系列文章目录如下: Android 架构之 MVI 雏形 | 响应式编程 + 单向数据流 + 唯一可信数据源[https://juejin.cn/...
@KinceeR 十分感谢
Android Studio - Postfix Completion 代码补全AS 这个开发工具有很多技巧的,今天来看看 AS 原生提供给我们的代码补全能力 首先声明这是 java 版本的,kotlin 不生效 写法是在对象后面跟 . + AS 内置的...
目录 效果展示 实现步骤 1.继承GLSurfaceView 继承GLSurfaceView用于展示渲染的画面,并实现GLSurfaceView.Renderer接口 2.获...
一、背景 最近快离职了,闲的无聊,准备整理下属于自己的library库,想把自己的库放在网上去,用的时候直接依赖添加。首先想到的就是JitPack,于是网上查看了下资料,看怎...
在网上找了很多,没有喜欢的方案。也参考了众多设计,做了一款自认为比较简洁、完美的方案: 大致思路:外层放置scrollview作为容器,容器内上部分topView,下部分ta...
@笫丶十三 Glide 或者 Google 自己出的,Android 高版本对 Bitmap 已经经过优化处理了,全部放到本地内存中(堆外内存),也就是不在进程所属 JVM 虚拟机内存中了
android 图片加载库(4)- Fresco上一篇说完 Glide 之后,我们现在来说下 Fresco,从使用感受上来看,使用 Fresco 比 Glide 要简便不少,但是 Fresco 需要使用单独的图片控件,系统...
最近看到一个新闻,一个 1: 1 的自由高达落户在上海金桥。 作为高达爱好者的我一直想去现场感受一下高达真实的压迫感,无奈一直没机会去上海。不过这难不倒我,借助 AR 技术自...
Android 截屏分为四种:View 截屏、WebView 截屏、系统截屏 和 adb 截屏 1、View 截屏 View 截图是将当前 View 界面截取下来,而对于屏幕...
@42f7649a08c4 哈哈,单词记错了,见谅啊
Flutter - Weight 入门从 C 开始,我们进步到 java,再到 kotlin,现在又迎来了 Dart、Flutter,还要去学学 python。时代在进步,我们也得跟着进步,新的思想、新的工具、新...
图标资源对应的像素 有些时候不能使用Application的Context,不然会报错(比如启动Activity,显示Dialog等) getParent().request...
在开始之前,我们先来看看开发过程中,面对以前写的代码常会碰到的问题: 这块代码好几次用到了,应该抽出去; 这个算法可以换个更高效的写法; 这段逻辑绕来绕去,其实可以换个思路。...
哈哈,是我啊
android 多线程 — 线程的面试题和答案这里都是我从各个地方找来的资料,鸣谢: [Android面试系列]一句话讲清楚Android消息机制 Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基...
@双鱼座1990 见谅啊,写的时间早,好几年了
kotlin - Coroutine 协程我是在深入学习 kotlin 时第一次看到协程,作为传统线程模型的进化版,虽说协程这个概念几十年前就有了,但是协程只是在近年才开始兴起,应用的语言有:go 、goLand、k...