原创 堆與棧

棧(操作系統):由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧 棧使用的是一級緩存, 他們通常都是被調用時處於存儲空間中,調用完畢立即釋放 堆(操作系統): 一般由程序員分配釋放, 若程序員

原创 JAVA併發數據結構詳解

一.BlockingDeque阻塞雙端隊列(線程安全): 注意ArrayDeque和LinkedList僅僅擴展了Deque,是非阻塞類型的雙端隊列。 BlockingQueue單向隊列,其內部基於ReentrantLock + C

原创 Bitmap優化

1. 一個進程的內存可以由2個部分組成:`native和dalvik`,`dalvik`就是我們平常說的`java`堆,我們創建的對象是在這裏面分配的,而`bitmap`是直接在`native`上分配的。 一旦內存分配給`Java`後,以

原创 Android代碼混淆

 混淆器(ProGuard) --- 混淆器通過刪除從未用過的代碼和使用晦澀名字重命名類、字段和方法,對代碼進行壓縮,優化和混淆。結果是一個比較小的.apk文件,該文件比較難進行逆向工程。因此,當你的應用

原创 android數據儲存之應用安裝位置

原文地址:http://developer.android.com/guide/topics/data/install-location.html#Compatiblity 從API8開始,你可以將你的應用安裝在外部儲存。這是一個可選的特

原创 java NIO

Java NIO和IO的主要區別 下表總結了Java NIO和IO之間的主要差別,我會更詳細地描述表中每部分的差異。 IO                NIO 面向流            面向緩衝 阻塞IO          

原创 Difference between new Test() and new Test() { }

Test t2=new Test(); will create the object of Test class. But Test t2=new Test(){ }; will create a object of subcla

原创 android 數據庫操作execSQL()和rawQuery()

        Android提供了一個名爲SQLiteDatabase的類,該類封裝了一些操作數據庫的API,使用該類可以完成對數據進行添加(Create)、查詢(Retrieve)、更新(Update

原创 Fragment真正的onPause以及onResume

`Fragment`雖然有`onResume()`和`onPause()`方法,但是這兩個方法是`Activity`的方法調用時機也與`Activity`相同,和`ViewPager`搭配使用這個方法就很雞肋了,根本不是你想要的效果,這裏