Java±à³Ì µÄ¶¯Ì¬ÐÔ£¬µÚ 2²¿·Ö: ÒýÈë·´Éä
·´ÉäʹÄúµÄ³ÌÐò´úÂëÄܹ»½ÓÈë×°ÔØµ½JVMÖеÄÀàµÄÄÚ²¿ÐÅÏ¢£¬ÔÊÐíÄú±àдÓëÖ´ÐÐʱ£¬¶ø²»ÊÇÔ´´úÂëÖÐÑ¡¶¨µÄÀàÐ×÷µÄ´úÂë¡£Õâʹ·´Éä³É
Ϊ¹¹½¨Áé»îµÄÓ¦ÓõÄÖ÷Òª¹¤¾ß¡£µ«Ðè×¢ÒâµÄÊÇ --Èç¹ûʹÓò»µ±£¬·´ÉäµÄ³É±¾ºÜ¸ß¡£ÔÚJavaƽ̨ϵÁеĵÚ2²¿·ÖÖУ¬Èí¼þ¹ËÎÊDennis
Sosnoski½éÉÜÁËÈçºÎʹÓ÷´É䣬ÒÔ¼°Ä³Ð©Ïà¹ØµÄ³É±¾¡£Äú»¹½«ÕÒµ½JavaReflection APIÈçºÎʹÄúÄܹ»ÔÚÔËÐÐʱ¹ØÁª¶ÔÏó¡£
ÔÚ“
Java±à³ÌµÄ¶¯Ì¬ÐÔ£¬µÚ1²¿·Ö
£¬”ÎÒΪÄú½éÉÜÁËJava±à³ÌÀàºÍÀà×°Èë¡£¸ÃƪÎÄÕ½éÉÜÁËһЩJava¶þ½øÖÆÀà¸ñʽµÄÏà¹ØÐÅÏ¢¡£Õâ¸öÔÂÎÒ½«²ûÊöʹÓÃJava·´ÉäAPIÀ´ÔÚÔËÐÐʱ½ÓÈëºÍʹÓÃһЩÏàͬÐÅÏ¢µÄ»ù´¡¡£ÎªÁËʹÒѾÊìÖª·´Éä»ù´¡µÄ¿ª·¢ÈËÔ±¹Ø×¢±¾ÎÄ£¬ÎÒ½«ÔÚÎÄÕÂÖаüÀ¨·´ÉäÐÔÄÜÈçºÎÓëÖ±½Ó½ÓÈëÏà±È½Ï¡£
ʹÓ÷´É䲻ͬÓÚ³£¹æµÄJava±à³Ì£¬ÆäÖÐËüÓë
ÔªÊý¾Ý
--ÃèÊöÆäËüÊý¾ÝµÄÊý¾ÝÐ×÷¡£JavaÓïÑÔ·´Éä½ÓÈëµÄÌØÊâÀàÐ͵ÄÔÊý¾ÝÊÇJVMÖÐÀàºÍ¶ÔÏóµÄÃèÊö¡£·´ÉäʹÄúÄܹ»ÔËÐÐʱ½ÓÈë¹ã·ºµÄÀàÐÅÏ¢¡£ËüÉõÖÁʹÄúÄܹ»¶Áд×Ö¶Î,µ÷ÓÃÔËÐÐʱѡÔñµÄÀàµÄ·½·¨¡£
·´ÉäÊÇÒ»ÖÖÇ¿´óµÄ¹¤¾ß¡£ËüʹÄúÄܹ»´´½¨Áé»îµÄ´úÂ룬ÕâЩ´úÂë¿ÉÒÔÔÚÔËÐÐʱװÅ䣬ÎÞÐèÔÚ×é¼þÖ®¼ä½øÐÐÔ´´ú±íÁ´½Ó¡£µ«·´ÉäµÄijЩ·½Ãæ´æÔÚһЩÒÉÎÊ¡£ÔÚ±¾ÎÄÖУ¬ÎÒ½«ÉîÈëÌÖÂÛΪʲôÄú¿ÉÄÜ
²»
Ï£ÍûÔÚ³ÌÐòÖÐʹÓ÷´É䣬ÒÔ¼°ÄúÓ¦¸ÃÕâÑù×öµÄÀíÓÉ¡£ÔÚÁ˽âÁËȨºâÐÔ·ÖÎöÖ®ºó£¬Äú¿ÉÒÔ×ÔÐоö¶¨ÊÇ·ñÀû´óÓڱס£
³õѧÕßµÄÀà
ʹÓ÷´ÉäµÄÆôµã×ÜÊÇ
java.lang.Class
ʵÀý¡£Èç¹ûÄúÏ£ÍûÓëÔ¤Ïȶ¨ÒåµÄÀàÐ×÷£¬ÄÇôJavaÓïÑÔÌṩһÖÖÖ±½Ó»ñµÃ
Class
ʵÀýµÄ¼ò±ã¿ì½Ý·½Ê½£º
²»Òª´í¹ý±¾ÏµÁÐµÄÆäËüÎÄÕÂ
µÚ1²¿·Ö£¬“
ÀàºÍÀà×°Èë
”
(2003Äê4ÔÂ)
Class clas = MyClass.class;
µ±ÄúʹÓÃÕâÒ»Ïî¼¼Êõʱ£¬×°ÈëÀàÉæ¼°µÄËùÓй¤×÷ÔÚÄ»ºó½øÐС£µ«ÊÇ£¬Èç¹ûÄúÐèÒªÔÚÔËÐÐʱ´ÓijЩÍⲿԴ¶ÁÈ¡ÀàÃû£¬ÕâÖÖ·½·¨²¢²»Êʺϡ£Êµ¼ÊÉÏ£¬ÄúÐèҪʹÓÃÒ»¸öÀà×°ÈëÆ÷À´²éÕÒÀàÐÅÏ¢¡£ÒÔϽéÉÜÒ»ÖÖ·½·¨£º
// "name" is the class name to load
Class clas = null;
try {
clas = Class.forName(name);
} catch (ClassNotFoundException ex) {
// handle exception case
}
// use the loaded class
Èç¹ûÒѾװÈëÁËÀ࣬Äú½«µÃµ½ÏÖÓеÄ
Class
ÐÅÏ¢¡£Èç¹ûÀàδ±»×°È룬Àà×°ÈëÆ÷½«ÏÖÔÚ×°Èë²¢·µ»ØÐ´´½¨µÄÀàʵÀý¡£
»ØÒ³Ê×
»
Ïà¹ØÎĵµ£º
ÔÌûµØÖ·£º http://emy.javaeye.com/blog/191659
1. Java
ÓïÑÔ»ù´¡
̸µ½Java
ÓïÑÔ»ù´¡Ñ§Ï°µÄÊé¼®£¬´ó¼Ò¿Ï¶¨»áÍÆ¼öBruce EckelµÄ¡¶Thinking in Java
¡·¡£ËüÊÇÒ»±¾Ð´µÄÏ൱Éî¿ÌµÄ¼¼ÊõÊé¼®£¬Java
Óï
ÑÔ»ù´¡²¿·Ö»ù±¾Ã»ÓÐÆäËüÈκÎÒ»±¾Êé¿ÉÒÔ³¬Ô½Ëü¡£¸ÃÊéµÄ×÷ÕßBruce EckelÔÚÍøÂçÉϱ»³ÆÎªÌì²ÅµÄͶ»úÕߣ¬×÷Õߵġ¶Thinking ......
NVelocityÊÇJavaÄ£°åÒýÇæVelocityµÄ.Net°æ±¾¡£NVelocityĿǰ¹Ù·½°æ±¾Îª0.42¡£¹Ù·½µØÖ·£ºhttp://nvelocity.sourceforge.net/£¬Ô×÷ÕßÒѾÉêÃ÷²»ÔÙ¶ÔNVelocity×ö¼¼ÊõÖ§³ÖÁË£¬ËùÒÔsourceforgeÉÏNVelocity°æ±¾Ò»Ö±ÊÇ0.42²»ÔÙÓиüÐÂÁË¡£²»¹ýĿǰNVelocityÒѾÓÐ1.0µÄ°æ±¾ÁË£¬ÊÇÓÉcastleprojectÏîĿά»¤µÄ¡£NVelocity.dllÄÜÔÚcast ......
1¡¢ÀûÓÃSystem.getProperty()º¯Êý»ñÈ¡µ±Ç°Â·¾¶£º
System.out.println(System.getProperty("user.dir"));//user.dirÖ¸¶¨Á˵±Ç°µÄ·¾¶
2¡¢Ê¹ÓÃFileÌṩµÄº¯Êý»ñÈ¡µ±Ç°Â·¾¶£º
File directory = new File("");//É趨Ϊµ±Ç°Îļþ¼Ð
try{
System.out.println(directory.get ......
package com;
import java.util.*;
public class WhatDay {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(System.currentTimeMillis()));
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
switch (dayOfWeek) {
ca ......
Apache Byte Code Engineering Library (BCEL)¿ÉÒÔÉîÈë Java
ÀàµÄ×Ö½ÚÂë¡£¿ÉÒÔÓÃËüת»»ÏÖÓеÄÀà±íʾ»òÕß¹¹½¨ÐµÄÀ࣬ÒòΪ BCEL ÔÚµ¥¶ÀµÄ JVM
Ö¸Áî¼¶±ðÉϽøÐвÙ×÷£¬ËùÒÔ¿ÉÒÔÈÃÄú¶Ô´úÂëÓÐ×îÇ¿´óµÄ¿ØÖÆ¡£²»¹ý£¬ÕâÖÖÄÜÁ¦µÄ´ú¼ÛÊǸ´ÔÓÐÔ¡£ÔÚ±¾ÎÄÖУ¬Java ¹ËÎÊ Dennis Sosnoski
½éÉÜÁË BCEL µÄ»ù±¾ÄÚÈÝ£¬²¢Òýµ¼¶ÁÕßÍê³ÉÒ»¸öʾÀ ......