原创 安卓進階(2)之android Binder通信理解

關鍵字 aidl 進程間通信 binder機制 aidl 全名安卓接口定義語言,用於進程間通信。簡單理解的話,就是類似應用的服務器和客戶端。服務器開啓一個服務處理數據,客戶端傳遞數據以及響應回調。具體使用方法見AndroidS

原创 安卓進階(1)之從Glide緩存算法到了解java數據結構

考察關鍵字 LRU算法(近期最少使用算法) LinkHashmap=HashMap+雙向鏈表 HashMap原理 雙向鏈表和單向鏈表區別 LRU算法 Glide圖片緩存分爲三級:內存緩存,磁盤緩存,網絡加載。 其中,內存緩存使

原创 Django系列(3)-統一封裝Response消息體

親測,直接拷貝我代碼用就好,有問題請留言~ 定義常見code # 響應成功,狀態碼200 CODE_SUCCESS = '000000' MSG_SUCCESS = '成功' # token失效或權限認證錯誤,狀態碼401 COD

原创 Java進階(7)之mac 安裝rocketmq以及與springboot結合使用

安裝RocketMQ Server 下載bin壓縮包 在 rocketmq官網中下載最新bin壓縮文件(當前最新版本是4.7.0) 環境配置 在.bash_profile文件中添加環境變量: export ROCKETMQ_HOM

原创 java 圖片url以form-data方式上傳

之所以想記錄下來,主要是之前對這個不太熟,然後在網上找了大半天也沒找到合適的,然後自己慢慢試了出來,比較囧。。。但分享給大家,親測可用! 主要分爲兩步: 1. 將圖片url轉爲二進制字符串; 2. 將二進制字符串以及其他字段一併上

原创 Django系列(1)-自動化生成API文檔

PS: 個人深感python開發者社區氛圍比安卓/ios/java差多了。不過,這也許是個機會~ 前提: 本人開發環境是mac10.14.4,Python3.7.2 django-rest-swagger vs drf-yasg

原创 java進階(6)之從硬件底層剖析synchronized/volatile原理

已知: java中的synchronized關鍵字能保證可見性,有序性,原子性; volatile關鍵字能保證可見性,有序性。 問題: 爲什麼java中的併發,在硬件層面不能保證,非要在JVM裏處理呢? 它們在硬件層面是如何

原创 java進階(2)之Eureka集羣配置以及Ribbon負載均衡淺析

本文是基於上一篇Euraka和Feign的結合使用來的,請先看下上一篇的內容。 Eureka集羣配置 先對eureka-feign進行build,生成jar包 然後在命令行的兩個窗口分別執行: java12 -Dserver.po

原创 java進階(3)之Eureka註冊中心原理以及性能調優

圖解原理 看圖說明: 1. 應用server的服務實例一上線,就會將自己註冊到Eureka Server的註冊表中; 2. 服務註冊表一旦檢測到有更新,就會將實例同步到讀寫緩存表; 3. 讀寫緩存表每隔30s,就會將實例信息同步

原创 Django系列(2)-設置token失效時間

PS: 本篇中的token,指的是rest_framework的token。 新建token.py,比較token時間戳 import datetime from rest_framework.authentication imp

原创 java進階(8)之阿里雲 安裝單機版rocketmq並躺坑

PS: 本人是阿里雲服務器裸機實踐 安裝準備 安裝jdk 下載 選擇合適的jdk版本進行下載,我是選擇的清華大學開源軟件鏡像站,oracle官網還得賬號登錄才能下載,比較麻煩,我選擇的是jdk1.8: wget https://m

原创 java進階(5)之ReentranctLock/AQS等併發原理解析

PS: AQS全稱AbstractQueueSynchronizer,抽象隊列同步器,是併發中最核心的一個類了,本篇文章不剖析源碼,只用文字和圖形表達。 AQS解析以及與ReentranctLock之間的關係 通過看源碼可知,R

原创 mysql數據庫(1)之性能壓測

我是用mac本地測試的,linux環境大致相同。數據庫的性能壓測,不單單一味追求qps/tps,還要看CPU和內存使用情況。 QPS/TPS壓測工具sysbench 安裝sysbench 使用brew命令安裝sysbench br

原创 java進階(4)之volatile關鍵字深入詳解

volatile作用 可見性 當有多個線程共用一個變量,有線程讀,有線程寫,那麼就有可能導致有的線程無法及時讀取到另外線程修改後的變量的值。volatile關鍵字可以讓其他線程立即看到變量的最新值。 有序性 終端設備爲了加快運行速

原创 java進階(1)之Euraka和Feign的結合使用

PS: 本篇博客只講具體使用,原理源碼後續博客再講。 博客源碼地址在 這裏。 項目效果 euraka註冊和啓動效果 eureka-feign-client接口請求示例 項目結構 如圖,euraka-feign是euraka服