本月博客排行
-
第1名
arpenker -
第2名
kaizi1992 -
第3名
wy_19921005
年度博客排行
-
第1名
龙儿筝 -
第2名
宏天软件 -
第3名
青否云后端云 - wallimn
- vipbooks
- gashero
- wy_19921005
- benladeng5225
- fantaxy025025
- javashop
- e_e
- tanling8334
- arpenker
- sam123456gz
- kaizi1992
- zysnba
- xiangjie88
- lemonhandsome
- ganxueyun
- xyuma
- Xeden
- wangchen.ily
- zhanjia
- jh108020
- johnsmith9th
- zxq_2017
- jbosscn
- forestqqqq
- ajinn
- daizj
- xpenxpen
- wjianwei666
- ranbuijj
- 喧嚣求静
- kingwell.leng
- silverend
- lchb139128
- kristy_yy
- jveqi
- lich0079
- lzyfn123
- java-007
- sunj
- yeluowuhen
- lerf
- xiaoxinye
- flashsing123
- lxguy
- zhangjijun
- lyndon.lin
最新文章列表
Java线程面试题 Top 50
原文链接:http://www.importnew.com/12773.html
本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入Java小组。转载请参见文章末尾的要求。
不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇 ...
Java并发编程:Timer和TimerTask(转载)
下面内容转载自:
http://blog.csdn.net/xieyuooo/article/details/8607220
其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个类,而具体的TimerTask需要由你自己来实现,例如这样:
1
2
3
4
5
6
Timer timer = new ...
Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。
那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?
在Java中可以通过线程池来达到这样 ...
Java并发编程:并发容器之CopyOnWriteArrayList(转载)
原文链接:
http://ifeve.com/java-copy-on-write/
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这 个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用 CopyOnWri ...
Java并发编程:Callable、Future和FutureTask
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。
这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。
如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。
而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任 ...
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。
以下是本文目录大纲:
一.CountDownLatch用法
二.CyclicBarrier用法
三.Semaphore用法
若有不正之处请多多谅解,并欢迎批评指正。
...
Java并发编程:阻塞队列
在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发 容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序 ...
Java并发编程:并发容器之ConcurrentHashMap(转载)
下面这部分内容转载自:
http://www.haogongju.net/art/2350374
JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性 ...
Java并发编程:同步容器
为了方便编写出线程安全的程序,Java里面提供了一些线程安全类和并发工具,比如:同步容器、并发容器、阻塞队列、Synchronizer(比如CountDownLatch)。今天我们就来讨论下同步容器。
以下是本文的目录大纲:
一.为什么会出现同步容器?
二.Java中的同步容器类
三.同步容器的缺陷
若有不正之处请多多谅解,并欢迎批评指正。
请尊重作者劳动成果 ...
Java ConcurrentModificationException异常原因和解决方法
在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。
以下是本文目录大纲:
一.ConcurrentModificationException异常出现的原因
二.在单线程环境下的解决办法
三 ...
Java并发编程:深入剖析ThreadLocal
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下 ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现 原理和使用需要注意的地方,最后给出了两个应用场景。
以下是本文目录大纲:
一.对ThreadLocal的理解
二.深入解析ThreadLocal类
三.Thr ...
Java并发编程:Lock(转载)
原文链接:http://www.cnblogs.com/dolphin0520/p/3923167.html
在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问 ...
Java并发编程:synchronized(转载)
原文链接:http://www.cnblogs.com/dolphin0520/p/3923737.html
虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两个线程同时往一个数据库表中插入不重复的数据,就可能会导致数据库中插入了相同的数据。今天我们就来一起讨论下线程安全问题,以及Java中提供了什么机制来解决线程安全问题。
以下是本文的目录大纲:
一.什么时候 ...
Java并发编程:Thread类的使用(转载)
原文链接:http://www.cnblogs.com/dolphin0520/p/3920357.html
在前面2篇文章分别讲到了线程和进程的由来、以及如何在Java中怎么创建线程和进程。今天我们来 ...
Java并发编程:如何创建线程?(转载)
原文链接:http://www.cnblogs.com/dolphin0520/p/3913517.html
在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲:
一.Java中关于应用程序和进程相关的概念
...
java 并发编程 synchronized
同步原语--synchronized
synchronized(class)很特别,它会让另一个线程在任何需要获取class做为monitor的地方等待.class与this做为不同的监视器可以同时使用,不存在一个线程获取了class,另一个线程就不能获取该class的一切实例.
[list]
->线程各自获取monitor,不会有等待.
synchronized(class)
synch ...