大家好,我是躺平哥,最近有个叫反编译的东西着实吸引到了我,因此写了这篇博客作为总结,有不对的地方请大家多多斧正!

1,反编译介绍

1),什么是反编译?

通俗一点来讲,就是讲class文件变回java文件(后缀)。

class和java文件涉及到了java程序开发原理

下面介绍一下:

如图所示,源文件是程序员能看懂但是计算机看不懂得程序,所以要用javac程序将源文件变为字节码文件(程序员看不懂但是计算机看得懂),然后计算机通过java.exe在控制台上打印输出!

下面为图解:

2,如何使用IDEA实现反编译具体步骤

下面是我们想要反编译的一段代码,要想变为它下面的源码,要如何操作呢?下面我们来一起看看吧!

package cn.itcast.demo;public class test {public static void main(String[] args) {String name ="躺平哥";//JDK的新特性,表达式结果可以是字符串!!!//字符的本质还是数字//反编译 java--class(字节码文件)--反编译(IDEA)switch (name){case"小佬":System.out.println("小佬");break;case"躺平哥":System.out.println("躺平哥");break;default:System.out.println("弄啥嘞!");}}
}

package cn.itcast.demo;public class test {public test() {}public static void main(String[] args) {String name = "躺平哥";byte var3 = -1;switch(name.hashCode()) {case 750909:if (name.equals("小佬")) {var3 = 0;}break;case 35884300:if (name.equals("躺平哥")) {var3 = 1;}}switch(var3) {case 0:System.out.println("小佬");break;case 1:System.out.println("躺平哥");break;default:System.out.println("弄啥嘞!");}}
}

1)打开class文件所在位置(找猫猫)

首先就像躲猫猫一样先找到class的藏身之所啊哈哈0^0

先打开IDEA点击中间的图标

然后复制所在位置

打开我的电脑搜索栏然后复制进去

访问

找到后缀为class的文件,他就是字节码文件!然后右键打开(我用的是Notepad++打开的)

打开以后会让你一脸懵逼,还以为找到了火星语言

没错!就是那么一堆乱码,这就是计算机能看懂的字节码文件(ps:反正第一次给我整懵逼了)

2)利用IDEA导入字节码文件

找到包然后右键点击

点击完这个后会出现这个

然后找到字节码文件点击一下就好了嘿嘿

最后用idea打开即可!

谢谢各位大佬的观看,冲冲冲!!b站爷来了

JAVA中如何使用IDEA实现反编译(图片详解)相关推荐

  1. Java中print、printf、println的区别 详解

    Java中print.printf.println的区别详解 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和pr ...

  2. JAVA中的类和对象之this的详解

    系列文章目录 第一章 JAVA中的类和对象之this的详解 目录 前言 一.为什么要有this引用 二.this的三种用法 1.this.成员变量 2.this.成员方法 3.this()调用其它的构 ...

  3. Java中的语法糖及反编译工具

    雪压枝头低,虽低不着泥 壹·Java中的反编译工具 贰·常见的12"颗"语法糖 switch forEach lambda if条件编译 变长参数 enum assert断言 tr ...

  4. Android 反编译APK详解

    目录 一,所需工具 二,Apk反编译获取源码 三,apk反编译获取资源文件 四,反编译apk获取资源文件方式二 附 一,所需工具 apktool (资源文件获取)  下载路径:https://ibot ...

  5. Java 中的泛型(两万字超全详解)

    文章目录 前言 一.泛型概述 1. 什么是泛型?为什么要使用泛型? 2. 泛型使用场景 3. 泛型概述小结 二.泛型类 1. 泛型类的定义 2. 泛型类的使用 三.泛型接口 四.泛型方法 1. 泛型方 ...

  6. Java中final类是存放在哪_详解Java中的final关键字

    1 修饰属性或者变量 无论属性是基本类型还是引用类型,作用都是变量里面存放的"值"不可变 经常和static关键字一起使用,作为常量 1 基本类型,变量放的是实实在在的值,如1,& ...

  7. java中静态代码块的用法 static用法详解(转)

    (一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...

  8. java中的关键字:this与super 大详解

    文章目录 1.this 1.1. this是什么? 1.2 this调用对象中的属性.构造器和方法 2.super 2.1 super是什么? 2.2 super调用父类的属性.构造器.方法 3. t ...

  9. java中静态代码块的用法 static用法详解

    (一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...

最新文章

  1. 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener
  2. 给Source Insight做个外挂系列之二--将本地代码注入到Source Insight进程
  3. 特征工程——categorical特征 和 continuous特征
  4. 电脑C盘满了怎么办?这两种方法都能解决
  5. jzoj3860-地壳运动(mst)【最小生成树,三分】
  6. 模糊聚类算法(FCM)和硬聚类算法(HCM)的VB6.0实现及
  7. Oracle数据库案例整理-Oracle系统执行时故障-内存过少导致分配共享内存失败
  8. 使用Cmder替换cmd,让你的开发飞起来
  9. Hadoop YARN(入门) —— Hadoop权威指南5
  10. 晚上几点睡才叫“熬夜”?给你“答案”,很多人都想错了
  11. 控制面板中没有reltek高清晰音频管理器 插入耳机后仍然外放(已解决)
  12. 复古冰雪传奇H5游戏详细图文架设教程
  13. 计算机win7安装打印机,Win7系统怎么安装打印机 win7安装打印机的方法【图文详解】...
  14. HTML之基本布局设计之三栏式、两栏式设计
  15. 【OpenCV入门教程之五】 分离颜色通道 多通道图像混合
  16. 在线心语日历批量生成工具
  17. ios 打包 验证应用失败原因汇总
  18. caffe配置 一生不可自决
  19. 嵌入式学习(3)ADC、DMA、通信方式
  20. MySQL数据库提权

热门文章

  1. icloud 取消桌面备份_什么是Apple的iCloud及其备份?
  2. 未来智能设备不再以视觉展现为主!
  3. 三问联通:不能挣钱,拥抱互联网有用吗?
  4. html页面设计成占满屏幕,关于html页面布局
  5. Java 学习(一)Java语言基础
  6. Arrangement
  7. STM32产生38KHz红外载波代码
  8. windows下rocketMq后台无窗口启动sever和brocker
  9. java语言程序设计教程课后题答案魏永红_Java语言程序设计教程习题答案
  10. 小薇学院任务一:零基础HTML编码(笔记)