原创 java.util.concurrent包中線程安全的集合簡介

一、線程安全的集合        Java中有很多支持多線程併發的集合,比如Hashtable、Vector但是這些“古老”的併發集合效率並不高,一般只支持一個線程對其進行讀寫(加鎖是針對整張表)。從Java 5開始 Java在java.

原创 Android手把手教你實現卡片式瀑布流效果(RecyclerView+CardView,附源碼)

Android手把手教你實現卡片式瀑布流效果 卡片式的瀑布流效果是一種非常美觀的UI設計,自從Android 5.0的 RecyclerView出現以後,實現瀑布流變得十分簡單,本文將一步步帶領讀者去實現一個卡片式的瀑布流佈局。

原创 Android Studio中使用junit做單元測試

Android Studio中使用junit做單元測試 單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。比如一個函數,一個方法等。關於單元測試要不要做,由誰來做這些問題暫時拋到一邊。本文只是單純的介紹

原创 Android ImageView的scaleType屬性解釋

Android ImageView的scaleType屬性解釋 ImageView的scaleType的屬性是用於指示圖片應該如何縮放顯示在圖片控件上。 Android的scaleType有好幾種,分別是matrix(默認)、cent

原创 Java中volatile的併發安全性分析

一、volatile的解釋        當一個共享變量被volatile修飾時,它會保證修改的值會立即被更新到主存,當有其他線程需要讀取時,它會去內存中讀取新值。 二、問題的發現      從volatile的定義上來看它看似應該能保

原创 Java統計二進制數中1的個數

一、問題描述         輸入一個整數X,統計其二進制形式中1的個數。 二、思路分析         粗略一看,似乎應該把X轉化成二進制形式,然後遍歷統計其中1的個數,但是這種方法首先轉換二進制就很麻煩,然後還需要遍歷統計。 三、

原创 Java線程同步中的wait()和notify()使用簡單示例

一、簡介       有時候併發編程中,並不只是保證數據的一致性和操作的原子性,還需要使各個任務按正確的順序執行。在Java中提供了多種方法來實現同步。這裏使用wait()和notify()來實現一個簡單的雙線程交替工作的同步場景。  

原创 Android中用到了哪些設計模式?

所謂活學活用,學習了設計模式,作爲一個Android開發者,你知道Android中哪些地方使用到了設計模式嗎? 原創文章,尊重他人勞動成果,轉載請註明出處http://blog.csdn.net/a369414641/article

原创 Java下載網絡上的圖片

一、今天有學弟想讓我展示一下Java怎麼下載圖片,於是簡單寫了一下,發現估計很多初學者也想知道,於是就發上來了 二、代碼,這裏我隨便選了百度上的一張圖片,也許之後不存在了,所以請大家靈活替換URL地址。 package com; i

原创 C語言printf()函數詳解和安全隱患

一、問題描述          二、進一步說明       請仔細注意看,有如下奇怪的現象       int a=5; floatx=a; //這裏轉換是沒有問題的,%f打印x是 5.000000

原创 Java中接口和抽象類的區別你真的清楚嗎?

一、引言       Java中抽象類和接口的區別你的真的全部知道嗎?今天看見一片CSDN首頁博文,感覺他總結的不是很好,於是自己親自總結一下,結果發現很多意想不到的情況。那麼先列一列總結出來的區別吧,這些你都知道嗎?:        

原创 Java使用阻塞隊列BlockingQueue實現線程同步

一、BlockingQueue簡介        BlockingQueue是java.util.concurrent包提供的一個接口,經常被用於多線程編程中容納任務隊列。它提供了兩個支持阻塞的方法:        put(E e):嘗試

原创 Java 多線程中的任務分解機制-ForkJoinPool詳解

一、任務分解問題和ForkJoinPool簡介        在多線程併發編程中,有時候會遇到將大任務分解成小任務再併發執行的場景。Java 8新增的ForkJoinPool很好的支持了這個問題。        ForkJoinPool是

原创 Java 中7種線程池詳解+示例代碼

一、線程池簡介       周所周知,Java創建一個新線程的成本是比較高的。因此在面臨大量的多線程任務時,採用線程池幾乎成了慣用的做法,線程池其實也是設計模式中享元模式思想的一種應用。      一般線程池剛啓動時會新建大量的(跟傳入參