JavaÏß³Ìͬ²½Ê¾Àý
ÎÄÕÂÓÃʵÀý´úÂëչʾÁËJavaÖжàÏ̷߳ÃÎʹ²Ïí×ÊÔ´
ʱÏß³Ìͬ²½
µÄÖØÒªÐÔ¡£
·Ö±ðͨ¹ýÔÚÁ½¸öÏß³ÌÖÐͬʱ·ÃÎÊ(µ÷ÓÃget_id*·½·¨)¾¹ýͬ²½´¦Àí(lock¼°Synchronized)µÄ¹²Ïí×ÊÔ´(tmp)¼°Î´¾¹ýͬ²½´¦ÀíµÄ¹²Ïí×ÊÔ´(tmp)À´ËµÃ÷ͬ²½´¦ÀíµÄµÄ×÷Óá£
mainÖзÖÁ½²¿·Ö:
1£©Ç°°ë²¿·Ö£¬non-synchronization²¿·ÖÓÃÀ´²âÊÔûÓÐ×öͬ²½´¦ÀíµÄ´úÂë¶Î£¬ÔËÐнá¹ûÓ¦¸ÃÊÇ
After thread #1 call get_id(), id=1
After thread #2 call get_id(), id=1
2£©ºó°ë²¿·Ö£¬synchronization²¿·ÖÓÃÀ´²âÊÔ×ö¹ýͬ²½´¦ÀíµÄ´úÂë¶Î£¬ÔËÐнá¹ûÓ¦¸ÃÊÇ
After thread #1 call get_id(), id=1
After thread #2 call get_id(), id=2
²Î¿¼×ÊÁÏ£º
-1-¹ØÓÚsleepºÍwaitÇø±ð¿´Ò»ÏÂÕâ¸ö: http://wurd.javaeye.com/blog/174563¡£
-2-¹ØÓÚsynchronized¿ÉÒÔ¿´Ò»ÏÂÕâÆª£ºhttp://www.wangchao.net.cn/bbsdetail_148670.html£¬±È½ÏÃ÷ÁË¡£
-3-¹ØÓÚJavaÏß³Ìͬ²½¿ÉÒÔ¿´Ò»ÏÂÕâ¸ö£ºhttp://lavasoft.blog.51cto.com/62575/27069£¬ºÜÏêϸ¡£
/********************************************************************************
*FileName: Thread_sync.java
*Date: 2010/01/12
*Intention: Test thread synchronization tools in java.
*Input:
*Output:
* in non-synchronization version
* After thread #1 call get_id(), id=1
* After thread #2 call get_id(), id=1
* in synchronization version
* After thread #1 call get_id(), id=1
* After thread #2 call get_id(), id=2
*
*DevelopmentEnv: Netbeans 6.8, Jdk 1.6.
********************************************************************************/
class Counter
{
private final static Object lock = new Object();
private static int count = 0;
public int get_id()
{
int tmp = count;
++tmp;
try
{
Thread.sleep(1000);
}
catch(Exception e)
{
}
count = tmp;
return count;
}
public int get_id_sync()
{
synchronized(lock)
{
int tmp = count;
++tmp;
try
{
Thread.sleep(1000);
}
catch(Exception e)
{
}
count = tmp;
}
return count;
}
}
public class Thread_sync
{
private static int cnt = 0;
static class Rab implements Runnable
{
Ïà¹ØÎĵµ£º
ÔÚjava»·¾³±äÁ¿ÅäÖÃÉÏץס “Á½Ìí¼Ó£¬ÒÔÐ޸ľÍOKÁË”
°´×¡windows¼ü+PauseBreak¼üÖ±½ÓÔڸ߼¶ÖеĻ·¾³±äÁ¿´¦ÉèÖÃ
1.Ìí¼Ó
CLASSPATH
.;C:\Program Files\Java\jdk1.6.0_02\lib;£¨ÕâÊÇÄãJdk°²×°µÄĿ¼Ïµİü£©
2.Ìí¼Ó
JAVA_HOME
C:\Program Files\Java\jdk1.6.0_02
3.ÐÞ¸Ä
ÐÞ¸Äpath±äÁ¿
C:\Progra ......
À´Ô´£ºhttp://bbs.hackline.net/thread-3620-1-1.html
Òþ²Ø¾ßÌåʵÏÖÊÇJavaÓïÑÔµÄÖ÷ÒªÌØµãÖ®Ò»¡£ÕýÊÇÒòΪÕâ¸öÔÒò£¬ËùÒÔJavaÓïÑÔµÄÒÆÖ²ÐÔ¾ÍÌØ±ðºÃ¡£ÈçÓиö³ÌÐòÔ±±àдÁËÒ»¸öʵÏÖËæ»úÊýµÄ³ÌÐò¿â£¬ÄÇôÆäËû
³ÌÐò¿ª·¢ÈËÔ±Ö»ÐèÒªÖªµÀÕâ¸ö³ÌÐò¿âÐèÒª´«ÈëÄÇЩ²ÎÊý£¬¾Í¿ÉÒÔʹÓÃÕâ¸öÀà¡£ÏÖÔÚÎÞÂÛÊÇÍøÉÏ»¹ÊÇÆ½Ê±µÄ¹¤×÷ÖУ¬ÓкܶàÏÖ³É ......
Java Class Attribute Type Hibernate Type Possible SQL Type-Vendor Specific
Integer, int, long short &n ......
1. MD5¼ÓÃÜ£¬³£ÓÃÓÚ¼ÓÃÜÓû§ÃûÃÜÂ룬µ±Óû§Ñé֤ʱ¡£
¡¡ ¡¡protected byte[] encrypt(byte[] obj) ...{
¡¡¡¡try ...{
¡¡¡¡MessageDigest md5 = MessageDigest.getInstance("MD5");
¡¡¡¡md5.update(obj);
¡¡¡¡return md5.digest();
¡¡¡¡} catch (NoSuchAlgorithmException e) ...{
¡¡¡¡e.printStackTrace();
¡ ......