JavaɳÏäµÄʵÏÖ
JavaɳÏäʵÏÖÊÇÖØÐ´Àà¼ÓÔØÆ÷ºÍ°²È«¹ÜÀíÆ÷,ͨ¹ýÉèÖõÄÈ«¾Ö°²È«¹ÜÀíÆ÷À´¿ØÖÆÖ´ÐгÌÐòµÄȨÏÞ
˵Ã÷: °²È«²ßÂÔÖ»¶Ô°²×°°²È«¹ÜÀíÆ÷Ö®ºóµÄÀàÉúЧ,֮ǰµÄÀ಻Ôٴ˹ÜÀí·¶Î§Ö®ÄÚ,ÀûÓÃÕâÒ»µã¿ÉÒÔÔ¤ÏÈÉèÖÃÎÒÃÇÐèÒªµÄ²Ù×÷,¶ø¶Ôij¸öµãÖ®ºóµÄËùÓзǷ¨²Ù×÷½øÐÐȨÏÞÉèÖÃ.
Àà¼ÓÔØÆ÷ÖØÐ´
/**
* [ÖØÐ´µÄÀà¼ÓÔØÆ÷]
* ɳÏä³ÌÐòÀà¼ÓÔØÆ÷,¿É¸ù¾ÝÖ¸¶¨Â·¾¶¼ÓÔØÖÆ¶¨ÀàclassÎļþ.
*
* [˵Ã÷]
* ½ö°üÄڿɼû
*
* @author Áõ½ðöÎ
* @version 1.0
* */
package org.hljoj.core.judge.sandbox;
import java.io.File;
import java.io.FileInputStream;
import org.hljoj.core.judge.util.ConstantParam;
class SandboxClassLoader extends ClassLoader{
/**ĬÈÏclassPath*/
private String _classPath;
/**
* ¹¹Ô캯Êý
* @param classPath Àà¼ÓÔØÆ÷ĬÈÏclassPath
* */
public SandboxClassLoader(String classPath) {
this._classPath = classPath;
}
@Override
protected Class<?> findClass(String className) throws ClassNotFoundException {
return loadClass(_classPath, className);
}
/**
* ¸ü¸ÄÀà¼ÓÔØÆ÷¼ÓÔØÀàµÄclasspath,ÔÚÖÆ¶¨Â·¾¶Ï¼ÓÔØÖÆ¶¨µÄÀàclassÎļþ
* @param classPath Òª¼ÓÔØµÄÀà·¾¶
* @param className Òª¼ÓÔØµÄÀàÃû
* ×îΪÏÞ¶¨,Ö»ÄܼÓÔØ²»º¬°üµÄÀà.
* */
public Class<?> loadClass(String classPath, String className) throws ClassNotFoundException{
if(className.indexOf('.') >= 0) {
throw new ClassNotFoundException(className);
}
File classFile = new File(classPath + ConstantParam.SEPARATOR + className + ".class");
byte[] mainClass = new byte[(int) classFile.length()];
try {
FileInputStream in = new FileInputStream(classFile);
in.read(mainClass);
in.close();
} catch (Exception e) {
//e.printStackTrace();
throw new ClassNotFoundException(className);
}
return super.defineClass(className, mainClass, 0, mainClass.length);
}
/**
* »ñÈ¡classPath
* @return String classPath
* */
public Stri
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
³ÌÐòÔ´´úÂ룺
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JOptionPane; ......
ANT-build.xmlÎļþÏê½â
http://www.diybl.com/course/3_program/java/javajs/20081122/152210.html#
AntµÄ¸ÅÄî
¿ÉÄÜÓÐЩ¶ÁÕß²¢²»Àí½âʲôÊÇAntÒÔ¼°Èë¿ÉʹÓÃËü£¬µ«Ö»ÒªÊ¹ÓÃͨ¹ýLinuxϵͳµÃ¶ÁÕߣ¬Ó¦¸ÃÖªµÀmakeÕâ¸öÃüÁî¡£µ±±à
ÒëLinuxÄں˼°Ò»Ð©Èí¼þµÄÔ´³ÌÐòʱ£¬¾³£ÒªÓÃÕâ¸öÃüÁî¡£Make ......
µÚ2Ìõ£ºÓöµ½¶à¸ö¹¹ÔìÆ÷²ÎÊýʱҪ¿¼ÂÇÓù¹½¨Æ÷
ij¸öÀàµÄÊôÐԽ϶࣬³õʼ»¯µÄʱºòÓÖÓÐһЩÊDZØÐë³õʼ»¯µÄ£¬¶øÇÒÀàÐÍÓÐÐÎͬ£¬
±ÈÈçnew Contact("ÐÕÃû","ÏÔʾÃû","ÊÖ»úºÅ","·ÉÐźÅ","ËùÔÚµØ",ÄêÁä,ÐÔ±ð);
ǰ5¸öÊôÐÔÊÇString ÀàÐÍ£¬ºó2¸öÊÇintÀàÐÍ£¬ÔÚÌîд¹¹Ôì·½·¨µÄʱºòºÜÈÝÒ×Ìîд´í룬»òÕßÉÙÌîд£¬»òÕߵߵ¹ÁËÊôÐÔ£¬
ÈçÏ ......
»Øµ÷¸ÅÄî:
Èí¼þÄ£¿éÖ®¼ä×ÜÊÇ´æÔÚ×ÅÒ»¶¨µÄ½Ó¿Ú£¬´Óµ÷Ó÷½Ê½ÉÏ£¬¿ÉÒÔ°ÑËûÃÇ·ÖΪÈýÀࣺͬ²½µ÷Óᢻص÷ºÍÒì²½µ÷Óá£Í¬²½µ÷ÓÃÊÇÒ»ÖÖ×èÈûʽµ÷Ó㬵÷Ó÷½ÒªµÈ´ý¶Ô·½Ö´ÐÐÍê±Ï²Å·µ»Ø£¬ËüÊÇÒ»ÖÖµ¥Ïòµ÷Ó㻻ص÷ÊÇÒ»ÖÖË«Ïòµ÷ÓÃģʽ£¬Ò²¾ÍÊÇ˵£¬±»µ÷Ó÷½ÔÚ½Ó¿Ú±»µ÷ÓÃʱҲ»áµ÷ÓöԷ½µÄ½Ó¿Ú£»Òì²½µ÷ÓÃÊÇÒ»ÖÖÀàËÆÏûÏ¢»òʼþµÄ»úÖÆ£¬² ......