![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA语言
文章平均质量分 65
程尔旭源
这个作者很懒,什么都没留下…
展开
-
Lock与synchronized 的区别
原博文来自 http://houlinyan.iteye.com/blog/1112535 我参考该blog并做了整理总结 1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用转载 2015-04-03 13:51:57 · 510 阅读 · 0 评论 -
反射调用android系统级API函数
try { Class mClass = Class.forName("com.android.server.wifi.WifiSettingsStore"); Constructor con=mClass.getDeclaredConstructor(Context.class); if(!con.isAccessible()){ con.setAccessible(t原创 2015-08-19 14:13:32 · 3153 阅读 · 3 评论 -
多个线程同时开始启动计时框架的设计与实现
在DEMO测试中,我有个需求描述如下:线程A、B、C、D,我需要他们同时开始运行,并记录这四个线程全部完成所需要的时间。 这个借助synchronizer可轻松完成。这里我们使用CountDownLatch来实现,该方法的详细描述参见我的上篇博文:点击打开链接 核心代码如下:demo请参见github /** * @param args * @throws Inte原创 2015-04-17 16:41:27 · 763 阅读 · 0 评论 -
线程使用中的暂停,建议优先使用TimeUnit类中的sleep()
TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段时间里Thread的sleep()方法作为暂停线程的标准方式,几乎所有Java程序员都熟悉它,事实上sleep方法本身也很常用而且出现在很多面试中。如果你已经使用过Thread.sleep(),转载 2015-04-17 16:06:46 · 3681 阅读 · 0 评论 -
【笔记,待修改】关于设计模式的总结
1、抽象工厂模式: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。比如我创建一个cache接口,要求实现序列化和反序列化方法。 2、桥接模式 将抽象部分与它的实现部分分离,使它们都可以独立地变化。比如我发布一个aidl的接口,其实现都有service的stub去实现。 3、适配器模式 将一个类的接口转换成客户希望的另外一个接口。比如日历提供一个管理类原创 2015-04-20 15:08:32 · 354 阅读 · 0 评论 -
Java中合理的停止掉一个线程thread
1、第一种也是最常用的一种就是使用状态位 public class Task extends Thread { private volatile boolean flag= true; public void stopTask() { flag = false; } @Override public void run原创 2015-04-08 11:45:58 · 1239 阅读 · 0 评论 -
java object的wait和Thread的sleep方法区别
一、这里先来介绍下object的wait、notify和notify all方法 wait、notify和notifyAll方法是Object类的final native方法。所以这些方法不能被子类重写,Object类是所有类的超类,因此在程序中有以下三种形式调用wait等方法。 wait();//方式1: this.wait();//方式2: super.wait();//方原创 2015-04-06 20:50:13 · 724 阅读 · 0 评论 -
java 多线程之CountDownLatch用法
public class CountDownLatchDemo { final static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) throws InterruptedException { CountDown转载 2015-04-06 21:03:55 · 640 阅读 · 0 评论 -
java集合包List、Set、Map总结
1、List List包含ArrayList、LinkedList、Vector、Stack 需要注意到是Vector是基于synchronized实现的线程安全的arrayList,Stack继承自Vector,提供了LIFO的弹出和压入操作,提供了push、pop和peek操作。 2、Set Set 包含HashSet和TreeSet。Set是不允许重复元素的,因为Has原创 2015-04-18 16:55:16 · 570 阅读 · 0 评论 -
android应用程序中对于ANR主线程超时不响应导致强制关闭的解决方案
ANR(Application Not Responding)定义 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框原创 2016-03-11 14:50:49 · 3692 阅读 · 0 评论