java编译class工具
反编译工具jad简单用法
以下假设jad.exe在c:\java目录下
一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\java\>jad example1.class
c:\java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:\java\>jad -sjava example1.class
反编译结果以.java为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:\java\>jad -p example1.class
将反编译结果重定向到文件
c:\java\>jad -p example1.class>example1.java
五、Option -d
指定反编译的输出文件目录
c:\java\>jad -o -dtest -sjava *.class
B. 有没有java文件转换成class文件的工具
最基本的jdk就可以编译java文件了啊。用javac命令。没有main函数的java文件也是可以编译的。
C. 如何将java文件编译成class文件
如果你用的是工具,会自动编译。如果是dos命令,先用记事本写一个java文件,比如a.java,存放到d盘java文件夹下,dos命令可以写d:回车,cd
java(cd是进入下级目录,java是文件所在的文件夹,注意cd和java之间的空格)回车,javac
a.java,回车就可以了
D. Java源代码编译成的.class文件能用什么工具读取吗
一般情况下不能,要不然,写出来的东西很容易被人破解了,哪还有什么版权可言.
java虚拟机是用来运行java程序的,不是用来读取字节码文件的.
E. java编译成class方发或工具。
对于很多应用系统,常常需要动态装载和执行类和代码片断,这有利于部署的简易性和系统设计上的灵活性。本文给出了一个比较全面的介绍,值得参考。
在Sun JDK 1.2及后续版本中,包含了一组可在程序运行时刻编译和执行Java代码的API。这些API被包含在tools.jar类库中。这个功能允许Java程序在运行时动态编译、执行小的代码块,在有些情况下这个功能会让Java应用程序的架构更加灵活、开放。
本文假定读者已经在计算机中安装并配置好了Sun JDK 1.2或更高的版本,并对javac编译器命令有所了解。
在Java程序中使用编译器
假定要使用javac命令编译 /home/mytest目录下Test.java文件,并设定class文件存放在/home/mytest/classes路径下,输入下面命令:
javac -d /home/mytest/classes Test.java
达到同样的目的,也可以使用Sun提供的一个Java编译器的API来实现。它的使用也很简单,核心代码段如下:
…
String[] args = new String[] {“-d”, “/homemytestclasses”, “Test.java”};
Int status = javac.compile(args);
…
javac编译工具被安装在JDK根目录的/bin目录下,负责将源代码编译成运行于JVM的字节码。事实上,我们经常使用/bin目录下的javac编译工具来编译Java源文件。如果在Java程序中动态编译任意制定的Java语句,使用这个外部的javac编译器就显得不够灵活了。虽然有时可使用Runtime类来执行一个外部命令,但如果想知道代码是否被编译通过、编译时发生了什么错误,用Runtime类的exec()方法就很难实现了。
在Sun的JDK 1.2及后续版本中,JDK安装路径的/lib路径下包含了一个tools.jar文件,这个类库包含了一个完整的编译器包。com.sun.tools.javac.Main是编译器的主类入口,如果已经熟悉了javac编译器命令行的使用方法,很容易理解这个类的使用方法。方法compile(String[] p)执行编译动作,参数p是一个String数组,用来存放javac命令的参数选项,编译后的状态返回一个Int值,其对应值参考如下表所示:
表 状态参数与对应值
EXIT_OK 0
EXIT_ERROR 1
EXIT_CMDERR 2
EXIT_SYSERR 3
EXIT_ABNORMAL 4
在程序执行时编译和执行Java语句
从上面一段中,我们已经基本了解了动态编译一个Java文件的方法。那么,如何运行时动态编译指定的Java语句呢?这里需要一个技巧。
假设要动态编译的Java条语句如下:
System.out.println(“Hello,This runtime code!”);
编译器不支持编译单个Java语句,被编译的对象必须是一个以.java为后缀的、结构合法的类源程序文件,所以需要对这个语句进行改造,变成一个完整的类,并把这条语句置入main方法中,便于测试。
public class <临时类文件名> {
public static void main(String[] args) throws Exception {
System.out.println(“Hello,This runtime code!”);
}
}
这样,欲动态编译的代码已经被程序动态拼装成了上面那段代码,准备工作还没有结束,不过看起来工作在趋向稍微的复杂化。因为上述代码当前还存放在内存中,编译器似乎对一个硬盘文件更感兴趣。我们需要引用java.io.File类(JDK 1.2以上),创建一个临时的文件来存放上述代码的内容。java
F. 如何将.java文件编译成.class文件
如果你用的是工具,会自动编译。如果是dos命令,先用记事本写一个Java文件,比如a.java,存放到d盘java文件夹下,dos命令可以写d:回车,cd java(cd是进入下级目录,java是文件所在的文件夹,注意cd和java之间的空格)回车,javac a.java,回车就可以了
G. 怎样用JDK工具把java程序编译成.class格式啊
打开dos命令进入到你安装jdk的安装目录中..输入命令
javac yourfile.java
这样编译完了就会生成一个yourfile.class文件..
在系统变量path中加入[jdk路径]/bin的话 就可以用dos在任意目录下编译java文件了..javac 是编译的命令 java是运行程序的命令
H. 求助~JDK工具把java程序编译成.class格式
我记德用javac.exe编译吧
15: illegal character: \0
的意思是说15行有非法字符\0
I. 什么软件能将.java文件编译成.class文件什么软件能运行.class什么软件能将.class 反编译成.java文件
给你推荐个软件吧Jcreator,这个软件就给以直接运行而不用去设置那些path值,但必须有jdk哟!
只是建议你在刚开始用这个,但以后就还是别用的好,用Jbuilder,而且尽量要用英文版的呀!
这时Jcreator的下载地址:http://www.skycn.com/soft/24416.html
J. 请问:.java文件如何编译为.class文件
对以.java为后缀的文本用javac命令解释成.class后缀的文件,再用java命令编译,就可以运行