view plain #!/bin/sh # Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iot oid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin SRC_PATH=$PROJECT_PATH/src/$ONSSERVER
# First remove the sources list file if it exists and then create the sources file of the project rm f $SRC_PATH/sources find $SRC_PATH/ name * java$SRC_PATH/sources list
# First remove the ONSServer directory if it exists and then create the bin directory of ONSServer rm rf $BIN_PATH/$ONSSERVER mkdir $BIN_PATH/$ONSSERVER
# Compile the project javac d $BIN_PATH/$ONSSERVER classpath $JAR_PATH/jdom jar $JAR_PATH/oro jar @$SRC_PATH/sources list下面是文件run 用于执行程序 view plain #!/bin/sh
# Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iot oid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin
lishixinzhi/Article/program/Java/hx/201311/27024
什么是Java代码的编译与反编译?Java代码的编译与反编译
2017-02-21Hollis数盟
一、什么是编译
1、利用编译程序从源语言编写的源程序产生目标程序的过程 。
2、用编译程序产生目标程序的动作 。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0 , 编译程序把人们熟悉的语言换成2进制的 。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成 。主要是进行词法分析和语法分析 , 又称为源程序分析,分析过程中发现有语法错误,给出提示信息 。
二、什么是反编译
计算机软件反向工程(Reverseengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作 , 以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素 , 某些特定情况下可能推导出源代码 。反编译作为自己开发软件时的参考 , 或者直接用于自己的软件产品中 。
三、Java类的编译与反编译
我们在最初学习Java的时候,会接触到两个命令:javac和java,那个时候我们就知道,javac是用来编译Java类的,就是将我们写好的helloworld.java文件编译成helloworld.class文件 。
class文件打破了C或者C++等语言所遵循的传统 , 使用这些传统语言写的程序通常首先被编译 , 然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件 。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作 。而Javaclass文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件 。
那么反编译呢,就是通过helloworld.class文件得到java文件(或者说是程序员能看懂的Java文件)
四、什么时候会用到反编译
1、我们只有一个类的class文件,但是我们又看不懂Java的class文件,那么我们可以把它反编译成我们可以看得懂的文件 。
2、学习Java过程中,JDK的每个版本都会加入越来越多的语法糖,有些时候我们想知道Java一些实现细节,我们可以借助反编译 。
五、反编译工具
1、javap
2、Jad:(墙裂推荐)
客户端:
可以在下载可执行文件,找到对应的操作系统的对应版本,然后进行安装使用 。
因为我使用的是linux操作系统,所以我下载的是Linux版本的工具,这个工具下载好之后会有一个执行文件,只要在执行文件所在目录执行./jadhelloworld.class就会在当前目录下生成helloworld.jad文件,该文件里就是我们很熟悉的Java代码
Eclipse插件:
下载地址在下载插件的jar包,然后将jar包放到eclipse的plugins目录下‘在打开Eclipse,Eclipse-Window-Preferences-Java,此时你会发现会比原来多了一个JadClipse的选项,单击,在Pathtodecompiler中输入你刚才放置jad.exe的位置 , 也可以制定临时文件的目录 。当然在JadClipse下还有一些子选项,如Debug,Directives等 , 按照默认配置即可 。基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse-Window-Preferences-General-Editors-FileAssociations我们可以看到class文件的打开方式有两个,JadClipse和Eclipse自带的ClassFileViewer,而JadClipse是默认的 。全部配置完成,下面我们可以查看源码了 , 选择需要查看的类,按F3即可查看源码
推荐阅读
- 网红怎么做成直播带货,如何做网红直播带货
- java网店源代码,javaee网上商城项目源码
- chatgpt申请指南,如何申请cpt
- gis断路器灭弧原理,gis断路器的结构原理
- python反序输出函数 怎么用python输出反序数
- 怎么下载安装微信,怎么下载安装微信旧版本
- 怎么查看手机性能下降没,怎么知道手机性能有没有降低?
- 阿里服务器怎么从起,阿里服务器地址
- c语言飞机大战四个函数 c语言小程序飞机大战