Java ¶àÏ̱߳à³ÌÖ®Èý£ºsynchronized ¹Ø¼ü×ÖµÄʹÓÃ
Java ¶àÏ̱߳à³ÌÖ®Èý£ºsynchronized ¹Ø¼ü×ÖµÄʹÓÃ
´øÓÐ synchronized ¹Ø¼ü×ֵķ½·¨´ú±íÕâ¸ö·½·¨¼ÓËø¡£Ç¡µ±¶øÓÖÁé»îµØÔËÓà synchronized ¹Ø¼ü×Ö£¬ÊǶàÏ̱߳à³ÌµÄ±ØÐ޿Ρ£
¡¡¡¡1¡¢synchronized¹Ø¼ü×ÖµÄ×÷ÓÃÓòÓжþÖÖ£º
¡¡¡¡1£©ÊÇij¸ö¶ÔÏóʵÀýÄÚ£¬synchronized aMethod(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£©¡£Õâʱ£¬²»Í¬µÄ¶ÔÏóʵÀýµÄ synchronized·½·¨ÊDz»Ïà¸ÉÈŵġ£Ò²¾ÍÊÇ˵£¬ÆäËüÏß³ÌÕÕÑù¿ÉÒÔͬʱ·ÃÎÊÏàͬÀàµÄÁíÒ»¸ö¶ÔÏóʵÀýÖеÄsynchronized·½·¨£»
¡¡¡¡2£©ÊÇij¸öÀàµÄ·¶Î§£¬synchronized static aStaticMethod(){}·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸öÀàÖеÄsynchronized static ·½·¨¡£Ëü¿ÉÒÔ¶ÔÀàµÄËùÓжÔÏóʵÀýÆð×÷Óá£
¡¡¡¡2¡¢³ýÁË·½·¨Ç°ÓÃsynchronized¹Ø¼ü×Ö£¬synchronized¹Ø¼ü×Ö»¹¿ÉÒÔÓÃÓÚ·½·¨ÖеÄij¸öÇø¿éÖУ¬±íʾֻ¶ÔÕâ¸öÇø¿éµÄ×ÊԴʵÐл¥³â·ÃÎÊ¡£Ó÷¨ÊÇ: synchronized(this){/*Çø¿é*/}£¬ËüµÄ×÷ÓÃÓòÊǵ±Ç°¶ÔÏó¡£
synchronized(this)ÓÃÓÚ¶¨ÒåÒ»¸öÁÙ½çÇø£¨¼´ÊÇ£ºÆäºóÃæ´óÀ¨»¡Ëù°üº¬µÄ²¿·Ö£©£¬ÒÔ±£Ö¤ÔÚ¶àÏß³ÌÏÂÖ»ÄÜÓÐÒ»¸öÏ߳̿ÉÒÔ½øÈëthis¶ÔÏóµÄÁÙ½çÇø¡£ Ò²¾ÍÊÇ˵synchronized(¶ÔÏó»òÕß±äÁ¿){}£¬±íʾÔÚ{}ÄÚµÄÕâ¶Î´úÂëÖУ¬¶Ô£¨¶ÔÏó»òÕß±äÁ¿£©ÖеĶÔÏó»òÕß±äÁ¿½øÐÐͬ²½´¦Àí£¬Ò²¾ÍÊÇ˵µ±·ÃÎÊÕâ¶Î´úÂëʱ£¬Ò»¸öÏ̶߳ԶÔÏó»òÕß±äÁ¿µÄ·ÃÎÊÍê³Éºó²ÅÄܹ»½»¸øÁíÍâÒ»¸öỊ̈߳¬¼´ÓÐÁËͬ²½Ëø¡£Ê¹Óà synchronized(¶ÔÏó»òÕß±äÁ¿)£¬¾ÍÊÇΪÁË·ÀÖ¹¶ÔÏó»òÕß±äÁ¿±»Í¬Ê±·ÃÎÊ£¬±ÜÃâ¶à¸öÏß³ÌÐ޸ĺͶÁÈ¡¶ÔÏó»òÕß±äÁ¿Í¬Ê±³öÏÖµÄʱºò£¬Ê¹ÓÃÕâ¸ö¶ÔÏó»òÕß±äÁ¿µÄµØ·½³öÏÖ´íÎóµÄÅжϣ¬Èç while(¶ÔÏó»òÕß±äÁ¿)¡£
¡¡¡¡3¡¢synchronized¹Ø¼ü×ÖÊDz»Äܼ̳еģ¬Ò²¾ÍÊÇ˵£¬»ùÀàµÄ·½·¨synchronized f(){} Ôڼ̳ÐÀàÖв¢²»×Ô¶¯ÊÇsynchronized f(){}£¬¶øÊDZä³ÉÁËf(){}¡£¼Ì³ÐÀàÐèÒªÄãÏÔʽµÄÖ¸¶¨ËüµÄij¸ö·½·¨Îªsynchronized·½·¨¡£
Ïà¹ØÎĵµ£º
repaint ¶Ô×é¼þ½øÐÐÖػ棬±ÈÈçÒ»¸öpanel£¬µ±ÄãremoveµôpanelÀïÃæµÄÒ»¸ö×é¼þʱ£¬Äã±ØÐëµ÷ÓÃrepaint·½·¨²ÅÄܶÔpanel½øÐÐÖػ棬½øÐÐˢУ¬ÄãÏëҪɾ³ýµÄ×é¼þ²ÅÄÜÔÚ½çÃæÉÏÏûʧ¡£
revalidate ¶Ô×é¼þ½øÐÐÑéÖ¤£¬±ÈÈçÒ»¸öpanel£¬µ±ÄãremoveµôpanelÀïÃæµÄÒ»¸ö×é¼þʱ£¬µ±Äãµ÷ÓÃrevalidate·½·¨ºó£¬panelµÄ²¼ ......
±¾ÆªÖ¼ÔÚ°ïÖú×¼±¸Ñ§Ï°JavaÒÔ¼°¸Õ½Ó´¥JavaµÄÅóÓÑÈÏʶ¡¢ÕÆÎÕºÍʹÓÃstatic¡¢this¡¢super¡¢finalÕ⼸¸ö¹Ø¼ü×ÖµÄʹÓá£Java²©´ó¾«ÉÎÒÒ²ÊÇһλÕýÔÚѧϰºÍʹÓÃJavaµÄ°®ºÃÕߣ¬ÎÄÖÐÄÑÃâÓв»Í×Ö®´¦£¬»¶ÓÖ¸Õý¡£
Ò»¡¢static
¡¡ÇëÏÈ¿´ÏÂÃæÕâ¶Î³ÌÐò£º
public class Hello{
public static void main(String[] args){ ......
import java.net.URL;
import java.net.URLDecoder;
public class PathUtil
{
/**
* Get the env of windir, such as "C:\WINDOWS".
* @return the env of windir value.
*/
public static String getWindir(){
return System.getenv("windir");
}
......
ÎÊÌâÃèÊö
Exception in thread "main" java.lang.OutOfMemoryError:
Java heap space
½â¾ö·½°¸[ת]
Ò»Ö±¶¼ÖªµÀ¿ÉÒÔÉèÖÃjvm heap´óС£¬Ò»Ö±ÓÃeclipseд/µ÷ÊÔjava³ÌÐò¡£Ò»Ö±ÓÃÃüÁîÐÐor
console¼Ó²ÎÊýÅܳÌÐò¡£ÏÖÏó£ºÔÚeclipseµÄÅäÖÃÎļþeclipse.iniÖÐÉèÖÃ-vmargs -Xms500m
-Xmx1024m
£¬ÔÚeclipseÖ ......
¶ÔÓÚ10½øÖÆÊýת»»ÎªN£¨2-36£©½øÖÆÒ»°ã¶¼ÊÇÑ¡ÔñÈ¡Óà³ýµÄËã·¨½øÐÐת»» £¬ÏÂÃæ¸ø³öÁ½ÖÖ·½°¸
Ò»ÖÖÊǵݹ飬һÖÖÊǵü´ú¡£Í¨¹ýЧÂÊÆÀ¼ÛÁ½ÕßÐÔÄÜ
ÆäÖеü´úµÄ·½°¸Ö±½ÓÈ¡×ÔjavaÔ´´úÂë¡£
/*
*Class NotationConvert.java
*Create Date: 2009-11-12
*Author:a276202460
*/
package com.rich.notation;
public class Notat ......