摘要: ArrayList和Vector都是使用数组方式存储数据区别大概就是Vector本身所有方法都是用synchronized修饰的,所以线程安全,而ArrayList没有还有一个区别就是新增元素的时候Vector的增量是原来的一倍,而ArrayList增加原来的一半public void ensureCapacity(int minCapacity) { modCount++; int oldCapacity = elementData.length; if (minCapacity > oldCapacity) { Object oldData[] = elem... 阅读全文
posted @ 2013-10-12 21:57 yanghuahui 阅读(16825) 评论(1) 推荐(1)
摘要: synchronized用于多线程设计,有了synchronized关键字,多线程程序的运行结果将变得可以控制。synchronized关键字用于保护共享数据。synchronized实现同步的机制:synchronized依靠"锁"机制进行多线程同步,"锁"有2种,一种是对象锁,一种是类锁。1.依靠对象锁锁定初始化一个对象时,自动有一个对象锁。synchronized {普通方法}依靠对象锁工作,多线程访问synchronized方法,一旦某个进程抢得锁之后,其他的进程只有排队对待。synchronized {普通方法}依靠对象锁工作,多线程访问syn 阅读全文
posted @ 2013-10-12 21:22 yanghuahui 阅读(24752) 评论(1) 推荐(6)
摘要: 如题,最近项目里有个模块我做了异步处理方面的事情,在code过程中发现一个颠覆我对synchronized这个关键字和用法的地方,请问各位java开发者们是否对此有一个合理的解释,不多说,我直接贴出问题代码:(事实证明这是一个坑,各位读者,如果有兴趣,可以先不看答案,自己看看能不能发现这个坑)imp... 阅读全文
posted @ 2013-10-12 16:30 yanghuahui 阅读(38247) 评论(2) 推荐(3)