JavaÏ̵߳Äͬ²½
Ò»¡¢Í¬²½ÎÊÌâÌá³ö
Ï̵߳Äͬ²½ÊÇΪÁË·ÀÖ¹¶à¸öÏ̷߳ÃÎÊÒ»¸öÊý¾Ý¶ÔÏóʱ£¬¶ÔÊý¾ÝÔì³ÉµÄÆÆ»µ¡£
ÀýÈ磺Á½¸öÏß³ÌThreadA¡¢ThreadB¶¼²Ù×÷ͬһ¸ö¶ÔÏóFoo¶ÔÏ󣬲¢ÐÞ¸ÄFoo¶ÔÏóÉϵÄÊý¾Ý¡£
public class Foo {
private int x = 100;
public int getX() {
return x;
}
public int fix(int y) {
x = x - y;
return x;
}
}
public class MyRunnable implements Runnable {
private Foo foo = new Foo();
public static void main(String[] args) {
MyRunnable r = new MyRunnable();
Thread ta = new Thread(r, "Thread-A");
Thread tb = new Thread(r, "Thread-B");
ta.start();
tb.start();
}
public void run() {
for (int i = 0; i < 3; i++) {
this.fix(30);
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentTh
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
Server£º
ServerSocket server = new ServerSocket(PORT, 1); // ´ò¿ªServer²¢¼àÌý
Socket client = server.accept(); ......
21¡¢Static Nested Class ºÍ Inner ClassµÄ²»Í¬¡£ Static Nested ClassÊDZ»ÉùÃ÷Ϊ¾²Ì¬£¨static£©µÄÄÚ²¿À࣬Ëü¿ÉÒÔ²»ÒÀÀµÓÚÍⲿÀàʵÀý±»ÊµÀý»¯¡£¶øÍ¨³£µÄÄÚ²¿ÀàÐèÒªÔÚÍⲿÀàʵÀý»¯ºó²ÅÄÜʵÀý»¯¡£
22¡¢JSPÖж¯Ì¬INCLUDEÓ뾲̬INCLUDEµÄÇø±ð£¿¶¯Ì¬INCLUDEÓÃjsp:include¶¯×÷ʵÏÖ Ëü×ÜÊÇ»á¼ì²éËùº¬ÎļþÖеı仯£¬ÊʺÏÓÃÓÚ ......
1. Java±£´æµÄÎļþÃû±ØÐëÓëÀàÃûÒ»Ö£»
2. Èç¹ûÎļþÖÐÖ»ÓÐÒ»¸öÀ࣬ÎļþÃû±ØÐëÓëÀàÃûÒ»Ö£»
3. Ò»¸öJavaÎļþÖÐÖ»ÄÜÓÐÒ»¸öpublicÀࣻ
4. Èç¹ûÎļþÖв»Ö¹Ò»¸öÀ࣬Îļþ ......
synchronized¹Ø¼ü×ÖÔÚ¶àÏß³ÌÖеÄ×÷Óãº
Á½ÖÖÓ÷¨£ºsynchronized ·½·¨ºÍ synchronized ¿é¡£
1. synchronized ·½·¨£ºÍ¨¹ýÔÚ·½·¨ÉùÃ÷ÖмÓÈë synchronized¹Ø¼ü×ÖÀ´ÉùÃ÷ synchronized ·½·¨¡£ÈçÉÏÊöÀý×ÓËùÊö¡£
synchronized ·½·¨¿ØÖƶÔÀà³ÉÔ±±äÁ¿µÄ·ÃÎÊ£ºÃ¿¸öÀàʵÀý¶ÔÏó¶ÔÓ¦Ò»°ÑËø£¬Ã¿¸ö synchronized ·½·¨¶¼±ØÐë»ñµÃµ÷Óø÷½· ......