摘要: 多线程有两种实现方法,一种是继承Thread类,一种是实现Runnable接口。 同步的实现方法有两种,一种同步方法,一种同步代码,分别是synchronized,wait与notify。 wait():使一个线程处于等待状态,并且释放所持有的对象的lock。 sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。 notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。 Allnotity... 阅读全文
posted @ 2014-03-08 20:32 流风清音 阅读(392) 评论(0) 推荐(1) 编辑
摘要: ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如:Objet obj = new Object(); 变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候... 阅读全文
posted @ 2014-03-06 23:59 流风清音 阅读(322) 评论(0) 推荐(0) 编辑
摘要: &和&&都可以用作逻辑与的运算符,表示逻辑与(and)。当运算符两边的表达式的结果都为true时,整个运算结果才为true;否则,只要有一方为false,则结果为false。 &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。例如:对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException。如果将&&改为&,则会抛出NullPointerException异常。If(x= 阅读全文
posted @ 2014-03-05 21:13 流风清音 阅读(1381) 评论(0) 推荐(0) 编辑
摘要: 1、如果在非静态方法里调用非静态方法,则可以用this调用。如:this.Hao(String args[]) ,也可以省略this,直接调用Hao(String args[])。2、如果在静态方法里调用静态方法,则可以直接使用“类名.方法名”调用。如:若被调用的静态方法m1在类Hao1里,则调用方法是1 //静态方法里调用静态方法,使用“类名.方法名”调用。2 3 public static void m()4 {5 Hao1.m1();6 }3、如果在静态方法里调用非静态方法,则必须先new一个对象,通过对象调用。如:若被调用的非静态方法m2在类Hao2里,则调用方法是1 //静态... 阅读全文
posted @ 2014-03-04 10:02 流风清音 阅读(2341) 评论(0) 推荐(0) 编辑
摘要: 依稀记得,很久以前一人独自挑灯写作的情形,但如今却已飘然而去,生活太多诱惑,事情总是做不完,心情总是浮躁的。在夜深人静的时候,自己总会疲惫不堪,然后重重的把自己摔在床上。其实我有很多选择的,比如:抽烟、喝酒、打游戏、泡酒吧,或者找个女朋友,再买个房子就这样稳定的过一辈子了。但是,我内心希望我不是这样子的,我想做一个充满激情的程序员,并渴望有一个地方能让我染尽尘埃的心得到些洗礼、平静和安慰。 每天我都来博客园看高手们的文章,以及他们的奉献精神和对技术的执着不懈的追求,一直以来他们都让我很受感动和鼓舞。所以我也希望能够成为博客园的一员,一方面我一定会像他们一样尽我的努力,拿出自己的感悟和成果... 阅读全文
posted @ 2014-03-03 23:23 流风清音 阅读(291) 评论(0) 推荐(0) 编辑