⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compilecommand.java

📁 纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统
💻 JAVA
字号:
/*
 * $Id: CompileCommand.java,v 1.4 2004/01/02 08:41:39 epr Exp $
 */
package org.jnode.shell.command;

import org.jnode.shell.help.ClassNameArgument;
import org.jnode.shell.help.Help;
import org.jnode.shell.help.IntegerArgument;
import org.jnode.shell.help.Parameter;
import org.jnode.shell.help.ParsedArguments;
import org.jnode.vm.classmgr.VmType;

/**
 * @author epr
 */
public class CompileCommand {

	static final ClassNameArgument ARG_CLASS = new ClassNameArgument("className", "the class file to compile");
	static final IntegerArgument ARG_LEVEL = new IntegerArgument("level", "the optimization level");
	static final Parameter PARAM_LEVEL = new Parameter(ARG_LEVEL, Parameter.OPTIONAL);
	
	public static Help.Info HELP_INFO = new Help.Info("compile", "Compile a Java class", new Parameter[] { new Parameter(ARG_CLASS, Parameter.MANDATORY), PARAM_LEVEL});

	public static void main(String[] args) throws Exception {
		ParsedArguments cmdLine = HELP_INFO.parse(args);

		final String className = ARG_CLASS.getValue(cmdLine);
		final int level = PARAM_LEVEL.isSet(cmdLine) ? ARG_LEVEL.getInteger(cmdLine) : 0;
		final ClassLoader cl = Thread.currentThread().getContextClassLoader();
		final Class cls = cl.loadClass(className);
		final VmType type = cls.getVmClass();
		final long start = System.currentTimeMillis();
		final int count = type.compileRuntime(level);
		final long end = System.currentTimeMillis();
		System.out.println("Compiling " + count + " methods took " + (end - start) + "ms");
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -