Ò»¸ö¼òµ¥µÄJava·ÂÕæ³ÌÐò
ÕâÊÇÒ»¸ö¼òµ¥µÄ·ÂÕæ³ÌÐò:
ÔÚÕâ¸ö·ÂÕæ³ÌÐòÖÐ,»¨Ô°Î¯Ô±»á¶¼Ï£ÍûÁ˽âÿÌìͨ¹ý´óÃŽøÈ빫԰µÄ×ÜÈËÊý.ÿ¸ö´óÃŶ¼ÓÐÒ»¸öÊ®×Ö
תÃÅ»òijÖÖÆäËûÐÎʽµÄ¼ÆÊýÆ÷,²¢ÇÒÈκÎÒ»¸öÊ®×ÖתÃŵļÆÊýÆ÷µÝÔöʱ,¾Í±íʾ¹«Ô°ÖеÄ×ÜÈËÊýµÄ¹²Ïí
¼ÆÊýÖµÒ²»áµÝÔö
package OrnamentalGarden;
import java.util.Random;
/**
* ÕâÀïʹÓõ¥¸öµÄCount¶ÔÏóÀ´¸ú×Ù»¨Ô°µÄ²Î¹ÛÕߵļÆËãÖµ,²¢ÇÒ½«Æäµ±×öÊÇEntranceÀàÖеÄÒ»¸ö¾²Ì¬Óò½øÐзÃÎÊ
* @author Ȫ
*
*/
public class Count {
private int count = 0;
private Random rand = new Random(47);
public synchronized int increment() {
int temp = count;
if(rand.nextBoolean()) //ÕâÀïʹÓÃÁËRandomµÄ¶ÔÏó,Ä¿µÄÊǰѴÓcount¶ÁÈ¡µ½tempÖÐ,µ½µÝÔö,temp²¢°Ñ
Thread.yield(); //Æä´æ´¢»ØcountµÄÕâ¶Îʱ¼äÀï,ÓдóÔ¼Ò»°ëµÄʱ¼ä²úÉúÈò½.
return (count = ++ temp);
}
public synchronized int value() {
return count++;
}
}
----------------------------------------------------------
package OrnamentalGarden;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class Entrance implements Runnable {
private static Count count = new Count();
private static List<Entrance> entrances = new ArrayList<Entrance>();
private int number = 0;
private final int id;
private static volatile boolean canceled = false;
public Entrance(int id) {
this.id = id;
entrances.add(this);
}
public static void cancel() {
canceled = true;
}
public void run() {
while(!canceled) {
//ͬ²½¿ØÖÆ¿é
synchronized (this) {
++ number;
}
System.out.println(this + "Total: "+count.increment());
try {
TimeUnit.MICROSECONDS.sleep(100);
}catch(InterruptedException e) {
System.out.println("sleep interrupted !! ");
}
}
System.out.println("Stopping "+this);
}
public synchronized int getValue() {
return number;
}
public static int getTotalCount() {
return count.value();
}
public static int sumEntrances() {
int sum = 0;
for(En
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
ÔÚÀàÖж¨ÒåÁËÒ»¸öÊôÐÔabc£¬ÈçºÎ»ñÈ¡Õâ¸ö±äÁ¿µÄabcµÄÃû×Ö´®ÄØ£¿Ò²¾ÍÊÇ˵Ôõô֪µÀabcÕâ¸ö±äÁ¿µÄÃû×ÖÊÇabc£¬Õâ¸öÎÊÌâ±È½ÏµÄºÃÍæ¡£
Õâ¸öÊÇżÔÚÒ»¿ª·¢ÖÐÓöµ½µÄÒ»¸ö±È½ÏÓÐȤµÄÎÊÌ⣬ÕÒ Á˰ëÌìµÄ×ÊÁϼÓÏÂżÐÁÇÚµÄ˼¿¼£¬ÖÕÓÚÕÒµ½µÄ½â¾ö·½·¨¡£Ó÷´Éä¡«¡«¡«
javaÌṩÁ˺ÜÇ¿´óµÄ·´Éä»úÖÆ£¬¿ÉÒÔ˵±È¶¯Ì¬ÓïÑÔ»¹¶¯Ì¬¡£µ«ÊÇÕâ¸ö¶«¶«Æ½Ê±µ ......
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Test {
/**
* @×÷ÕßQQ£º351828554 2009/12/01 ÐÇÆÚ¶þ
version:1.0
*/
public static void main(String[] args) {
new encry ......
(1) transient:
Èç¹ûÓÃtransientÉùÃ÷Ò»¸öʵÀý±äÁ¿£¬µ±¶ÔÏó´æ´¢Ê±£¬ËüµÄÖµ²»ÐèҪά³Ö¡£ÀýÈ磺
class T
{
transient int a; //²»ÐèҪά³Ö
int b; //ÐèҪά³Ö
} //ÕâÀÈç¹ûTÀàµÄÒ»¸ö¶ÔÏóдÈëÒ»¸ö³Ö¾ÃµÄ´æ´¢ÇøÓò£¬aµ ......
JDK1.4ÖÐ
Map map = new HashMap();
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
JDK1.5ÖÐ,Ó¦ÓÃÐÂÌØÐÔFor-EachÑ»·
Map m = new HashMap(); ......