JAVA Öн«×Ö·û´®×ª»»³ÉÀàʵÀý¶ÔÏó
ÔںܶàʱºòÎÒÃÇÐèÒª½«Ò»¸ö¸øÁËÍêÕû·¾¶µÄÀà¶ÔÏó×Ö·û´®×ª»»³ÉÒ»¸öÀàµÄʵÀý¶ÔÏ󣬾ͱÈÈç˵ÓÐÒÔÏÂÕâÑùµÄÒ»¸ö×Ö·û´®
String menAction= "gef.putin.step.ui.SystemMenuTest(xiajiaji)"ÔÚ¸ÃÀàÖÐÐèÒªÓÐÓÐÒ»¸ö×Ö·û´®¸ñʽµÄ²ÎÊý£¬µ±È»¶à¸ö²ÎÊýÒ²¿ÉÒÔ£¬ÎÒÒѾ½«¶à¸ö²ÎÊýµÄ¿¼ÂǽøÈ¥£¬¶Ô¸Ä×Ö·û´®½øÐнâÎö¾Í¿ÉÒÔת»»³ÉÀàµÄʵÀý¶ÔÏóÁË¡£ÒÔÏÂÊÇÎÒ×öµÄÒ»¸öСµÄDemo£¬Èç¹ûÄܹ»°ïÖú´ó¼Ò£¬ÎÒµ±È»¾õµÃºÜ¿ªÐÄ£¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£
import java.lang.reflect.Constructor;
public class Test {
public static void main(String [] args){
String menuAction = "gef.putin.step.ui.SystemMenuTest(xiajiaji)";
boolean endsWith = menuAction.endsWith(")");
SystemMenuTest action =null;
if(!endsWith){
try{
action = (SystemMenuTest) Class.forName(menuAction).newInstance();
}catch(Exception ee){
ee.printStackTrace();
}
}else{
String clazzName = menuAction.substring(0, menuAction.indexOf("("));
String parAllStr = menuAction.substring(menuAction.indexOf("(")+1, menuAction.indexOf(")"));
boolean contains = parAllStr.contains(",");
String [] parStr = null;
if(contains){
parStr = parAllStr.split(",");
}else{
parStr = new String[]{parAllStr};
}
try{
Class clazz = Class.forName(clazzName);
Class [] parClass = new Class[parStr.length];
for(int i =0;i<parStr.length;i++){
parClass [i] = String.class;
}
Constructor con=clazz.getConstructor(parClass);
action = (SystemMenuTest) con.newInstance(parStr);
}catch(Exception exe){
exe.printStackTrace();
}
&nbs
Ïà¹ØÎĵµ£º
Ḭ̈߳²È« ʲôÊÇḬ̈߳²È«(thread-safe)£¿ Ò»¸öÀ࣬Èç¹ûÄܹ»ÔÚ¶àÏ̲߳¢·¢·ÃÎʵĻ·¾³Ï£¨²»¹ÜÏ̷߳ÃÎʵÄ˳Ðò£©ÕýÈ·±íÏÖ×Ô¼ºµÄÐÐΪ£¬²¢ÇÒÎÞÐèÍⲿµ÷ÓÃÌí¼ÓÈκÎͬ²½Ö®ÀàµÄ²Ù×÷£¬Õâ¸öÀà¾ÍÊÇḬ̈߳²È«µÄ¡£
Õâ¸öÕýÈ·ÐÔ¿ÉÒÔÕâôÀí½â£¬¾ÍÊÇ˵¶àÏ̷߳ÃÎʵĽá¹û²»»á²»Í¬ÓÚµ¥Ï̵߳ķÃÎÊ¡£
Ḭ̈߳²È«µÄÀ಻ÐèÒªÍⲿµ÷ÓÃÌá¹©È ......
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
/**
* ÇóÖÊÊýºÍ£¬
* Èç:
* sum(1)=2=2
* sum(2)=2+3=5
* sum(3)=2+3+5=10
* sum(4)=2+3+5+7=17
& ......
ǰÑÔ
¡¡¡¡JavaµÄ·¾¶ÎÊÌ⣬·Ç³£ÄѸ㡣×î½üµÄ¹¤×÷Éæ¼°µ½´´½¨ºÍ¶ÁÈ¡ÎļþµÄ¹¤×÷£¬ÕâÀïÎҾ͸ø´ó¼Ò³¹µ×µÃ½â¾öJava·¾¶ÎÊÌâ¡£
¡¡
¡¡ÎÒ±àдÁËÒ»¸ö·½·¨£¬±ÈClassLoader.getResource(String
Ïà¶Ô·¾¶)·½·¨µÄÄÜÁ¦¸üÇ¿¡£Ëü¿ÉÒÔ½ÓÊÜ"../"ÕâÑùµÄ²ÎÊý£¬´ðÓ¦ÎÒÃÇÓÃÏà¶Ô·¾¶À´¶¨Î»classpathÍâÃæµÄ×ÊÔ´¡£ÕâÑù£¬ÎÒÃǾͿÉÒÔʹÓÃÏ ......
ÒýÑÔ
JavaµÄ¶ÑÊÇÒ»¸öÔËÐÐʱÊý¾ÝÇø,ÀàµÄʵÀý(¶ÔÏó)´ÓÖзÖÅä¿Õ¼ä¡£JavaÐéÄâ»ú(JVM)µÄ¶ÑÖд¢´æ×ÅÕýÔÚÔËÐеÄÓ¦ÓóÌÐòËù½¨Á¢µÄËùÓжÔÏó£¬ÕâЩ¶ÔÏóͨ¹ýnew¡¢newarray¡¢anewarrayºÍmultianewarrayµÈÖ¸ÁÁ¢£¬µ«ÊÇËüÃDz»ÐèÒª³ÌÐò´úÂëÀ´ÏÔʽµØÊÍ·Å¡£Ò»°ãÀ´Ëµ£¬¶ÑµÄÊÇÓÉÀ¬»ø»ØÊÕ À´¸ºÔðµÄ£¬¾¡¹ÜJVM¹æ·¶²¢²»ÒªÇóÌØÊâµÄÀ¬»ø»ØÊÕ¼¼Êõ£ ......