原创 安卓學習筆記 6-12 FFmpeg解碼

今天我學習了FFmpeg解碼 首先,我們來看一下解碼流程 我們先註冊組件,然後打開視頻文件 視頻播放需要通過解碼器進行,我們來獲得解碼器 我們需要遍歷查找視頻流的索引 然後我們拿到的是YUV420p原始數據,需要轉成rgb來

原创 二叉樹原理及實現

完整代碼在這裏 https://github.com/zhangjunapk/half_search_tree   樹被廣泛使用,比如文件系統,unix上用到了紅黑樹,windows上用到了樹 二分查找樹可以說是一個有序的集合,節點之間用

原创 怎麼用Navicat連接Oracle[附下載鏈接]

怎麼用Navicat連接Oracle 需要材料 instantclient navicat 注意 版本一定要匹配,我找了很多版本,最後找到了個匹配的 設置方法 打開navicat ->工具->選項->環境->OCI環境一欄->

原创 如何設計一個比較通用的爬蟲系統

如何設計一個比較通用的爬蟲系統 文章目錄如何設計一個比較通用的爬蟲系統背景介紹頁面差異結果集不同要發送哪些結果給用戶怎麼發送這些數據給用戶項目依賴介紹表結構代碼類間關係操作流程 背景介紹 最近老大讓我設計一個爬蟲系統,主要流程就是

原创 如何優雅地實現Controller返回數據格式的統一

如何優雅地實現Controller返回數據格式的統一 在controller裏面,我們可以這樣實現返回格式的統一 @ResponseBody @RequestMapping(value = "saveReferenceIn

原创 矩陣壓縮

我們可以通過壓縮矩陣來節省資源 //矩陣壓縮算法 //將矩陣壓縮成另一個矩陣 //另一個矩陣第一行存儲了之前矩陣的行數 列數 以及非0元素個數 //然後每一行都保存了非0元素的行數 列數 及元素值 public class Main {

原创 安卓學習筆記 6-11 增量更新

如今app容量越來越大,爲了減輕服務器流量消耗成本以及用戶流量費 越來越多的APP使用增量更新技術來迭代版本 具體操作也就三步 1.通過bsdiff生成差分包 2.獲取 /data/app/包名下的apk,然後與差分包合併成新的ap

原创 安卓學習筆記 6-10 熱更新

今天我研究了一下熱更新 ============jvm模型========== 我們類裏面的方法在方法區,方法區有字節碼和方法表 當我們用代碼new 對象的時候,這個對象會在堆裏開闢空間 然後棧區放了對象的引用,比如 TextVie

原创 安卓學習筆記 6-14 排序

剛纔我在等人的時候,在手機上寫了個很簡單,且效率不高的排序算法 int [] ints={1,4,2,8,10,5,13,20}; public doOrder(int[] ints){

原创 安卓學習筆記 6-13 插件化開發(換膚)

插件化開發比較流行且易實現的用法是切換主題 首先,我們需要對佈局進行監聽,不然用戶可能在更改主題後,下次進入app會看見原始的主題變成之後的,影響體驗 我們來寫一個類,繼承自LayoutInflaterFactory 可以看到,最終它

原创 怎麼用okhttp獲得響應頭數據

怎麼獲得響應頭數據 文章目錄怎麼獲得響應頭數據背景簡單分析接下來就是代碼實現 背景 百度搜索結果,但是真實的url被百度加密了,假如我們需要獲得真實url需要怎麼處理呢?帶着這個疑問,我在chrome瀏覽器裏看了下 簡單分析 這是

原创 設計模式-橋接模式

設計模式-橋接模式 文章目錄設計模式-橋接模式模式介紹類間關係代碼實現一些總結 模式介紹 橋接模式用於分離要做的功能和具體實現,從而讓各個模塊獨立出來。接下來我們看一個例子,假如我們有一個機器人,這個機器人能夠動手指,能夠跑步,以

原创 單例模式,一種防反射攻擊的寫法

單例模式,一種防反射攻擊的寫法 文章目錄單例模式,一種防反射攻擊的寫法介紹代碼實現 介紹 單例模式一般用於只需要一個對象的場景,必須http請求工具類,我們不需要多個,就可以用單例的寫法 代碼實現 public class Uti

原创 Spring Boot 定義攔截器,攔截所有執行的sql

Spring Boot 定義攔截器,攔截所有執行的sql 文章目錄Spring Boot 定義攔截器,攔截所有執行的sql代碼實現一些說明 代碼實現 import com.alibaba.fastjson.JSONObject;

原创 設計模式->建造者

建造模式 文章目錄建造模式建造模式介紹類間關係代碼實現 建造模式介紹 建造模式的核心就是不同對象的組合 類間關係 代碼實現 食物接口 public interface IFood { void eat();//吃