JAVAÒì³£×Ü½á ¼Ì³Ð
ÒÔÏÂÊǶÔJAVAÒì³£µÄ¼Ì³Ð»úÖÆµÄһЩ×ܽᡣ
1. RuntimeExceptionÓëException, Error²»Í¬µã£º µ±·½·¨ÌåÖÐÅ׳ö·ÇRuntimeException£¨¼°Æä×ÓÀࣩʱ£¬·½·¨Ãû±ØÐëÉùÃ÷Å׳öµÄÒì³££»µ«Êǵ±·½·¨ÌåÖÐÅ׳öRuntimeException£¨°üÀ¨RuntimeException×ÓÀࣩʱ£¬·½·¨Ãû²»±ØÉùÃ÷¸Ã¿ÉÄܱ»Å׳öµÄÒì³££¬¼´Ê¹ÉùÃ÷ÁË£¬JAVA³ÌÐòÔÚij¸öµ÷Óõĵط½£¬Ò²²»ÐèÒªtry-catch´Ó¾äÀ´´¦ÀíÒì³£¡£
class TestA{
//compiles fine.we don't need to claim the RuntimeException to be thrown here
void method(){
throw new RuntimeException();
}
}
class TestB{
void method() throws RuntimeException{
throw new RuntimeException();
}
void invokeMethod(){
//compiles fine. we don't need the try-catch clause here
method();
}
}
class TestC{
//compiles error.we need to claim the Exception to be thrown on the method name
void method(){
throw new Exception();
}
}
class TestD{
//compiles fine.
void method() throws Exception{
throw new Exception();
}
}
ÒÔÏÂËùÓеÄÏà¹ØÒì³£µÄÌØÐÔ¶¼²»°üÀ¨RuntimeException¼°Æä×ÓÀà¡£
2. ¼ÙÈçÒ»¸ö·½·¨ÔÚ¸¸ÀàÖÐûÓÐÉùÃ÷Å׳öÒì³££¬ÄÇô£¬×ÓÀา¸Ç¸Ã·½·¨µÄʱºò£¬²»ÄÜÉùÃ÷Òì³£¡£
class TestA{
void method(){}
}
class TestB extends TestA{
//complies error if the method overrided pertaining to the base class doesn't declare throwing exceptions
void method() throws Exception{
throw new Exception();
}
}
3. ¼ÙÈçÒ»¸ö·½·¨ÔÚ¸¸ÀàÖÐÉùÃ÷ÁËÅ׳öÒì³££¬×ÓÀา¸Ç¸Ã·½·¨µÄʱºò£¬ÒªÃ´²»ÉùÃ÷Å׳öÒì³££¬ÒªÃ´ÉùÃ÷±»Å׳öµÄÒì³£¼Ì³Ð×ÔËüËù¸²¸ÇµÄ¸¸ÀàÖеķ½·¨Å׳öµÄÒì³£¡£
class TestA{
void method() throws RuntimeException{}
}
class TestB extends TestA{
//compiles fine if current method does not throw any exceptions
void method(){}
}
class TestC extends TestA{
//compiles fine because NullPointerException is inherited from RuntimeException which is thrown by the overrided method of the base class
void method() throws NullPointerException{}
}
class TestD extends TestA{
//compiles error because Exception thrown by current method is not inherited from RuntimeException which is thr
Ïà¹ØÎĵµ£º
import java.io.IOException;
public class test {
/**
* ±àÂë
* @param filecontent
* @return String
*/
public static String encode(byte[] bstr){
return new sun.misc.BASE64Encoder().encode(bstr);
}
/**
* ½âÂë
* @param filecontent
* @return string
*/
public static ......
ÅäÖÃjava»·¾³±äÁ¿£º JAVA_HOME£ºÅäÖÃJDKµÄĿ¼ CLASSPATH£ºÖ¸¶¨µ½ÄÄÀïÈ¥ÕÒÔËÐÐʱÐèÒªÓõ½µÄÀà´úÂ루×Ö½ÚÂ룩 PATH£ºÖ¸¶¨¿ÉÖ´ÐгÌÐòµÄλÖà LINUXϵͳ£¨ÔÚ" .bash_profile "ÏµĻ·¾³±äÁ¿ÉèÖã© ......
Èç¹ûÒªÔËÐÐjava³ÌÐò¾Í±ØÐë°²×°JRE£¨Java Runtime Environment)
Èç¹ûÒª¿ª·¢java³ÌÐò¾Í±ØÐë°²×°JDK£¨Java Develope Kit)
£¬×¢ÒâJDKÖаüÀ¨ÁËJRE¡£
°²×°Íê³Éºó£¬ÐèÒªÐÞ¸Äϵͳ»·¾³±äÁ¿PATH·½·¨£¬²ÅÄÜʹϵͳ֪µÀµ½ÄÄÀïÈ¥ÕÒjavacµÈÏà¹Ø±àÒëÐèÒªµÄÃüÁ·½·¨ÈçÏ£º
1¡¢ÓÒ¼üµ¥»÷ÎҵĵçÄÔ£¬Ñ¡‘ÊôÐÔ’²Ëµ¥£¬ÔÚµ¯³öµÄ¶Ô» ......
1.java static inner class ºÍ non-static inner classµÄÇø±ð?
2.Çëд³öÒ»¸ösingletonģʽµÄclass.
ÄãÈç¹ûд³öÏÂÃæµÄ2ÖÖÑùʽ,ÎÒ»áÎÊÄã:ÇëÎÊÄãÈçºÎÔÚͬһ¸öjvmÖв¢ÇÒÔÚͬһ¸öclassLoaderÖеõ½ËüµÄ¶à¸öʵÀý?(Çë²»ÒªÆæ¹Ö)
ÑùÁÐ1:
public class Singleton {
private final static Singleton instance= ......
package info.gnuhpc;
/**
* @author gnuhpc email: warmbupt@gmail.com blog: http://gnuhpc.info
* @date 2010-1-22
* @bugs ²»Ö§³Ö¶àÒô×Ö´¦Àí
*/
public class PinyinConv {
// ¼òÌåÖÐÎĵıàÂ뷶Χ´ÓB0A1£¨45217£©Ò»Ö±µ½F7FE£¨63486£©
private static int BEGIN = 45217;
private static int ......