編輯:中級開發
1. 原子操作
如果你過去開發過Win32驅動可能發現很多Native API都是有關原子操作的(atomic Operation),對於Java來說int、boolean這樣的類型是原子的,而long和double就沒有那麼幸運了。原子操作是什麼呢? 比如說Java線程的停止,在早期的JDK中提供了Thread.stop方法,但這個並不是線程安全的,而目前我們停掉一個Java線程都是用一個boolean變量來設置一個標記,你考慮這個boolean標記的改變是通過外部的其他線程,這樣產生的同步問題如何解釋呢? 這就是原子操作帶來的好處,對於Long型我們可以使用Java 1.5以後加入的concurrent.atomic的AtomicLong,對於android來說支持以下原子類型:
AtomicBoolean、AtomicInteger、AtomicIntegerArray、AtomicIntegerFieldUpdater<T>、AtomicLong、AtomicLongArray、AtomicLongFieldUpdater<T> 、AtomicMarkableReference<V> 、AtomicReference<V> 、AtomicReferenceArray<E>、AtomicReferenceFIEldUpdater<T, V> 和AtomicStampedReference<V> 。
2. 並發庫的CopyOnWriteArrayList
對於CopyOnWrite機制可以解決讀取頻繁,寫入較少時的並發效果,有關這方面內容我們在 android開發之Java並發包集合類性能分析 有過講解。
簡介: 本文詳細介紹了 Android 應用編程中 Activity 的生命周期、通信方式和 Intent Filter 等內容,並提供了一些日常開發中經常用
開發出高效穩定的Android應用我們不得不需要了解下Java虛擬機的原理和內存分配機制,android使用的是Google經過優化的Dalvik Java VM。通常
在android開發應用中,默認的Button是由系統渲染和管理大小的。而我們看到的成功的移動應用,都是有著酷炫的外觀和使用體驗的。因此,我們在開發產品的時候,需要對默
簡介: 本文是共兩部分的系列文章 “android 和 iPhone 浏覽器之戰” 的第 2 部分,主要關注為 iPhone 和 Android 開發基於浏覽