¶¯Ì¬Éú³ÉjavaÎļþµÄ·½·¨
package com.hongsoft.test;
import java.io.*;
//¶¨ÖƵÄÀà×°ÈëÆ÷
public class TestCompile extends ClassLoader
{
String _compiler;
String _classpath;
public static void main(String[] args)
{
new TestCompile();
}
public TestCompile()
{
super(ClassLoader.getSystemClassLoader());
//ĬÈϱàÒëÆ÷
if (_compiler == null)
_compiler = "D:\\j2sdk1.4.2\\bin\\javac";
_classpath = ".";
String extraclasspath =
"c:\\Program Files\\Java\\j2re1.4.2\\lib\\rt.jar";
// = System.getProperty("calc.classpath");
if (extraclasspath != null)
{
_classpath =
_classpath
+ System.getProperty("path.separator")
+ extraclasspath;
}
compile();
}
public void compile()
{
String filename = "";
String classname = "";
try
{
//´´½¨ÁÙʱÎļþ
File javafile =
File.createTempFile("compiled_", ".java", new File("."));
filename = javafile.getName();
classname = filename.substring(0, filename.lastIndexOf("."));
generateJavaFile(javafile, classname);
//±àÒëÎļþ
invokeCompiler(javafile);
//´´½¨javaÀà
byte[] buf = readBytes(classname + ".class");
Class c = defineClass(buf, 0, buf.length);
try
{
c.newInstance();
}
catch (IllegalAccessException e)
{
throw new RuntimeException(e.getMessage());
}
catch (InstantiationException e)
{
throw new RuntimeException(e.getMessage());
}
}
catch (IOException e)
{
throw new RuntimeException(e.getMessage());
}
}
//Éú³ÉjavaÎļþ
void generateJavaFile(File javafile, String classname) throws IOException
{
FileOutputStream out = new FileOutputStream(javafile);
String text =
"public class "
+ classname
+ " {"
+ " public int getCreater() {return 1;}"
+ "}";
out.write(text.getBytes());
out.close();
}
//±àÒëjavaÎļþ
void invokeCompiler(File javafile) throws IOException
{
String[] cmd =
{ _compiler, "-classpath", _classpath, javafile.getName()};
//Ö´ÐбàÒëÃüÁî
//A1£º
Process process = Run
Ïà¹ØÎĵµ£º
ÔõôѧϰJava£¬ÕâÊǺܶàÐÂÊÖ¾³£»áÎÊÎÒµÄÎÊÌ⣬ÏÖÔÚÎÒ¼òµ¥ÃèÊöÏÂÒ»¸öJava³õѧÕßµ½¾ÍҵҪѧµ½µÄһЩ¶«Î÷£º
Ê×ÏÈÒªÃ÷°×JavaÌåϵÉè¼Æµ½µÃÈý¸ö·½Ã棺J2SE,J2EE,J2ME£¨KJAVA£©¡£J2SE£¬Java 2 Platform Standard
Edition£¬ÎÒÃǾ³£Ëµµ½µÄJDK£¬¾ÍÖ÷ÒªÖ¸µÄÕâ¸ö£¬ËüÊÇÈýÕߵĻù ......
TIOBE
µÄ
±à³ÌÓïÑÔÅÅÃû°ñ£¬Ïë±Ø´ó¼Ò¶¼·Ç³£ÊìϤ£¬Ã¿Ô·¢²¼È«Çò±à³ÌÓïÑÔµÄÈȶȺÍÇ÷ÊÆ¡£ÔÚËÄÔ·ݷ¢²¼µÄÊý¾ÝÖУ¬CÓïÑÔÖÕÓÚ³¬¹ýJava³ÉΪNo.1£¬µ«ÕæÕýÈÃÈ˵£ÓÇ
µÄ£¬²¢²»ÊÇCµÄ¶á¹Ú£¬¶øÊÇJavaµÄ³ÖÐøÆ£Èõ£¬¸üÔã¸âµÄÊÇ£¬ËƺõûÓÐÄĸöÀÏ´óÕ¾³öÀ´Íì¾ÈÍÇÊÆ¡£
×÷ΪһÃûJava´ÓÒµÕߣ¬ÎÒÔÚÆóÒµÓ¦ÓÃÁìÓò×öÈí¼þ£¬´Ó¹¤×÷Öв¢Î´¸ÐÊܵ½Javaµ ......
javaÓïÑÔµ÷ÓÃdllµÄ·½·¨£º
1¡£¼ÓÔØdll£¬±ØÐëÊǾ²Ì¬·½·¨¡£
static{
System.loadLibrary(DllConstants.DLL_PATH);
}
2¡£½«dllÖпª·¢µÄ½Ó¿ÚÉùÃ÷Ϊ±¾µØ½Ó¿Ú
public native String[] getTxt();
......
ÐÞ¸ÄJavaÎļþ²»ÓÃÖØÆôTomcat·þÎñµÄ·½·¨
ÔÚʹÓÃEclipse+Tomcat¿ª·¢JavaÏîÄ¿µÄʱºò³£³£»áÅöµ½ÕâÑùµÄÇé¿ö£¬ÒÑÐÞ¸ÄJavaÎļþTomcat¾Í»á×Ô¶¯ÖØÆô£¬½ÓÏÂÀ´¾ÍÊÇÂþ³¤µÄµÈ´ý·þÎñÖØÆôÍê±Ï¡£ÄÇÆäʵ´ó¶àÊýµÄJavaÎļþÐÞ¸ÄÊÇûÓбØÒªÖØÆô·þÎñµÄ£¬Ö»ÓÐÒ»Ð©ÌØ¶¨µÄJavaÎļþ£¬±ÈÈç˵ֻÓÐÖØÆô·þÎñµÄʱºò²Å»áµ÷Ó ......
public String getCheckDateString(String str) {
Date date = new Date();//»ñÈ¡µ±Ç°ÏµÍ³ÈÕÆÚ
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");//ʱ¼ä¸ñʽ
......