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
Ïà¹ØÎĵµ£º
Ô´³ÌÐò´úÂ룺
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
......
ÖÐÎĵıàÂë³£ÓõÄÓÐ3ÖÖ¸ñʽ£º1£©gb2312(¾ÍÊÇasciiÂ뷽ʽ£¬Ò²Ëµansi) 2)unicode 3)utf-8
c++Ò»°ã²ÉÓÃanciiÂ룬¶øjavaÒ»°ã²ÉÓÃunicode£¬¶øSymbianC++£¨ÒÔºó¼ò³Æsymbian£©²ÉÓÃunicode»òutf-8
±ÈÈ纺×Ö“ºÃ”£º unicodeΪ“7D 59”£¬¶øasciiΪ“BA C3”, utf-8±àÂëΪ3¸ö×Ö½Ú¡£
ÖÕ¶ËÄã ......
½ñÌìС±àºÍ´ó¼Ò·ÖÏíµÄÊÇJava³ÌÐò±àд¹æ·¶£¬Ï£ÍûÄܶԴó¼ÒÓÐËù°ïÖú¡£
exit()
exit ³ýÁËÔÚ main ÖпÉÒÔ±»µ÷ÓÃÍ⣬ÆäËûµÄµØ·½²»Ó¦¸Ãµ÷Óá£ÒòΪÕâÑù×ö²»¸øÈκδúÂë´úÂë»ú»áÀ´½Ø»ñÍ˳ö¡£Ò»¸öÀàËÆºǫ́·þÎñµØ³ÌÐò²»Ó¦¸ÃÒòΪijһ¸ö¿âÄ£¿é¾ö¶¨ÁËÒªÍ˳ö¾ÍÍ˳ö¡£
Òì³£
ÉêÃ÷µÄ´íÎóÓ¦¸ÃÅ׳öÒ»¸öRuntimeException»òÕßÅÉÉúµÄÒì³£¡£
......
»Øµ÷¸ÅÄî:
Èí¼þÄ£¿éÖ®¼ä×ÜÊÇ´æÔÚ×ÅÒ»¶¨µÄ½Ó¿Ú£¬´Óµ÷Ó÷½Ê½ÉÏ£¬¿ÉÒÔ°ÑËûÃÇ·ÖΪÈýÀࣺͬ²½µ÷Óᢻص÷ºÍÒì²½µ÷Óá£Í¬²½µ÷ÓÃÊÇÒ»ÖÖ×èÈûʽµ÷Ó㬵÷Ó÷½ÒªµÈ´ý¶Ô·½Ö´ÐÐÍê±Ï²Å·µ»Ø£¬ËüÊÇÒ»ÖÖµ¥Ïòµ÷Ó㻻ص÷ÊÇÒ»ÖÖË«Ïòµ÷ÓÃģʽ£¬Ò²¾ÍÊÇ˵£¬±»µ÷Ó÷½ÔÚ½Ó¿Ú±»µ÷ÓÃʱҲ»áµ÷ÓöԷ½µÄ½Ó¿Ú£»Òì²½µ÷ÓÃÊÇÒ»ÖÖÀàËÆÏûÏ¢»òʼþµÄ»úÖÆ£¬² ......
·½·¨Ò»£º
ÈôʹÓÃJBuilder7£¬²½ÖèÈçÏ£º 1¡¢Ê×ÏȽ¨Á¢¹¤³Ì£¬Application¡£ÕâЩ¾Í²»ÐèÒªÏêϸ˵Ã÷¡£ 2¡¢Ñ¡Ôñ²Ëµ¥WizardsϵÄarchive Builder 3¡¢ÔÚarchive typeÖÐÑ¡ÔñApplication 4¡¢ÔÚNameÑ¡ÏîÖиø¿ÉÖ´ÐгÌÐòÆðÃû£¬ÆäËûÑ¡ÏîĬÈÏ 5¡¢°üº¬½ø¸Ã¹¤³ÌÖÐËùÓеÄÀàºÍ×ÊÔ´ 6¡¢º¬Àà¿âÖÐËùÓеÄÀàºÍ×ÊÔ´ 7¡¢ÏÂÃæÁ½²½Ä¬ÈÏ 8¡¢ ......