文章分类 -  Android

摘要:Java 理论与实践: 并发集合类ConcurrentHashMap 和 CopyOnWriteArrayList 提供线程安全性和已改进的可伸缩性在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK 1.0的一部分。Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。 此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的基类和一个同步的包装器Collections.sy 阅读全文
posted @ 2011-11-29 13:11 贝壳笨 阅读(301) 评论(0) 推荐(0) 编辑
摘要:类概述 根据接收的 MotionEvent,侦测由多个触点(多点触控)引发的变形手势。callback 方法ScaleGestureDetector.OnScaleGestureListener会在特定手势事件发生时通知用户。该类仅能和Touch事件引发的 MotionEvent 配合使用。使用该类需要为你的 View 创建 ScaleGestureDetector实例确保在 onTouchEvent(MotionEvent)方法中调用onTouchEvent(MotionEvent). 在事件发生时,定义在 callback 中的方法会被调用。 (ScaleGestureDetect... 阅读全文
posted @ 2011-11-25 17:47 贝壳笨 阅读(736) 评论(0) 推荐(0) 编辑
摘要:说说ReentrantReadWriteLock1) 背景jni的使用场景,多线程读,单线程写,写的时候会更新java对象,当老的java对象无须再使用的时候必须释放jni所占用本地方法区的内存,这个区域的内存不在java heap范畴,因此也无法被垃圾回收掉,需要显式的释放。但问题在于什么释放?有人会说使用finalize,但finalize过于依赖jvm的回收的时机,这使得什么时候能真正释放显得不太好预测。或者使用synchronized 内部锁,这样会导致性能的下降,为了极少量的写牺牲了大量的读。释放的时机确实不太好把握,因为必须等待所有对于老的java对象的读线程访问完毕才能释放,否者 阅读全文
posted @ 2011-11-17 16:09 贝壳笨 阅读(169) 评论(0) 推荐(0) 编辑
摘要:ExecutorService线程池ExecutorService 建立多线程的步骤:1。定义线程类class Handler implements Runnable{}2。建立ExecutorService线程池ExecutorService executorService = Executors.newCachedThreadPool();或者int cpuNums = Runtime.getRuntime().availableProcessors();//获取当前系统的CPU 数目ExecutorService executorService =Executors.newFixedTh 阅读全文
posted @ 2011-11-17 11:10 贝壳笨 阅读(169) 评论(0) 推荐(0) 编辑
摘要:Giventheexhibit:import java.io.*;mport java.util.*; public class PQ {public static void main(String[] args) {PriorityQueue<String> pq = new PriorityQueue<String>();pq.add("carrot");pq.add("apple");pq.add("banana");System.out.println(pq.poll() + ":" 阅读全文
posted @ 2011-11-01 14:17 贝壳笨 阅读(2388) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示