前言 大家好,我是小彭。 今天,我們來討論一個 Square 開源的 I/O 框架 Okio,我們最開始接觸到 Okio 框架還是源于 Square 家的 OkHttp 網(wǎng)絡(luò)...
前言 大家好,我是小彭。 今天,我們來討論一個 Square 開源的 I/O 框架 Okio,我們最開始接觸到 Okio 框架還是源于 Square 家的 OkHttp 網(wǎng)絡(luò)...
一致性問題不僅在片上,在整個總線范圍、OS 內(nèi)都是存在的,cache 之間,cache 和內(nèi)存之間,chache 和 DMA 之間,cache 和 OS 文件之間都存在一致性問題,一致性問題已經(jīng)很復(fù)雜了,現(xiàn)在 CPU 總線上專門設(shè)計(jì)有處理 一致性問題的 硬件級別的 IP 核,并且片內(nèi)總線和系統(tǒng)總線協(xié)議在設(shè)計(jì)時都必須仔細(xì)考慮一致性的問題,甚至可以說總線設(shè)計(jì)一半時候差不多都是圍繞一致性問題展開的
已經(jīng)有 MESI 協(xié)議,為什么還需要 volatile 關(guān)鍵字?前言 大家好,我是小彭。 在上一篇文章里[https://mp.weixin.qq.com/s/7WNCVvm7cGU9Fy9S3f1IFQ],我們聊到了 CPU 的緩存一致...
現(xiàn)代 CPU 為了提高并行度,會在增加寫緩沖區(qū) & 失效隊(duì)列將 MESI 協(xié)議的請求異步化,這其實(shí)是一種處理器級別的指令重排,會破壞了 CPU Cache 的一致性。
這句話換個角度解釋,其實(shí)是因?yàn)?CPU 訪存速度太慢了,如果串行的等待仿存放回結(jié)果再執(zhí)行下一句,CPU 會產(chǎn)生大量的指令空泡,極大的浪費(fèi)了 CPU 時間,為了提升 CPU 單位時間內(nèi)的指令吞吐量,CPU 使用隊(duì)列緩存了仿存操作
已經(jīng)有 MESI 協(xié)議,為什么還需要 volatile 關(guān)鍵字?前言 大家好,我是小彭。 在上一篇文章里[https://mp.weixin.qq.com/s/7WNCVvm7cGU9Fy9S3f1IFQ],我們聊到了 CPU 的緩存一致...
這是 MVI 架構(gòu)的第三篇,系列文章目錄如下: Android 架構(gòu)之 MVI 雛形 | 響應(yīng)式編程 + 單向數(shù)據(jù)流 + 唯一可信數(shù)據(jù)源[https://juejin.cn/...
@KinceeR 十分感謝
Android Studio - Postfix Completion 代碼補(bǔ)全AS 這個開發(fā)工具有很多技巧的,今天來看看 AS 原生提供給我們的代碼補(bǔ)全能力 首先聲明這是 java 版本的,kotlin 不生效 寫法是在對象后面跟 . + AS 內(nèi)置的...
目錄 效果展示 實(shí)現(xiàn)步驟 1.繼承GLSurfaceView 繼承GLSurfaceView用于展示渲染的畫面,并實(shí)現(xiàn)GLSurfaceView.Renderer接口 2.獲...
一、背景 最近快離職了,閑的無聊,準(zhǔn)備整理下屬于自己的library庫,想把自己的庫放在網(wǎng)上去,用的時候直接依賴添加。首先想到的就是JitPack,于是網(wǎng)上查看了下資料,看怎...
在網(wǎng)上找了很多,沒有喜歡的方案。也參考了眾多設(shè)計(jì),做了一款自認(rèn)為比較簡潔、完美的方案: 大致思路:外層放置scrollview作為容器,容器內(nèi)上部分topView,下部分ta...
@笫丶十三 Glide 或者 Google 自己出的,Android 高版本對 Bitmap 已經(jīng)經(jīng)過優(yōu)化處理了,全部放到本地內(nèi)存中(堆外內(nèi)存),也就是不在進(jìn)程所屬 JVM 虛擬機(jī)內(nèi)存中了
android 圖片加載庫(4)- Fresco上一篇說完 Glide 之后,我們現(xiàn)在來說下 Fresco,從使用感受上來看,使用 Fresco 比 Glide 要簡便不少,但是 Fresco 需要使用單獨(dú)的圖片控件,系統(tǒng)...
最近看到一個新聞,一個 1: 1 的自由高達(dá)落戶在上海金橋。 作為高達(dá)愛好者的我一直想去現(xiàn)場感受一下高達(dá)真實(shí)的壓迫感,無奈一直沒機(jī)會去上海。不過這難不倒我,借助 AR 技術(shù)自...
Android 截屏分為四種:View 截屏、WebView 截屏、系統(tǒng)截屏 和 adb 截屏 1、View 截屏 View 截圖是將當(dāng)前 View 界面截取下來,而對于屏幕...
@42f7649a08c4 哈哈,單詞記錯了,見諒啊
Flutter - Weight 入門從 C 開始,我們進(jìn)步到 java,再到 kotlin,現(xiàn)在又迎來了 Dart、Flutter,還要去學(xué)學(xué) python。時代在進(jìn)步,我們也得跟著進(jìn)步,新的思想、新的工具、新...
圖標(biāo)資源對應(yīng)的像素 有些時候不能使用Application的Context,不然會報(bào)錯(比如啟動Activity,顯示Dialog等) getParent().request...
在開始之前,我們先來看看開發(fā)過程中,面對以前寫的代碼常會碰到的問題: 這塊代碼好幾次用到了,應(yīng)該抽出去; 這個算法可以換個更高效的寫法; 這段邏輯繞來繞去,其實(shí)可以換個思路。...
哈哈,是我啊
android 多線程 — 線程的面試題和答案這里都是我從各個地方找來的資料,鳴謝: [Android面試系列]一句話講清楚Android消息機(jī)制 Java多線程干貨系列—(一)Java多線程基礎(chǔ) JAVA多線程和并發(fā)基...
@雙魚座1990 見諒啊,寫的時間早,好幾年了
kotlin - Coroutine 協(xié)程我是在深入學(xué)習(xí) kotlin 時第一次看到協(xié)程,作為傳統(tǒng)線程模型的進(jìn)化版,雖說協(xié)程這個概念幾十年前就有了,但是協(xié)程只是在近年才開始興起,應(yīng)用的語言有:go 、goLand、k...