javaÐÔÄܵÄÓÅ»¯(Èý)
¹ØÓÚÏ̵߳IJÙ×÷£¬Òª×¢ÒâÈçϼ¸¸ö·½Ãæ¡£
(1) ·ÀÖ¹¹ý¶àµÄͬ²½
ÈçÉÏËùʾ£¬²»±ØÒªµÄͬ²½³£³£»áÔì³É³ÌÐòÐÔÄܵÄϽµ¡£Òò´Ë£¬Èç¹û³ÌÐòÊǵ¥Ị̈߳¬ÔòÒ»¶¨²»ÒªÊ¹ÓÃͬ²½¡£
(2)
ͬ²½·½·¨¶ø²»ÒªÍ¬²½Õû¸ö´úÂë¶Î
¡¡¡¡¡¡¶Ôij¸ö·½·¨»òº¯Êý½øÐÐͬ²½±È¶ÔÕû¸ö´úÂë¶Î½øÐÐͬ²½µÄÐÔÄÜÒªºÃ¡£
(3)
¶Ôÿ¸ö¶ÔÏóʹÓöà”Ëø”µÄ»úÖÆÀ´Ôö´ó²¢·¢¡£
Ò»°ãÿ¸ö¶ÔÏó¶¼Ö»ÓÐÒ»¸ö”Ëø”£¬Õâ¾Í±íÃ÷Èç¹ûÁ½¸öÏß³ÌÖ´ÐÐÒ»¸ö¶ÔÏóµÄÁ½¸ö²»Í¬µÄͬ²½·½·¨Ê±£¬»á·¢Éú”ËÀËø”¡£¼´Ê¹ÕâÁ½¸ö·½·¨²¢²»¹²ÏíÈκÎ×ÊÔ´¡£ÎªÁ˱ÜÃâÕâ
¸öÎÊÌ⣬¿ÉÒÔ¶ÔÒ»¸ö¶ÔÏóʵÐД¶àËø”µÄ»úÖÆ¡£ÈçÏÂËùʾ£º
class foo
{
private static int var1;
private static Object lock1 = new Object();
private static int var2;
private static Object lock2 = new Object();
public static void increment1() {
synchronized (lock1) {
var1++;
}
}
public static void increment2() {
synchronized (lock2) {
var2++;
}
}
}
4£®ÊäÈëºÍÊä³ö(I/O)
ÊäÈëºÍÊä³ö°üÀ¨ºÜ¶à·½Ã棬µ«Éæ¼°×î¶àµÄÊǶÔÓ²ÅÌ
£¬ÍøÂç
»òÊý¾Ý¿âµÄ¶Áд²Ù×÷¡£¶ÔÓÚ¶Áд²Ù×÷£¬ÓÖ·ÖΪÓлº´æºÍûÓлº´æµÄ£»¶ÔÓÚÊý¾Ý¿âµÄ²Ù×÷£¬ÓÖ¿ÉÒÔÓжàÖÖÀàÐ͵Ä
JDBCÇý¶¯
Æ÷¿ÉÒÔÑ¡Ôñ¡£µ«ÎÞÂÛÔõÑù£¬¶¼»á¸ø³ÌÐòµÄÐÔÄÜ´øÀ´Ó°Ïì¡£Òò´Ë£¬ÐèҪעÒâÈçϼ¸µã£º
(1) ʹÓÃÊäÈëÊä³ö»º³å
¡¡¡¡¡¡¾¡¿ÉÄܵĶàʹÓûº´æ¡£µ«Èç¹ûÒª¾³£¶Ô»º´æ½øÐÐˢУ¨flush£©,Ôò½¨Ò鲻ҪʹÓûº´æ¡£
(2) Êä³öÁ÷(Output Stream)ºÍUnicode×Ö·û´®
¡¡¡¡¡¡µ±Ê±ÓÃOutput
StreamºÍUnicode×Ö·û´®Ê±£¬WriteÀàµÄ¿ªÏú±È½Ï´ó¡£ÒòΪËüҪʵÏÖUnicodeµ½×Ö½Ú(byte)µÄת»».Òò´Ë£¬Èç¹û¿ÉÄܵϰ,ÔÚʹÓÃ
WriteÀà֮ǰ¾ÍʵÏÖת»»»òÓÃOutputStreamÀà´úÌæWriterÀàÀ´Ê¹Óá£
(3)
µ±ÐèÐòÁл¯Ê±Ê¹ÓÃtransient
¡¡¡¡¡¡µ±ÐòÁл¯Ò»¸öÀà»ò¶ÔÏóʱ£¬¶ÔÓÚÄÇЩÔ×ÓÀàÐÍ£¨atomic£©»ò¿ÉÒÔÖØ½¨µÄÔËØÒª±íʶΪ
transientÀàÐÍ¡£ÕâÑù¾Í²»ÓÃÿһ´Î¶¼½øÐÐÐòÁл¯¡£Èç¹ûÕâЩÐòÁл¯µÄ¶ÔÏóÒªÔÚÍøÂçÉÏ´«Ê䣬ÕâһССµÄ¸Ä±ä¶ÔÐÔÄÜ»áÓкܴóµÄÌá¸ß¡£¡¡¡¡
(4) ʹÓøßËÙ»º´æ£¨Cache£©
¡¡¡¡¡¡¶ÔÓÚ
Ïà¹ØÎĵµ£º
Ò»¡¢×Ö½ÚºÍunicode
JavaÄÚºËÊÇunicodeµÄ£¬¾ÍÁ¬classÎļþÒ²ÊÇ£¬µ«ÊǺܶàýÌ壬°üÀ¨Îļþ/Á÷µÄ±£´æ·½Ê½ÊÇʹÓÃ×Ö½ÚÁ÷µÄ¡£Òò´ËJavaÒª¶ÔÕâЩ×Ö½ÚÁ÷¾ÐÐת»¯¡£ charÊÇunicodeµÄ£¬¶øbyteÊÇ×Ö½Ú¡£JavaÖÐ byte/char»¥×ªµÄº¯ÊýÔÚsun.ioµÄ°üÖмäÓС£ÆäÖÐByteToCharConverterÀàÊÇÖе÷¶È£¬¿ÉÒÔÓÃÀ´¸æËßÄ㣬ÄãÓÃµÄ convertor¡£ÆäÖÐÁ½¸öºÜ ......
ÀÏ
ʦÈÃÏÂÔØ°²×°jdk1.4¡¢jdk1.5ºÍjdk1.6Èý¸ö°æ±¾µÄJava¿ª·¢°ü£¬²¢ÇÒÊìÁ·Çл»¸÷¸ö»·¾³£¬Æäʵ¾ÍÊÇÅäÖò»Í¬µÄ»·¾³±äÁ¿¡£ÒÔǰֻÊÇÔÚ»·¾³±ä
Á¿ÖÐÉèÖÃÁËÓû§±äÁ¿£¬JavaÔËÐÐÒ²ºÜÕý³£¡£Ò»µ©ÐèÒªÔÚ¼¸¸ö°æ±¾ÖÐÇл»£¬Óû§±äÁ¿¾ÍʧЧÁË¡£¾¹ý³¢ÊÔ²ÅÖªµÀ±ØÐëÉèÖÃϵͳ±äÁ¿£¬ÎªÁË·½±ã¿ÉÒÔÉèÖÃ
JAVA_HOME±äÁ¿ÎªjdkµÄ°²×°Â·¾¶£¬ÔÙ°Ñ %JA ......
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader;
/**
*
* ¶àÖÖ·½Ê½¶ÁÎ ......
long startTime=System.currentTimeMillis(); //»ñÈ¡¿ªÊ¼Ê±¼ä
doSomeThing(); //²âÊԵĴúÂë¶Î
long endTime=System.currentTimeMillis(); //»ñÈ¡½áÊøÊ±¼ä
System.out.println("³ÌÐòÔËÐÐʱ¼ä£º "+(end-start)+"ms"); ......
Java 6 RowSet ʹÓÃÍêÈ«ÆÊÎö
C# ÌṩÁË DataSet£¬¿ÉÒÔ½«Êý¾ÝÔ´ÖеÄÊý¾Ý¶ÁÈ¡µ½ÄÚ´æÖУ¬½øÐÐÀëÏß²Ù×÷£¬È»ºóÔÙͬ²½µ½Êý¾ÝÔ´¡£Í¬Ñù£¬ÔÚ Java ÖÐÒ²ÌṩÁËÀàËÆµÄʵÏÖ£¬¼´ RowSet¡£javax.sql.rowset °üÏ£¬¶¨ÒåÁËÎå¸ö²»Í¬µÄ RowSet ½Ó¿Ú£¬¹©²»Í¬µÄ³¡ºÏʹÓᣱ¾ÎĽ«·Ö±ð¶ÔÕâÎå¸ö RowSet µÄʹÓó¡ºÏÒÔ¼°Ï꾡Ó÷¨½øÐнéÉÜ£¬²¢ÇÒÃèÊöÊ ......