Java¿ª·¢ÖжàÏß³Ìͬ²½¼¼ÇÉ
ÔÚ±àдһ¸öÀàʱ£¬Èç¹û¸ÃÀàÖеĴúÂë¿ÉÄÜÔËÐÐÓÚ¶àÏ̻߳·¾³Ï£¬ÄÇô¾ÍÒª¿¼ÂÇͬ²½µÄÎÊÌâ¡£ÔÚJavaÖÐÄÚÖÃÁËÓïÑÔ¼¶µÄͬ²½ÔÓsynchronized£¬ÕâÒ²´ó´ó¼ò»¯ÁËJavaÖжàÏß³Ìͬ²½µÄʹÓá£
ÎÒÃÇÊ×Ïȱàдһ¸ö·Ç³£¼òµ¥µÄ¶àÏ̵߳ijÌÐò£¬ÊÇÄ£ÄâÒøÐÐÖеĶà¸öÏß³Ìͬʱ¶Ôͬһ¸ö´¢ÐîÕË»§½øÐдæ¿î¡¢È¡¿î²Ù×÷µÄ¡£
¡¡¡¡ÔÚ³ÌÐòÖÐÎÒÃÇʹÓÃÁËÒ»¸ö¼ò»¯°æ±¾µÄAccountÀ࣬´ú±íÁËÒ»¸öÒøÐÐÕË»§µÄÐÅÏ¢¡£ÔÚÖ÷³ÌÐòÖÐÎÒÃÇÊ×ÏÈÉú³ÉÁË1000¸öỊ̈߳¬È»ºóÆô¶¯ËüÃÇ£¬Ã¿Ò»¸öÏ̶߳¼¶ÔJohnµÄÕË»§½øÐдæ100Ôª£¬È»ºóÂíÉÏÓÖÈ¡³ö100Ôª¡£ÕâÑù£¬¶ÔÓÚJohnµÄÕË»§À´Ëµ£¬×îÖÕÕË»§µÄÓà¶îÓ¦¸ÃÊÇ»¹ÊÇ1000Ôª²Å¶Ô¡£È»¶øÔËÐеĽá¹ûÈ´³¬³öÎÒÃǵÄÏëÏñ£¬Ê×ÏÈÀ´¿´¿´ÎÒÃǵÄÑÝʾ´úÂ룺
class Account
{
¡¡String name; float amount;
¡¡public Account(String name, float amount)
¡¡{
¡¡¡¡this.name = name;
¡¡¡¡this.amount = amount;
¡¡}
¡¡
¡¡public void deposit(float amt)
¡¡{
¡¡¡¡float tmp = amount;
¡¡¡¡tmp += amt;
¡¡¡¡try
¡¡¡¡{
¡¡¡¡¡¡Thread.sleep(100);
¡¡¡¡¡¡//Ä£ÄâÆäËü´¦ÀíËùÐèÒªµÄʱ¼ä£¬±ÈÈçË¢ÐÂÊý¾Ý¿âµÈ
¡¡¡¡}
¡¡¡¡catch (InterruptedException e)
¡¡¡¡{
¡¡¡¡¡¡// ignore
¡¡¡¡}
¡¡¡¡amount = tmp;
¡¡}
¡¡public void withdraw(float amt)
¡¡{
¡¡¡¡float tmp = amount;
¡¡¡¡tmp -= amt;
¡¡¡¡try
¡¡¡¡{
¡¡¡¡¡¡Thread.sleep(100);
¡¡¡¡¡¡//Ä£ÄâÆäËü´¦ÀíËùÐèÒªµÄʱ¼ä£¬±ÈÈçË¢ÐÂÊý¾Ý¿âµÈ
¡¡¡¡}
¡¡¡¡catch (InterruptedException e)
¡¡¡¡{
¡¡¡¡¡¡// ignore
¡¡¡¡}
¡¡¡¡amount = tmp;
¡¡}
¡¡public float getBalance()
¡¡{
¡¡¡¡return amount;
¡¡ }
}
public class AccountTest
{
¡¡private static int NUM_OF_THREAD = 1000;
¡¡static Thread[] threads = new Thread[NUM_OF_THREAD];
¡¡public static void main(String[] args)
¡¡{
¡¡¡¡final Account acc = new Account("John", 1000.0f);
¡¡¡¡for (int i = 0; i< NUM_OF_THREAD; i++)
¡¡¡¡{
¡¡¡¡¡¡threads[i] = new Thread(new Runnable()
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡public void run()
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡acc.deposit(100.0f);
¡¡¡¡¡¡¡¡¡¡acc.withdraw(100.0f);
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡}
¡¡¡¡ );
¡¡¡¡threads[i].start();
¡¡}
¡¡for (int i=0; i<NUM_OF_THREAD; i++)
¡¡{
¡¡¡¡try { threads[i].join();
¡¡¡¡//µÈ´ýËùÓÐÏß³ÌÔËÐнáÊø
¡¡}
¡¡catch (InterruptedEx
Ïà¹ØÎĵµ£º
½ñÌìÙ¡ÀÏʦ½ÌÎÒÃÇʹÓÃajax¼¼ÊõÀ´Íê³ÉÊý¾Ý¿â¼¶Áª²éѯµÄÒ»¸öСÏîÄ¿£¬¿ÎÏÂÎÒ¶ÔÕâ¸öÏîÄ¿×öÁËÒÔϱʼǣº
AjaxСÏîÄ¿£ºÊ¹Óõļ¼Êõ£ºc3p0Á¬½Ó³Ø¡¢struts£¬jquery¼°Æä²å¼þ¡¢dbutil
a) ²½Ö裺ÅäÖÃc3p0µÄÊý¾Ý¿âÁ¬½Ó³Ø,µ¼Èëjar°ü£¬µ¼ÈëoracleÇý¶¯£¬
b) Ìí ......
Ò»¸öºÃµÄ³ÌÐòÔ±³ýÁ˾߱¸ÔúʵµÄ»ù±¾¹¦Í⣬»¹Ó¦¸Ã¾ßÓиüΪÁé»îµÄÂ߼˼άÓëÅжÏÄÜÁ¦¡£³ý´ËÖ®Í⣬³ÅÎÕһЩÐÐÖ®ÓÐЧµÄ¸¨Öú¹¤¾ßÒ²ºÜÖØÒª¡£¹¤ÓûÉÆÆäÊÂ,±ØÏÈÀûÆäÆ÷¡£ÓкõŤ¾ß¸¨Öú£¬Ëù×öµÄ¹¤×÷½«Ê°빦±¶¡£ÏÂÃæÏò´ó¼ÒÍÆ¼ö»ùÓÚWEBÓ¦Óÿª·¢µÄjava³ÌÐòÔ±Ó¦¸Ã±Ø±¸µÄ¸¨Öú¿ª·¢¹¤¾ß¡£
¡¡¡¡1£¬JavaÆÊÎö¹¤¾ß¡¡--¡¡profiler
¡¡¡¡ÊÇÒ»¸öÈ«¹ ......
1¡¢javaÊý¾Ý¿â²Ù×÷»ù±¾Á÷³Ì
¡¡¡¡2¡¢¼¸¸ö³£ÓõÄÖØÒª¼¼ÇÉ£º
¡¡¡¡¿É¹ö¶¯¡¢¸üеļǼ¼¯
¡¡¡¡ÅúÁ¿¸üÐÂ
¡¡¡¡ÊÂÎñ´¦Àí
¡¡¡¡javaÊý¾Ý¿â²Ù×÷»ù±¾Á÷³Ì£ºÈ¡µÃÊý¾Ý¿âÁ¬½Ó - Ö´ÐÐsqlÓï¾ä - ´¦ÀíÖ´Ðнá¹û - ÊÍ·ÅÊý¾Ý¿âÁ¬½Ó
¡¡¡¡1¡¢È¡µÃÊý¾Ý¿âÁ¬½Ó
¡¡¡¡1£©ÓÃDriverManagerÈ¡Êý¾Ý¿âÁ¬½Ó
¡¡¡¡Àý×Ó£º
String className,url,uid,pwd ......
Beanshell ¡¾Java¿ªÔ´ ¶¯Ì¬ÓïÑÔ¡¿
BeanshellÊÇÓÃJavaд³ÉµÄ£¬Ò»¸öСÐ͵ġ¢Ãâ·ÑµÄ¡¢¿ÉÒÔÏÂÔØµÄ¡¢Ç¶ÈëʽµÄJavaÔ´´úÂë½âÊÍÆ÷£¬¾ßÓжÔÏó½Å±¾ÓïÑÔÌØÐÔ¡£BeanShellÖ´Ðбê×¼JavaÓï¾äºÍ±í´ïʽ£¬ÁíÍâ°üÀ¨Ò»Ð©½Å±¾ÃüÁîºÍÓï·¨¡£Ëü½«½Å±¾»¯¶ÔÏó¿´×÷¼òµ¥±Õ°ü·½·¨£¨simple method closure£©À´Ö§³Ö£¬¾ÍÈçͬÔÚPerlºÍJavaScri ......
ÔÚ Java ³ÌÐòÖÐʹÓöàÏß³ÌÒª±ÈÔÚ C »ò C++ ÖÐÈÝÒ׵ö࣬ÕâÊÇÒòΪ Java ±à³ÌÓïÑÔÌṩÁËÓïÑÔ¼¶µÄÖ§³Ö¡£±¾ÎÄͨ¹ý¼òµ¥µÄ±à³ÌʾÀýÀ´ËµÃ÷ Java ³ÌÐòÖеĶàÏß³ÌÊǶàôֱ¹Û¡£¶ÁÍê±¾ÎÄÒÔºó£¬Óû§Ó¦¸ÃÄܹ»±àд¼òµ¥µÄ¶àÏ̳߳ÌÐò¡£
¡¡¡¡ÎªÊ²Ã´»áÅŶӵȴý£¿
¡¡¡¡ÏÂÃæµÄÕâ¸ö¼òµ¥µÄ Java ³ÌÐòÍê³ÉËÄÏî²»Ïà¹ØµÄÈÎÎñ¡£ÕâÑùµÄ³ÌÐòÓе¥¸ö¿ØÖ ......