原创 ubuntu主題美化和軟件推薦

系統清理篇 系統更新 安裝完系統之後,需要更新一些補丁。Ctrl+Alt+T調出終端,執行一下代碼: sudo apt-get update sudo apt-get upgrade 修改hosts篇 爲了便於後續軟件能夠快速

原创 HTTP緩存控制小結

前言 通過網絡獲取內容既緩慢,成本又高:大的響應需要在客戶端和服務器之間進行多次往返通信,這拖延了瀏覽器可以使用和處理內容的時間,同時也增加了訪問者的數據成本。因此,緩存和重用以前獲取的資源的能力成爲優化性能很關鍵的一個方面。 與緩存相

原创 Android開發之全局異常捕獲

前言 大家都知道,現在安裝Android系統的手機版本和設備千差萬別,在模擬器上運行良好的程序安裝到某款手機上說不定就出現崩潰的現象,開發者個人不可能購買所有設備逐個調試,所以在程序發佈出去之後,如果出現了崩潰現象,開發者應該及時獲取在該

原创 AtomicInteger類的理解與使用

前言 JDK1.5之後的java.util.concurrent.atomic包裏,多了一批原子處理類。AtomicBoolean、AtomicInteger、AtomicLong、AtomicReference。主要用於在高併發環境下的

原创 Android內存優化--使用SparseArray和ArrayMap代替HashMap

前言 在Android開發時,我們使用的大部分都是Java的api,比如HashMap這個api,使用率非常高,但是對於Android這種對內存非常敏感的移動平臺,很多時候使用一些java的api並不能達到更好的性能,相反反而更消耗內存,

原创 Retrofit2.0 源碼分析

前言 註解式的框架非常火,註解以其輕量,簡潔等特性被人們所喜愛者,關鍵是它解藕。網絡請求的框架非常多,比較受歡迎的當屬retrofit和okHttp了。連retrofit都是基於okHttp之上開發的。ok, 言歸正傳,我們來聊聊retr

原创 詳解Java中的clone方法 -- 深拷貝和淺拷貝

Java中對象的創建 clone顧名思義就是複製, 在Java語言中, clone方法被對象調用,所以會複製對象。所謂的複製對象,首先要分配一個和源對象同樣大小的空間,在這個空間中創建一個新的對象。那麼在java語言中,有幾種方式可以創建

原创 ThreadLocal詳解分析

前言 要了解ThreadLocal,首先搞清楚ThreadLocal 是什麼?是用來解決什麼問題的? ThreadLocal 是線程的局部變量, 是每一個線程所單獨持有的,其他線程不能對其進行訪問, 通常是類中的 private sta

原创 LeakCanary 原理淺析

前言 提到Java語言的特點,無論是教科書還是程序員一般都會羅列出面向對象、可移植性及安全等特點。但如果你是一位剛從C/C++轉到Java的程序員,對Java語言的特性除了面向對象之外,最外直接的應當是在Java虛擬機(JVM)在內存管理

原创 主流視頻通話SDK比較

視頻通話框架 主流的視頻通訊框架比較多,此文主要通過Android平臺的來做SDK平臺使用的比較。 現在的視頻熱門框架有一些如: Jitsi  Jitsi是一個開源的,安全(ZRTP加密),高質量的SIP/XMPP視頻通話、會議、聊天

原创 狼人殺語音法官助手

狼人殺語音法官助手 簡介 爲什麼叫語音法官助手呢?因爲他可以自己在黑夜裏叫玩家睜眼閉眼,記錄 遊戲狀態,這樣當玩狼人少一個法官,或者大家都要玩的時候,有一個手機當法官,豈不是美滋滋? 版本 V 1.1.0 版本 增加重新選擇人數以及角

原创 Java 類加載機制

前言 類從被加載到虛擬機內存中開始,到卸載出內存爲止,它的整個生命週期包括:加載、驗證、準備、解析、初始化、使用和卸載七個階段。它們開始的順序如下圖所示: 其中類加載的過程包括了加載、驗證、準備、解析、初始化五個階段。在這五個階段中,加

原创 什麼是死鎖及死鎖的必要條件和解決方法

前言 在計算機系統中有很多一次只能由一個進程使用的資源,如打印機,磁帶機,一個文件的I節點等。在多道程序設計環境中,若干進程往往要共享這類資源,而且一個進程所需要的資源不止一個。這樣,就會出現若干進程競爭有限資源,又推進順序不當,從而構成

原创 Java 內存模型及GC原理

前言 一個優秀Java程序員,必須瞭解Java內存模型、GC工作原理,以及如何優化GC的性能、與GC進行有限的交互,有一些應用程序對性能要求較高,例如嵌入式系統、實時系統等,只有全面提升內存的管理效率,才能提高整個應用程序的性能。 本文將

原创 Android攝像頭獲取實時數據+Demo

首先需要用到的是一個叫Camera類的,更新的一個叫Camera2的類。 Camera2是從 SDK 5.0(API Level 21)開始才被引入的。裏面的方法有些還是比原來的方便許多的,但是,用戶系統版本參差不齊,所以暫時還是