super()与this()的区别?
this()调用当前对象的无参构造函数,super()调用父类的无参构造函数
1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)
2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)
3)super: 它引用当前对象的直接父类中的成员(用来访...
分类:
编程语言 时间:
2015-05-15 09:05:54
阅读次数:
143
Java中break只能跳出当前循环,要想跳出多重循环可以使label标签:
例:
public class StepoverMultiLoop
{
public static void main(String[]
args) {
int count
= 0;
ok:
for (int i
...
分类:
编程语言 时间:
2015-05-15 09:04:21
阅读次数:
146
原文链接 作者:Jakob
Jenkov 译者:刘晓日 校对:丁一
重入锁死与java中的死锁非常相似。锁和读写锁两篇文章中都有涉及到重入锁死的问题。
当一个线程重新获取锁,读写锁或其他不可重入的同步器时,就可能发生重入锁死。可重入的意思是线程可以重复获得它已经持有的锁。Java的synchronized块是可重入的。因此下面的代码是没问题的:
(译者注:这里提到的锁都是指的...
分类:
编程语言 时间:
2015-05-14 18:51:39
阅读次数:
170
文地址:jenkov 作者:
Jakob Jenkov 译者:长源 校对:方腾飞
java线程池(Thread
Pool)对于限制应用程序中同一时刻运行的线程数很有用。因为每启动一个新线程都会有相应的性能开销,每个线程都需要给栈分配一些内存等等。
我们可以把并发执行的任务传递给一个线程池,来替代为每个并发执行的任务都启动一个新的线程。只要池里有空闲的线程,任务就会分配给一...
分类:
编程语言 时间:
2015-05-14 18:49:14
阅读次数:
150
原文链接 作者:Jakob
Jenkov 译者:申章 校对:丁一
java中的锁像synchronized同步块一样,是一种线程同步机制,但比Java中的synchronized同步块更复杂。因为锁(以及其它更高级的线程同步机制)是由synchronized同步块的方式实现的,所以我们还不能完全摆脱synchronized关键字(译者注:这说的是Java
5之前的情况)。
自J...
分类:
编程语言 时间:
2015-05-14 12:07:41
阅读次数:
179
原文链接
作者:Jakob Jenkov
译者:余绍亮 校对:丁一
嵌套管程锁死类似于死锁,
下面是一个嵌套管程锁死的场景
线程1获得A对象的锁。
线程1获得对象B的锁(同时持有对象A的锁)。
线程1决定等待另一个线程的信号再继续。
线程1调用B.wait(),从而释放了B对象上的锁,但仍然持有对象A的锁。
...
分类:
编程语言 时间:
2015-05-14 10:03:06
阅读次数:
189
原文链接 作者:Jakob
Jenkov 译者:申章 校对:丁一
java中死锁是两个或更多线程阻塞着等待其它处于死锁状态的线程所持有的锁。死锁通常发生在多个线程同时但以不同的顺序请求同一组锁的时候。
例如,如果线程1锁住了A,然后尝试对B进行加锁,同时线程2已经锁住了B,接着尝试对A进行加锁,这时死锁就发生了。线程1永远得不到B,线程2也永远得不到A,并且它们永远也不会知道发生了...
分类:
编程语言 时间:
2015-05-13 19:50:04
阅读次数:
150
原文链接 作者:Jakob
Jenkov
译者:杜建雄 校对:方腾飞
java中线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。
例如,线程B可以等待线程A的一个信号,这个信号会通知线程B数据已经准备好了。
1、通过共享对象通信
java学习中线程间发送信号的一个简单方式是在共享对象的变量里设置信号值。线程A在一个同步块...
分类:
编程语言 时间:
2015-05-13 14:47:14
阅读次数:
155
原文链接 作者:Jakob
Jenkov 译者:李同杰Java 同步块(synchronized
block)用来标记方法或者代码块是同步的。Java同步块用来避免竞争。本文介绍以下内容:
Java同步关键字(synchronzied)
实例方法同步
静态方法同步
实例方法中同步块
静态方法中同步块
Java同步示例
Java 同步关键字(synchron...
分类:
编程语言 时间:
2015-05-13 14:47:11
阅读次数:
269
今天做了Medallia公司的Java面试题,发现用惯了C/C++的我对Java感到异常地不适应,特别是对数据结构在Java中如何使用感到十分头疼。之后决定开始整理并练习Java API里头关于使用数据结构的方法。我发现甲骨文的Java API对每一种数据结构只提供解释但没有提供相关的例子,我觉得这样很不方便,因为大多数时候我们都是通过读例子来学习语料库的用法,这也是我学C++的时候觉得最有用的方法...
分类:
编程语言 时间:
2015-05-13 10:37:00
阅读次数:
191