原创 Android 運行中效驗文件完整合法性

一.概述        因爲之前項目有動態熱修復的功能,在修復的過程中會從服務器上下載一個新的dex文件來替換老的dex文件,所以就牽扯到文件身份效驗的問題.通常接口會下發一個MD5值,只是一個MD5值的話就只能做一個完整性效驗,並不能確

原创 Android設計模式之代理模式 Proxy

一.概述        代理模式也是平時比較常用的設計模式之一,代理模式其實就是提供了一個新的對象,實現了對真實對象的操作,或成爲真實對象的替身.在日常生活中也是很常見的.例如A要租房,爲了省麻煩A會去找中介,中介會替代A去篩選房子,A坐

原创 Java 內存回收

目錄內存結構對象引用分析GC回收算法GC回收器內存分配規則 Java同C++的內存管理不一樣, 不需要開發者自己維護對象的生命週期. JVM的自動內存管理機制會幫助回收需要被回收的對象, 並且不會輕易出現內存泄露等問題. 這種機制

原创 Thread中斷解析

目錄中斷相關的方法中斷非阻塞時的線程中斷特定阻塞時的線程中斷等鎖阻塞時的線程中斷IO阻塞時的線程 線程中的中斷, 並不是字面上的意思就像stop那樣粗暴的結束線程. 這裏的中斷只是一個標記, 設置中斷後會在線程內部標記一下有人要中

原创 Android 日誌管理框架 NativeLogger

日誌是任何項目開發中的必須組件,它可以記錄下來系統的行爲,幫助開發者排錯,優化系統性能調整系統行爲等.既然日誌可以幫助我們做很多分析,那麼開發者肯定是有很多定製需求的,例如不同環境過濾不同等級的log,格式化輸出,輸出到文件,打包

原创 Java CAS無鎖優化

目錄CAS的應用性能對比ABA問題 在Java對象在內存中的結構和鎖狀態升級過程博客中已經分析了synchronized的鎖升級過程, 在出現較多線程競爭時, synchronized升級到重量級鎖會消耗較多的系統資源. 在特定場

原创 Android 熱修復方案Tinker(六) Gradle插件實現

基於Tinker V1.7.5 Android 熱修復方案Tinker(一) Application改造 Android 熱修復方案Tinker(二) 補丁加載流程 Android 熱修復方案Tinker(三) Dex補丁加載 Andr

原创 Android 熱修復方案Tinker(七) 插樁實現

基於Tinker V1.7.5 Android 熱修復方案Tinker(一) Application改造 Android 熱修復方案Tinker(二) 補丁加載流程 Android 熱修復方案Tinker(三) Dex補丁加載 Andr

原创 Android 安全規約

Android 安全規約彙總了一些安全工具掃描的規則, Android的安全漏洞以及實際項目中需要注意的安全問題. 並分篩選出市面上加固方案和360火線掃描能夠覆蓋到的, 和需要手工檢查的問題. 具體分佈如下表所示.規約可以作爲開發時的安

原创 Android 熱修復方案Tinker(四) 資源補丁加載

基於Tinker V1.7.5 Android 熱修復方案Tinker(一) Application改造 Android 熱修復方案Tinker(二) 補丁加載流程 Android 熱修復方案Tinker(三) Dex補丁加載 Andr

原创 Android 熱修復方案Tinker(二) 補丁加載流程

基於Tinker V1.7.5 Android 熱修復方案Tinker(一) Application改造 Android 熱修復方案Tinker(二) 補丁加載流程 Android 熱修復方案Tinker(三) Dex補丁加載 Andr

原创 Android 熱修復方案Tinker(五) SO補丁加載

基於Tinker V1.7.5 Android 熱修復方案Tinker(一) Application改造 Android 熱修復方案Tinker(二) 補丁加載流程 Android 熱修復方案Tinker(三) Dex補丁加載 Andr

原创 基於Express React AntD和MongoDB構建一個CMS系統

Demeter是一個CMS系統, 提供用戶體系以及App項目相關內容管理. 其中會包括用戶模塊, 項目模塊和歸檔模塊等. 該系統會長期迭代和維護. 技術棧 描述 ES6 項目代碼以ES2015爲標準 Rxjs 構建流式應用

原创 Python 自動化加固流程

這裏的加固指的是那種需要把文件上傳到第三方網站上, 等它加固完成之後再下載下來的場景.這裏就以梆梆加固爲例, 通過Python腳本將這個過程自動化起來.既然牽扯到第三方的網站, 那麼這個腳本絕大多數的操作都跟網絡請求相關. 簡單設計一下腳

原创 React Native 環境搭建, 新建項目, 運行和調試

React Native 可以理解爲一個基於 JavaScript, 具備動態配置能力, 面向前端開發者的移動端開發框架. 目前爲止雖然一直還沒有V1.0.0版本, 但是相信很多小夥伴都瞭解過或者已經入坑了. 爲什麼RN那麼有人氣呢? 我