TMD, 实在是急了,哪里有javac和java这两个命令的源代码? 不会吧?JDK的lib下边就有tools.jar啊如果要,给我的信箱发信[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SUN公司是有下载的,可就是不让中国人下载,我是中国人怎么了..不是吧!!!!!!!!!!!!!!!! 只要是java,就可以反编译过来看阿,java的反编译效果很好,可读性很强。 Tools.jar中,只有.class文件,,去sun注册,编译器的sourcecode, 就是不让down的... 用jad反编译看。和源码么的区别 jb打开.calss只能看到属性和方法的声明,没有实现代码 大家有什么好一点的反编译工具阿?介绍一下吧,我用VAJ也是导入class只能看到方法名,没有代码的!大家推荐一个用用,并说明下载地址吧! java Decompiler 还不错,要的话我可以发给你! 不知是不是你象要的,好包括一些资源文件,太大,还是自己反编吧。package com.sun.tools.javac.v8;import com.sun.tools.javac.v8.code.ClassReader;import com.sun.tools.javac.v8.code.ClassWriter;import com.sun.tools.javac.v8.code.Symbol;import com.sun.tools.javac.v8.comp.Attr;import com.sun.tools.javac.v8.comp.Check;import com.sun.tools.javac.v8.comp.Enter;import com.sun.tools.javac.v8.comp.Env;import com.sun.tools.javac.v8.comp.Flow;import com.sun.tools.javac.v8.comp.Gen;import com.sun.tools.javac.v8.comp.Infer;import com.sun.tools.javac.v8.comp.Resolve;import com.sun.tools.javac.v8.comp.Symtab;import com.sun.tools.javac.v8.comp.TransInner;import com.sun.tools.javac.v8.comp.TransTypes;import com.sun.tools.javac.v8.parser.Parser;import com.sun.tools.javac.v8.parser.Scanner;import com.sun.tools.javac.v8.tree.Pretty;import com.sun.tools.javac.v8.tree.Tree;import com.sun.tools.javac.v8.tree.TreeMaker;import com.sun.tools.javac.v8.util.Abort;import com.sun.tools.javac.v8.util.Hashtable;import com.sun.tools.javac.v8.util.List;import com.sun.tools.javac.v8.util.ListBuffer;import com.sun.tools.javac.v8.util.Log;import com.sun.tools.javac.v8.util.Name;import com.sun.tools.javac.v8.util.Set;import com.sun.tools.javac.v8.util.StaticName;import java.io.*;public class JavaCompiler implements com.sun.tools.javac.v8.code.ClassReader.SourceCompleter{ public static String version() { return System.getProperty("java.version"); } public JavaCompiler(Log log1, Symtab symtab, Hashtable hashtable) { todo = new ListBuffer(); inputFiles = Set.make(); log = log1; syms = symtab; syms.reader.sourceCompleter = this; chk = new Check(log1, symtab, hashtable); rs = new Resolve(log1, symtab, chk, infer); make = new TreeMaker(); enter = makeEnter(); attr = new Attr(log1, symtab, rs, chk, infer, make, enter, hashtable); gen = new Gen(log1, symtab, chk, rs, make, hashtable); switchCheck = hashtable.get("-Xswitchcheck") != null; verbose = hashtable.get("-verbose") != null; sourceOutput = hashtable.get("-s") != null; classOutput = hashtable.get("-retrofit") == null; printFlat = hashtable.get("-printflat") != null; deprecation = hashtable.get("-deprecation") != null; warnunchecked = hashtable.get("-warnunchecked") != null; gj = hashtable.get("-gj") != null; attrParseOnly = hashtable.get("-attrparseonly") != null; encoding = (String)hashtable.get("-encoding"); String s = (String)hashtable.get("-source"); allowAsserts = s != null && s.equals("1.4"); genCrt = hashtable.get("-Xjcov") != null; } protected Enter makeEnter() { return new Enter(log, syms, rs, chk, make, null, todo); } public static JavaCompiler make(Log log1, Hashtable hashtable) { try { return new JavaCompiler(log1, new Symtab(new ClassReader(hashtable), new ClassWriter(hashtable)), hashtable); } catch(com.sun.tools.javac.v8.code.Symbol.CompletionFailure completionfailure) { log1.error(0, completionfailure.getMessage()); } return null; } public static JavaCompiler make(Hashtable hashtable) { return make(new Log(hashtable.get("-prompt") != null, hashtable.get("-nowarn") == null), hashtable); } public static JavaCompiler make() { return make(Hashtable.make()); } public int errorCount() { return log.nerrors; } public InputStream openSource(String s) { try { File file = new File(s); inputFiles.put(file); return new FileInputStream(file); } catch(IOException ioexception) { log.error(0, "cant.read.file", s); } return null; } SUN公司是有下载的,可就是不让中国人下载,我是中国人怎么了..??????is that possible/?? “SUN公司是有下载的,可就是不让中国人下载,我是中国人怎么了”哪里?说一下地址,我们去看看?? 是这样的。看看JDK的版权声明就知道原因了。技术壁垒的标志之一了。 给大家推荐个JAVA反编译工具,很棒的,作者H.P.van.Vliet,可惜啊,英年早逝!!!名字:Mocha下载地址:http://www.brouhaha.com/~eric/computers/mocha.html 有趣的Java题目!!! 读取文本时,\r\n是不是成对出现的啊? 求助:怎样控制JTextField中输入字符的长度? 多种国家的语言无障碍的沟通 实例化中的一个问题 怎样把excel导出的html格式文件转换为xls格式文件呢 java.util.Arrays.asList的问题 菜鸟问题:如何将int等简单类型数据转化成String类型? 大家进来讨论下JBuilder7和IBM AGE呀…… 在ultraEdit中运行dos命令怎样设置使dos窗口输出信息显示在output窗口里面而不显示在一个新文件里面 在JAVA中如何实现批量文件的复制? 怎样写清单文件manifest?
介绍一下吧,我用VAJ也是导入class只能看到方法名,
没有代码的!
大家推荐一个用用,并说明下载地址吧!
package com.sun.tools.javac.v8;import com.sun.tools.javac.v8.code.ClassReader;
import com.sun.tools.javac.v8.code.ClassWriter;
import com.sun.tools.javac.v8.code.Symbol;
import com.sun.tools.javac.v8.comp.Attr;
import com.sun.tools.javac.v8.comp.Check;
import com.sun.tools.javac.v8.comp.Enter;
import com.sun.tools.javac.v8.comp.Env;
import com.sun.tools.javac.v8.comp.Flow;
import com.sun.tools.javac.v8.comp.Gen;
import com.sun.tools.javac.v8.comp.Infer;
import com.sun.tools.javac.v8.comp.Resolve;
import com.sun.tools.javac.v8.comp.Symtab;
import com.sun.tools.javac.v8.comp.TransInner;
import com.sun.tools.javac.v8.comp.TransTypes;
import com.sun.tools.javac.v8.parser.Parser;
import com.sun.tools.javac.v8.parser.Scanner;
import com.sun.tools.javac.v8.tree.Pretty;
import com.sun.tools.javac.v8.tree.Tree;
import com.sun.tools.javac.v8.tree.TreeMaker;
import com.sun.tools.javac.v8.util.Abort;
import com.sun.tools.javac.v8.util.Hashtable;
import com.sun.tools.javac.v8.util.List;
import com.sun.tools.javac.v8.util.ListBuffer;
import com.sun.tools.javac.v8.util.Log;
import com.sun.tools.javac.v8.util.Name;
import com.sun.tools.javac.v8.util.Set;
import com.sun.tools.javac.v8.util.StaticName;
import java.io.*;public class JavaCompiler
implements com.sun.tools.javac.v8.code.ClassReader.SourceCompleter
{ public static String version()
{
return System.getProperty("java.version");
} public JavaCompiler(Log log1, Symtab symtab, Hashtable hashtable)
{
todo = new ListBuffer();
inputFiles = Set.make();
log = log1;
syms = symtab;
syms.reader.sourceCompleter = this;
chk = new Check(log1, symtab, hashtable);
rs = new Resolve(log1, symtab, chk, infer);
make = new TreeMaker();
enter = makeEnter();
attr = new Attr(log1, symtab, rs, chk, infer, make, enter, hashtable);
gen = new Gen(log1, symtab, chk, rs, make, hashtable);
switchCheck = hashtable.get("-Xswitchcheck") != null;
verbose = hashtable.get("-verbose") != null;
sourceOutput = hashtable.get("-s") != null;
classOutput = hashtable.get("-retrofit") == null;
printFlat = hashtable.get("-printflat") != null;
deprecation = hashtable.get("-deprecation") != null;
warnunchecked = hashtable.get("-warnunchecked") != null;
gj = hashtable.get("-gj") != null;
attrParseOnly = hashtable.get("-attrparseonly") != null;
encoding = (String)hashtable.get("-encoding");
String s = (String)hashtable.get("-source");
allowAsserts = s != null && s.equals("1.4");
genCrt = hashtable.get("-Xjcov") != null;
} protected Enter makeEnter()
{
return new Enter(log, syms, rs, chk, make, null, todo);
} public static JavaCompiler make(Log log1, Hashtable hashtable)
{
try
{
return new JavaCompiler(log1, new Symtab(new ClassReader(hashtable), new ClassWriter(hashtable)), hashtable);
}
catch(com.sun.tools.javac.v8.code.Symbol.CompletionFailure completionfailure)
{
log1.error(0, completionfailure.getMessage());
}
return null;
} public static JavaCompiler make(Hashtable hashtable)
{
return make(new Log(hashtable.get("-prompt") != null, hashtable.get("-nowarn") == null), hashtable);
} public static JavaCompiler make()
{
return make(Hashtable.make());
} public int errorCount()
{
return log.nerrors;
} public InputStream openSource(String s)
{
try
{
File file = new File(s);
inputFiles.put(file);
return new FileInputStream(file);
}
catch(IOException ioexception)
{
log.error(0, "cant.read.file", s);
}
return null;
}
is that possible/??
看看JDK的版权声明就知道原因了。
技术壁垒的标志之一了。