JavaỊ̈߳ºÐÂÌØÕ÷ Ëø£¨ÉÏ£©
JavaỊ̈߳ºÐÂÌØÕ÷-Ëø£¨ÉÏ£©
ÔÚJava5ÖУ¬×¨ÃÅÌṩÁËËø¶ÔÏó£¬ÀûÓÃËø¿ÉÒÔ·½±ãµÄʵÏÖ×ÊÔ´µÄ·âËø£¬ÓÃÀ´¿ØÖƶԾºÕù×ÊÔ´²¢·¢·ÃÎʵĿØÖÆ£¬ÕâЩÄÚÈÝÖ÷Òª¼¯ÖÐÔÚjava.util.concurrent.locks °üÏÂÃæ£¬ÀïÃæÓÐÈý¸öÖØÒªµÄ½Ó¿ÚCondition¡¢Lock¡¢ReadWriteLock¡£
Condition
Condition ½« Object ¼àÊÓÆ÷·½·¨£¨wait¡¢notify ºÍ notifyAll£©·Ö½â³É½ØÈ»²»Í¬µÄ¶ÔÏó£¬ÒÔ±ãͨ¹ý½«ÕâЩ¶ÔÏóÓëÈÎÒâ Lock ʵÏÖ×éºÏʹÓã¬ÎªÃ¿¸ö¶ÔÏóÌṩ¶à¸öµÈ´ý set £¨wait-set£©¡£
Lock
Lock ʵÏÖÌṩÁ˱ÈʹÓà synchronized ·½·¨ºÍÓï¾ä¿É»ñµÃµÄ¸ü¹ã·ºµÄËø¶¨²Ù×÷¡£
ReadWriteLock
ReadWriteLock ά»¤ÁËÒ»¶ÔÏà¹ØµÄËø¶¨£¬Ò»¸öÓÃÓÚÖ»¶Á²Ù×÷£¬ÁíÒ»¸öÓÃÓÚдÈë²Ù×÷¡£
ÓйØËøµÄ½éÉÜ,APIÎĵµ½â˵ºÜ¶à£¬¿´µÃºÜ·³£¬»¹ÊÇ¿´¸öÀý×ÓÔÙ¿´Îĵµ±È½ÏÈÝÒ×Àí½â¡£
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* JavaỊ̈߳ºËø
*
* @author leizhimin 2009-11-5 10:57:29
*/
public class Test {
public static void main(String[] args) {
//´´½¨²¢·¢·ÃÎʵÄÕË»§
MyCount myCount = new MyCount("95599200901215522", 10000);
//´´½¨Ò»¸öËø¶ÔÏó
Lock lock = new ReentrantLock();
//´´½¨Ò»¸öÏ̳߳Ø
ExecutorService pool = Executors.newCachedThreadPool();
//´´½¨Ò»Ð©²¢·¢·ÃÎÊÓû§£¬Ò»¸öÐÅÓÿ¨£¬´æµÄ´æ£¬È¡µÄÈ¡£¬ºÃÈÈÄÖ°¡
Ïà¹ØÎĵµ£º
Java 1.5ÒÔÉ϶¼ÔÚÐéÄâ»úÀïÄÚ½¨Á˳ÌÐòÐÔÄܸú×ٵŦÄÜ£¬²¢ÌṩÁËJava Profiling API£¬¼ò³ÆJPA£¬Äã¿ÉÒÔËÑË÷'java
profiling'¡£JavaÒ²ÌṩÁ˼òµ¥µÄÐÔÄÜÐÔÄܸú×Ù¹¤¾ßJConsole£¬ÄÜÏÔʾÄڴ棬Ï̵߳ÈʹÓÃ×´¿ö¡£ÁíÍâÒ²ÊÇÓÉSunÌṩ£¬µ«²»°üº¬ÔÚjdk
ÀïµÄ¹¤¾ßvisualgc¿ÉÒÔͼÐη½Ê½ÏÔʾÀ¬»øÊÕ¼¯µÄÔËÐÐÇé¿ö£¬ÎªÐÔÄÜ·ÖÎöÌṩ֧³Ö¡£µÚÈý· ......
public class test1
{
public static void main(String[] args){
//== ÓëequalsµÄÇø±ð
//1.nullµÄ±È½Ï£ºÖ»ÄÜÓÃ==
System.out.println("1.nullµÄ±È½Ï£ºÖ»ÄÜÓÃ==");
Object o1=null,o2=null;
System.out.println(null==null&&o1==null& ......
JavaỊ̈߳ºÏß³ÌջģÐÍÓëÏ̵߳ıäÁ¿
SCJP5ѧϰ±Ê¼Ç
ÒªÀí½âÏ̵߳÷¶ÈµÄÔÀí£¬ÒÔ¼°Ïß³ÌÖ´Ðйý³Ì£¬±ØÐëÀí½âÏß³ÌջģÐÍ¡£
Ïß³ÌÕ»ÊÇָijʱ¿ÌʱÄÚ´æÖÐÏ̵߳÷¶ÈµÄÕ»ÐÅÏ¢£¬µ±Ç°µ÷Óõķ½·¨×ÜÊÇλÓÚÕ»¶¥¡£Ïß³ÌÕ»µÄÄÚÈÝÊÇËæ×ųÌÐòµÄÔËÐж¯Ì¬±ä»¯µÄ£¬Òò´ËÑо¿Ïß³ÌÕ»±ØÐëÑ¡ÔñÒ»¸öÔËÐеÄʱ¿Ì£¨Êµ¼ÊÉÏÖ¸´úÂëÔËÐе½Ê²Ã´µØ· ......
JavaỊ̈߳ºÏ̵߳Äͬ²½ÓëËø
Ò»¡¢Í¬²½ÎÊÌâÌá³ö
Ï̵߳Äͬ²½ÊÇΪÁË·ÀÖ¹¶à¸öÏ̷߳ÃÎÊÒ»¸öÊý¾Ý¶ÔÏóʱ£¬¶ÔÊý¾ÝÔì³ÉµÄÆÆ»µ¡£
ÀýÈ磺Á½¸öÏß³ÌThreadA¡¢ThreadB¶¼²Ù×÷ͬһ¸ö¶ÔÏóFoo¶ÔÏ󣬲¢ÐÞ¸ÄFoo¶ÔÏóÉϵÄÊý¾Ý¡£
public class Foo {
private int x = 100;
......