¸ñʽ»¯Êä³öÊý×Ö
·Ò룺Cherami
email:cherami@163.net
ÔÎÄ£ºhttp://developer.java.sun.com/developer/TechTips/2000/tt0411.html
ÓÐʱÎÒÃÇÐèÒª¿ØÖÆÊä³öµÄÊý×ֵĸñʽ£¬ÈçºÎʹÓÃjavaµÄÀà¿â×öµ½Õâ¸öÄØ£¿
Ò²ÐíÄã²»¹ØÐĸñʽ£¬µ«ÊÇÄãÐèÒª¹ØÐÄÄãµÄ³ÌÐò¿ÉÒÔÔÚÈ«ÊÀ½çͨÓã¬ÏñÏÂÃæµÄÕâÑùÒ»¸ö¼òµ¥µÄÓï¾äÊÇÒÀÀµµØÇøµÄ£º
System.out.println(1234.56);
ÔÚÃÀ¹ú£¬"." ÊÇСÊýµã£¬µ«ÔÚÆäËüµØ·½¾Í²»Ò»¶¨ÁË¡£ÈçºÎ´¦ÀíÕâ¸öÄØ£¿
java.text °üÖеÄһЩ°ü¿ÉÒÔ´¦ÀíÕâÀàÎÊÌâ¡£ÏÂÃæµÄ¼òµ¥·¶ÀýʹÓÃÄÇЩÀà½â¾öÉÏÃæÌá³öµÄÎÊÌ⣺
import java.text.NumberFormat;
import java.util.Locale;
public class DecimalFormat1 {
public static void main(String args[]) {
// µÃµ½±¾µØµÄȱʡ¸ñʽ
NumberFormat nf1 = NumberFormat.getInstance();
  ......
1.
superÊǵ÷Óø¸ÀàµÄ¹¹Ô캯Êý
2.
thisµ÷ÓõÄͬÀàµÄ¹¹Ô캯Êý.
3.
3.1
synchronized¹Ø¼ü×ÖµÄ×÷ÓÃÓòÓжþÖÖ
3.1.1
ÊÇij¸ö¶ÔÏóʵÀýÄÚ£¬synchronized aMethod(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£©¡£Õâʱ£¬²»Í¬µÄ¶ÔÏóʵÀýµÄsynchronized·½·¨ÊDz»Ïà¸ÉÈŵġ£Ò²¾ÍÊÇ˵£¬ÆäËüÏß³ÌÕÕÑù¿ÉÒÔͬʱ·ÃÎÊÏàͬÀàµÄÁíÒ»¸ö¶ÔÏóʵÀýÖеÄsynchronized·½·¨£»
3.1.2
ÊÇij¸öÀàµÄ·¶Î§£¬synchronized static aStaticMethod{}·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸öÀàÖеÄsynchronized static ·½·¨¡£Ëü¿ÉÒÔ¶ÔÀàµÄËùÓжÔÏóʵÀýÆð×÷Óá£
3.2
³ýÁË·½·¨Ç°ÓÃsynchronized¹Ø¼ü×Ö£¬synchronized¹Ø¼ü×Ö»¹¿ÉÒÔÓÃÓÚ·½·¨ÖеÄij¸öÇø¿éÖУ¬±íʾֻ¶ÔÕâ¸öÇø¿éµÄ×ÊԴʵÐл¥³â·ÃÎÊ¡£Ó÷¨ÊÇ: synchronized(this){/*Çø¿é*/}£¬ËüµÄ×÷ÓÃÓòÊǵ±Ç°¶ÔÏó£»
3.3
synchronized¹Ø¼ü×ÖÊDz»Äܼ̳еģ¬Ò²¾ÍÊÇ˵£¬»ùÀàµÄ·½·¨synchronized f(){} Ôڼ̳ÐÀàÖв¢²»×Ô¶¯ÊÇsynchronized f(){}£¬¶øÊDZä³ÉÁËf(){}¡£¼Ì³ÐÀàÐèÒªÄãÏÔʽµÄÖ¸¶¨ËüµÄij¸ö·½·¨Îªsynchronized·½·¨£» ......
1) AbstractClass£¨³éÏóÀࣩ£º¶¨ÒåÁËÒ»µ½¶à¸öµÄ³éÏó·½·¨£¬ÒÔ¹©¾ßÌåµÄ×ÓÀàÀ´ÊµÏÖËüÃÇ£»¶øÇÒ»¹ÒªÊµÏÖÒ»¸öÄ£°å·½·¨£¬À´¶¨ÒåÒ»¸öËã·¨µÄ¹Ç¼Ü¡£¸ÃÄ£°å·½·¨²»½öµ÷ÓÃÇ°ÃæµÄ³éÏó·½·¨£¬Ò²¿ÉÒÔµ÷ÓÃÆäËûµÄ²Ù×÷£¬Ö»ÒªÄÜÍê³É×ÔÉíµÄʹÃü¡£
2) ConcreteClass£¨¾ßÌåÀࣩ£ºÊµÏÖ¸¸ÀàÖеijéÏó·½·¨ÒÔÍê³ÉËã·¨ÖÐÓëÌØ¶¨×ÓÀàÏà¹ØµÄ²½Öè¡£
AbstractClass.java
/**
* ¶«±±µçÁ¦´óѧÒòÌØÀ×¹¤×÷ÊÒ°æÈ¨ËùÓÐ
* ¿ª·¢ÏîÄ¿×飺ÒòÌØÀ×¹¤×÷ÊÒJAVA×鿪·¢
* 꿅᣼http://itl.nedu.edu.cn
* JAVA×éQQ¿ª·¢Èº£º37523769
* ÁªÏµÇë×¢Ã÷£¡£¡£¡
* ллÄúµÄʹÓã¡£¡£¡£¡£¡£¡£¡
* Îļþ´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç04:13:43ÈÕ
*/
package com.amly.pattern;
/**
* Àà´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç04:13:43ÈÕ
* @author wamly
*
*/
public abstract class AbstractClass {
/**
* Ä£°æ·½·¨£¬ÀàËÆHttpServletÖеÄservice·½·¨
* ¶«±±µçÁ¦´óѧÒòÌØÀ×¹¤×÷ÊÒJAVA×é
* Îļþ´´½¨Ê±¼ä£º2010Äê 2010-1-4Ô ÏÂÎç04:14:39ÈÕ
*/
public final v ......
ת×Ô
http://www.blogjava.net/hongzionline/archive/2007/09/19/146392.html
final ¹Ø¼ü×Ö ºÍ static Ó÷¨
Ò»¡¢final
¸ù¾Ý³ÌÐòÉÏÏÂÎÄ»·¾³£¬Java¹Ø¼ü×ÖfinalÓГÕâÊÇÎÞ·¨¸Ä±äµÄ”»òÕß“ÖÕ̬µÄ”º¬Ò壬Ëü¿ÉÒÔÐÞÊηdzéÏóÀà¡¢·Ç³éÏóÀà³ÉÔ±·½·¨ºÍ±äÁ¿¡£Äã¿ÉÄܳöÓÚÁ½ÖÖÀí½â¶øÐèÒª×èÖ¹¸Ä±ä£ºÉè¼Æ»òЧÂÊ¡£
finalÀ಻Äܱ»¼Ì³Ð£¬Ã»ÓÐ×ÓÀ࣬finalÀàÖеķ½·¨Ä¬ÈÏÊÇfinalµÄ¡£
final·½·¨²»Äܱ»×ÓÀàµÄ·½·¨¸²¸Ç£¬µ«¿ÉÒÔ±»¼Ì³Ð¡£
final³ÉÔ±±äÁ¿±íʾ³£Á¿£¬Ö»Äܱ»¸³ÖµÒ»´Î£¬¸³ÖµºóÖµ²»Ôٸı䡣
final²»ÄÜÓÃÓÚÐÞÊι¹Ôì·½·¨¡£
×¢Ò⣺¸¸ÀàµÄprivate³ÉÔ±·½·¨ÊDz»Äܱ»×ÓÀà·½·¨¸²¸ÇµÄ£¬Òò´ËprivateÀàÐ͵ķ½·¨Ä¬ÈÏÊÇfinalÀàÐ͵ġ£
1¡¢finalÀà
finalÀ಻Äܱ»¼Ì³Ð£¬Òò´ËfinalÀàµÄ³ÉÔ±·½·¨Ã»Óлú»á±»¸²¸Ç£¬Ä¬È϶¼ÊÇfinalµÄ¡£ÔÚÉè¼ÆÀàʱºò£¬Èç¹ûÕâ¸öÀ಻ÐèÒªÓÐ×ÓÀ࣬ÀàµÄʵÏÖ
ϸ½Ú²»ÔÊÐí¸Ä±ä£¬²¢ÇÒÈ·ÐÅÕâ¸öÀ಻»áÔØ±»À©Õ¹£¬ÄÇô¾ÍÉè¼ÆÎªfinalÀà¡£
2¡¢final·½·¨
Èç¹ûÒ»¸öÀ಻ÔÊÐíÆä×ÓÀา¸Çij¸ö·½·¨£¬Ôò¿ÉÒÔ°ÑÕâ¸ö·½·¨ÉùÃ÷Ϊfinal·½·¨¡£
ʹÓÃfinal·½·¨µÄÔÒòÓжþ£º
µÚÒ»¡¢°Ñ·½·¨Ëø¶¨£¬·ÀÖ¹Èκμ̳ÐÀàÐÞ¸ÄËüµÄÒâÒåºÍʵÏÖ¡£
µÚ¶þ¡¢¸ßЧ¡ ......
Ò»¹²ÓÐÈý¸öÀࣺWriteFile ; ReadFile ; InsertDB ;
//WriteFile.java
//ÓÃÓÚ½«ÐÅϢдÈëÎı¾Îļþ
package org.mb.insertfromfile;
import java.io.*;
public class WriteFile{
private int count = 0 ;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public void write() throws Exception{
File f = new File("f:\\stu1.dat");
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
DataOutputStream dos = new DataOutputStream(fos);
this.count++;
dos.writeUTF("ºé¼ªÍ¯");
dos.writeInt(80);
dos.writeInt(75);
dos.writeInt(65);
dos.writeInt(50);
this.count++;
dos.writeUTF("Ðì¹âºÀ");
dos.writeInt(90);
dos.writeInt(100);
dos.writeInt(100);
dos.writeInt(100);
this.count++;
dos.writeUTF("ÁÖ˳ϲ");
dos.writeInt(60);
dos.writeInt(70);
dos.writeInt(55);
dos.writeInt(75);
this.count++;
dos.writeUTF( ......
Ò»¹²ÓÐÈý¸öÀࣺWriteFile ; ReadFile ; InsertDB ;
//WriteFile.java
//ÓÃÓÚ½«ÐÅϢдÈëÎı¾Îļþ
package org.mb.insertfromfile;
import java.io.*;
public class WriteFile{
private int count = 0 ;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public void write() throws Exception{
File f = new File("f:\\stu1.dat");
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
DataOutputStream dos = new DataOutputStream(fos);
this.count++;
dos.writeUTF("ºé¼ªÍ¯");
dos.writeInt(80);
dos.writeInt(75);
dos.writeInt(65);
dos.writeInt(50);
this.count++;
dos.writeUTF("Ðì¹âºÀ");
dos.writeInt(90);
dos.writeInt(100);
dos.writeInt(100);
dos.writeInt(100);
this.count++;
dos.writeUTF("ÁÖ˳ϲ");
dos.writeInt(60);
dos.writeInt(70);
dos.writeInt(55);
dos.writeInt(75);
this.count++;
dos.writeUTF( ......
Ò»¡¢static
¡¡¡¡ÇëÏÈ¿´ÏÂÃæÕâ¶Î³ÌÐò£º
public class Hello{
public static void main(String[] args){ //(1)
System.out.println("Hello,world!"); //(2)
}
}
¡¡¡¡¿´¹ýÕâ¶Î³ÌÐò£¬¶ÔÓÚ´ó¶àÊýѧ¹ýJava
µÄ´ÓÀ´Ëµ£¬¶¼²»Ä°Éú¡£¼´Ê¹Ã»ÓÐѧ¹ýJava£¬¶øÑ§¹ýÆäËüµÄ¸ß¼¶ÓïÑÔ£¬ÀýÈçC£¬ÄÇÄãÒ²Ó¦¸ÃÄÜ¿´¶®Õâ¶Î´úÂëµÄÒâ˼¡£ËüÖ»ÊǼòµ¥µÄÊä³ö
“Hello,world”£¬Ò»µã±ðµÄÓô¦¶¼Ã»ÓУ¬È»¶ø£¬ËüȴչʾÁËstatic¹Ø¼ü×ÖµÄÖ÷ÒªÓ÷¨¡£
¡¡¡¡ÔÚ1´¦£¬ÎÒÃǶ¨ÒåÁËÒ»¸ö¾²Ì¬µÄ·½·¨ÃûΪmain£¬Õâ¾ÍÒâζןæËßJava±àÒëÆ÷£¬ÎÒÕâ¸ö·½·¨²»ÐèÒª´´½¨Ò»¸ö´ËÀàµÄ¶ÔÏó¼´¿ÉʹÓá£Ä㻹µÃÄãÊÇÔõôÔËÐÐÕâ¸ö³ÌÐòÂð£¿Ò»°ã£¬ÎÒÃǶ¼ÊÇÔÚÃüÁîÐÐÏ£¬´òÈëÈçϵÄÃüÁî(¼ÓÏ»®ÏßΪÊÖ¶¯ÊäÈë)£º
javac Hello.java
java Hello
Hello,world!
¡¡¡¡Õâ¾ÍÊÇÄãÔËÐеĹý³Ì£¬µÚÒ»ÐÐÓÃÀ´±àÒëHello.javaÕâ¸öÎļþ£¬Ö´ÐÐÍêºó£¬Èç¹ûÄã²é¿´µ±Ç°£¬»á·¢ÏÖ¶àÁËÒ»¸öHello.classÎļþ£¬ÄǾÍÊǵÚ
Ò»ÐвúÉúµÄJava¶þ½øÖÆ×Ö½ÚÂë¡£µÚ¶þÐоÍÊÇÖ´ÐÐÒ»¸öJava³ÌÐòµÄ×îÆÕ±é×ö·¨¡£Ö´Ðнá¹ûÈçÄãËùÁÏ¡£ÔÚ2ÖУ¬Äã¿ÉÄÜ»áÏ룬ΪʲôҪÕâÑù²ÅÄÜÊä³ö¡£ºÃ£¬ÎÒÃÇ
À´·Ö½âÒ»ÏÂÕâÌõÓï¾ä¡££¨Èç¹ûûÓа²×°JavaÎĵµ£¬Çëµ½SunµÄ¹Ù·½ÍøÕ¾ä¯ÀÀJ2SE
API ......