为什么Java反编译后带有汇编代码
那个不是汇编。。。是反编译工具无法识别的字节码(bytecodes,java中间代码),因为无法识别,自然只能直接把字节码打出来给你看了。
高碑店网站建设公司成都创新互联,高碑店网站设计制作,有大型网站制作公司丰富经验。已为高碑店上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的高碑店做网站的公司定做!
你多试几种反编译工具,并不是所有的都会出的,也不是所有的都在同一个地方出。这个取决于反编译工具的作者对字节码的理解。
怎么查看一个exe程序的源代码
1、需要百度下载一个jad.exe的工具包,放到个人jdk版本的主目录下的bin目录下。
2、同时需要把下载下来的一个名为net.sf.jadclipse_3.3.0.jar的jar包复制到eclipse-plugins目录下。
3、打开eclipse 在window-preferences 下对工具jadClipse进行配置。
4、最后还需要修改eclipse的配置方式File Associations ,找到 .class 文件,并把jad设为 .class文件的 默认打开方式。
5、最后可以看到 jad工具配置成功后 ,eclipse 显示成功,以String.class为例。
6、Java Decompiler 是一个jar包查看的绿色工具,无需eclipse便可直接打开并查看 jar包内容,点击OK即可查看任何一个exe程序的源代码。
如何查看java源码中的native方法源码
下载JDK源代码啊,openJDK上有完整的JDK源代码,JDK源代码由C++、Java、C、汇编 这四种语言组成。JVM主体是C++写的,JNI部分是C,工具类是Java写的,JVM里混有汇编代码。路径:openjdk-7-fcs-src-b147\jdk\src\share\native\java\lang\System.c 找到这个
/* Only register the performance-critical methods */
static JNINativeMethod methods[] = {
{"currentTimeMillis", "()J", (void *)JVM_CurrentTimeMillis},
{"nanoTime", "()J", (void *)JVM_NanoTime},
{"arraycopy", "(" OBJ "I" OBJ "II)V", (void *)JVM_ArrayCopy},
};
方法的实现应该在JVM部分,路径openjdk-7-fcs-src-b147\hotspot\src\share,不同的操作系统实现不一样,应该是在对应的操作系统的包下
当前文章:java查看汇编代码 java汇编指令
分享路径:http://lswzjz.com/article/ddiihoi.html