原创 java 線程池 使用實例

11 java 線程池 使用實例 在前面的文章中,我們使用線程的時候就去創建一個線程,這樣實現起來非常簡便,但是就會有一個問題: 如果併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁創建線程就會大大降低

原创 JAVA- Chain of Responsibility Pattern-學習總結

責任鏈模式(Chain of Responsibility Pattern) 概述 責任鏈模式爲請求創建了一個接收者對象的鏈。 這種模式給予請求的類型,對請求的發送者和接收者進行解耦。這種類型的設計模式屬於行爲型模式。 在這種模式

原创 Java並行編程-第六章 任務執行-學習總結

第六章 任務執行(Task Execution) 在線程中執行任務 最簡單策略就是在單個線程中串行地執行任務。 主線程在接受連接與處理相關請求等操作之間不斷交替運行。當服務器正在處理請求是時,新到來的連接必須等待直到請求處理完成,

原创 Android - 第二章 Activity 探究

Android - 第二章 Activity 探究 1. Activity 是什麼 2. Activity 的基本用法 3. 使用intent在Activity中調度 4. Activity的生命週期 Activity的狀態: 1

原创 java的集合框架最全詳解(轉)

java的集合框架最全詳解(轉) https://www.cnblogs.com/fuzhihong0917/p/5659783.html

原创 Android-廣播Broadcast Receiver詳解

1 廣播機制簡介 Android中的廣播主要分爲兩種類型:標準廣播和有序廣播。 標準廣播(Normal broadcasts)是一種完全異步執行的廣播,在廣播發出之後,所有的廣播接收器幾乎都會在統一時刻接受到這條廣播消息,因此它

原创 Java 中的幾種線程池

爲什麼要使用線程池 雖然大家應該都已經很清楚了,但還是說一下。其實歸根結底最主要的一個原因就是爲了提高性能。 線程池和數據庫連接池是同樣的道理,數據庫連接池是爲了減少連接建立和釋放帶來的性能開銷。而線程池則是爲了減少線程建立和銷燬

原创 linux中fork()函數詳解

linux中fork()函數詳解 一、fork入門知識 一個進程,包括代碼、數據和分配給進程的資源。fork()函數通過系統調用創建一個與原來進程幾乎完全相同的進程,也就是兩個進程可以做完全相同的事,但如果初始參數或者傳入的變量不

原创 JAVA並行編程-第三章 對象的共享-學習總結

第三章 對象的共享 要編寫正確的併發程序,關鍵問題在於:在訪問共享的可變狀態時需要進行正確的管理。本章學習重點就是如何共享和發佈對象,從而使它們能夠安全地由多個線程同時訪問。 關鍵字synchronized 不僅可以實現原子性或者

原创 Android - View 和 ViewGroup

Android - View 和 ViewGroup Android 系統中的所有 UI 類都是建立在 View 和 ViewGroup 兩個類的基礎之上的,所有 View 的子類稱爲 Widget,所有 ViewGroup 的子

原创 JAVA-反射-學習總結

反射 概述 Java反射機制是在運行狀態中,對任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱爲Java語言的反射機制。 想要解剖一

原创 JAVA並行編程-第八章 線程池的使用-學習總結

第八章 線程池的使用 1.在任務與執行策略之間的隱性耦合 有些類型的任務需要明確地指定執行策略,包括: 依賴性任務。大多數行爲正確的任務都是獨立的:它們不依賴於其他任務的執行時序、執行結果或其他效果。當在線程池中執行獨立的任務時,

原创 android的m、mm、mmm編譯命令的使用

android的m、mm、mmm編譯命令的使用 android源碼目錄下的build/envsetup.sh文件,描述編譯的命令 m: Makes from the top of the tree. mm:

原创 Protect Broadcast 保護廣播

一、android:sharedUserId=“android.uid.system” 系統中所有使用android.uid.system作爲共享UID的APK,都會首先在manifest節點中增加 android:sharedU

原创 JAVA-IO系列-學習總結

IO流 1.字符流 1.1 Reader 1.2 Writer 1.1.1 BufferedReader 字符緩衝輸入流 1.2.1 BufferedWrite