原创 從緩存文件的角度幫你理解 Okhttp3 緩存原理

@[toc] 本文以一個不同的角度來解讀 Okhttp3 實現緩存功能的思路,即:對於對於的緩存空間(文件夾)中的緩存文件的生成時機、不同時期下個文件的狀態、不同時期下日誌文件讀寫。通過這些方法來真正理解 Okhttp3 的緩存功能。如果

原创 Java 內存空間

1. 概述 Java 不像 C/C++ 需要程序員自己管理內存,Java 把內存控制的權利交給類 Java 虛擬機。 2. 運行時數據區域 JVM 在 Java 程序運行時把它所管理的內存劃分爲幾個不同的數據區域。 2.1 程序計數器

原创 [轉] 無線路由器的工作原理

路由器的分類應用離不開對路由器的工作原理的剖析,而路由器的工作原理則決定了其主要分類及其應用的範圍。爲了簡單地說明路由器的工作原理,現在我們假設有這樣一個簡單的網絡。 如圖所示,A、B、C、D四個網絡通過路由器連接在一起,現在我們來看一下

原创 代碼段學習設計模式 -- 代理模式

也被稱爲委託模式,代理模式爲其他對象提供一種代理以控制對這個對象的訪問。 目錄 [TOC] 1、組成及優點 1.1 組成 抽象角色:通過接口或抽象類聲明真實角色實現的業務方法。 代理角色:實現抽象角色,是真實角色的代理,通過真實

原创 Bug 記錄 -- 日誌二

1、AS 編碼格式 Annotation processors must be explicitly declared now. The following dependencies on the compile classpath a

原创 [轉]Java 泛型增補一 -- 如何理解 Java 中的 <T extends Comparable <? super T>>

說明:CSDN 平臺上 Markdown 編輯器識別 < 和 > 爲非法字符,導致文章無法發佈,於是使用 [ 和 ] 來替代。說實話,轉載文章的排版真是能瞅死個眼啊。 Java 中類似 <T extends Comparable<?

原创 Flutter 開發遇到的配置問題

不久前把Flutter 在電腦上配置完畢,結合 Android studio 簡單運行 demo,具體瞭解一下什麼是Flutter,之後就沒再繼續探究下去,近日想繼續學習Flutter ,可想把 demo 運行起來就遇見了不少問題,不牽涉

原创 Linux軟件安裝 (基於 Fedroa )

一、Linux軟件包種類 1.源碼包---tar.gz 這種格式下軟件安裝包,可以看到源碼,安裝比較靈活。 2.RPM 包 源碼進行編譯後的Linux軟件包,看不到源碼,相對沒有源碼包靈活,但rpm包安裝起來比較方便,只需要幾個簡單的命令

原创 Linux 學習記錄 -- 基本命令(四)-- 網絡命令

Linux write 功能描述: 給指定的用戶發送信息,編輯信息內容,以 Ctrl + D 保存結束 語法: write[用戶] 示例:write user wall 功能描述: 發送廣播信息 語法: wall

原创 Linux 學習記錄 -- 基本命令(三)-- 權限修改命令

Linux chmod 功能描述:改變文件或目錄權限 英文原意:change the permission mode of a file or directory 語法: chmode [{ugoa}{+-=}{rwx}]

原创 Vim 常用的操作

1、插入命令 命令 作用 a 在光標所在字符後插入 A 在光標所在行尾插入 i 在光標所在字符前插入 I 在光標所在行首插入 o 在光標下插入行 O 在光標上插入行 2、定位命令 命令 作用

原创 Android Studio 報錯解決方案 一

報錯信息如下: Configuration on demand is not supported by the current version of the Android Gradle plugin since you are usin