原创 Ubuntu 下JDK的安裝與環境配置

一、JDK bin文件安裝 在 Ubuntu 64 12.4 位操作系統下安裝jdk-6u45-linux-x64.bin文件 一、複製JDK到安裝目錄 1.假設JDK安裝文件放在桌面,我們要安裝的目錄爲:/usr/local/j

原创 動態鏈接之可執行文件的裝載與進程

一、進程的虛擬地址空間 程序 是一個靜態的概念,它就是一些預先編譯好的指令和數據集合的一個文件。 進程 是一個動態的概念,它是程序運行時的一個過程。 每個進程被運行起來以後,它將有自己獨立的虛擬地址空間(Viretual A

原创 Android系統su命令源碼分析

這篇文章將介紹Android 4.4.4_r1 系統源碼中自帶的 su命令源碼。 su二進行值文件一般放在Android 設備中的/system/bin 目錄或/system/xbin 目錄中,我們在Android 設備中的sh

原创 Java 多線程安全之 Atomic

一、 Atomic類簡介 在Java.util.concurrent.atomic包下,有AtomicBoolean , AtomicInteger, AtomicLong, AtomicReference等類,它們的基本特性就

原创 Groovy開發環境搭建

一 Groove SDK 安裝 1.從官網下載Groove SDK包:http://www.groovy-lang.org/download.html, 注意Groove是基於JVM的,所以首先安裝JDK 解壓目錄 配置環境變量

原创 Init 進程詳解

Android 內核加載完成後,就會啓動init進程,init進程是Android系統用戶空間的第一個進程。init程序放在系統根目錄下,init進程代碼位於源碼的目錄“system/core/init”下面。 下面我們來分析init進程

原创 Android View事件分發機制 二(ViewGroup)

在上篇文章中,我們討論了View 的事件分發機制。這篇文章我們討論佈局控件 ViewGroup的事件分發機制。ViewGroup繼承自View組件。 一、小例子分析 這次由於要討論佈局控件ViewGroup,所以這次我們重寫Button、

原创 zygote詳解

在init進程詳解的一章中,我們知道init.rc文件中的zygote啓動腳本命令是 service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start

原创 java核心技術 第四章 對象與類

4.1 面向對象概述 面向對象層序設計(OOP),Java是完全面向對象。 面向對象的程序是由對象組成的,每個對象包含對用戶公開的特定功能部分和隱藏的實現部分。 面向對象將數據放在第一位。 4.1.1 類 類(class)是構造對象的模

原创 java編程思想 第 10 章 內部類

將一個類的定義放在另一類的定義內部,這就是內部類 一、 創建內部類 把內部類的定義置於外圍類的裏面: //: innerclasses/Parcel1.java // Creating inner classes. public cla

原创 IDA 動態調試Android SO .init .init_array JNI_Onload總結

在安卓脫殼過程中,經常需要用ida動態調試so,並且在解密代碼執行前下斷點,下面介紹用IDA在Android so文件的.init、.init_array上和JNI_OnLoad處下斷點方法。我們以自己編寫的一個小程序initTest.a

原创 Android View事件分發機制 一(View)

下面我們來討論Android事件分發機制. 一、點擊事件小例子分析 爲了分析安卓事件分發機制,我們先分析一個小例子。項目名叫做ClickExample1.下載地址: 1.項目源碼 界面如下: 佈局文件如下,佈局中1個LinearLa

原创 java編程思想 第 6 章 訪問權限控制

更新類庫時爲了讓開發人員知道哪些類是被其它類引用的,不能被修改而引人了訪問權限控制。 public > protect >(默認) > private 一、包:庫單元 包內包含一組類、它們在單一的名稱空間下被組織到了一起: java.ut

原创 AppTheme屬性設置集合

作者:Wing_Li 鏈接:http://www.jianshu.com/p/bc38d6a15809 來源:簡書 著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。 現在新建一個項目基本都會在 style.xml

原创 java動態代理解析

一、Java創建動態代理對象步驟 java動態代理創建對象的過程爲如下步驟: 1. 通過實現InvocationHandler接口創建自己的調用處理器。 調用處理器實現InvocationHandler接口的invoke方法。代理類的方