java_编译,反编译以及java为什么能跨平台

简介: 编译从java源代码通过javac编译到一个class文件

编译


从java源代码通过javac编译到一个class文件


反编译


从class文件通过javap反编译得到对应的java文件,能看到一些隐藏的细节


打开该类的class文件的电脑位置,然后javap 类名.class即可反编译


面试有时会被问为什么Java代码能跨平台运行?


1、主要是因为Java有自己的运行环境就是JVM,Java的代码不是直接运行到电脑上的,而是在JVM(虚拟机)中运行。


2、不同的平台如Windows、Linux、Mac、只要安装了JVM,就可以在各个平台上运行起来。


3、Java将java文件编译成二进制字节码class文件,而JVM就执行class文件。

 


目录
相关文章
|
23天前
|
Java 开发工具 流计算
flink最新master代码编译出现Java Runtime Environment 问题
在尝试编译Flink源码时遇到Java运行时环境致命错误:EXCEPTION_ACCESS_VIOLATION。问题出现在JVM.dll+0x88212。使用的是Java 11.0.28和Java HotSpot(TM) 64-Bit Server VM。系统为Windows客户端,没有生成核心dump文件。错误日志保存在hs_err_pid39364.log和replay_pid39364.log。要解决这个问题,建议检查JDK版本兼容性,更新JDK或参照错误报告文件提交Bug至http://bugreport.java.com/bugreport/crash.jsp。
|
1月前
|
存储 Java 编译器
java和c++的主要区别、各自的优缺点分析、java跨平台的原理的深度解析
java和c++的主要区别、各自的优缺点分析、java跨平台的原理的深度解析
102 0
|
4月前
|
安全 Java 开发者
【Java】<泛型>,在编译阶段约束操作的数据结构,并进行检查。
【Java】<泛型>,在编译阶段约束操作的数据结构,并进行检查。
24 0
|
4月前
|
Java 程序员 Shell
Java(一)java跨平台原理及dos常用命令
Java(一)java跨平台原理及dos常用命令
20 1
|
1月前
|
Java 编译器
有关电脑中idea编译报错问题java: No implementation was created for AdminUserConverter due to having a problem in
有关电脑中idea编译报错问题java: No implementation was created for AdminUserConverter due to having a problem in
33 0
|
1月前
|
Java
916.【Java】javap 查看 class 文件的jdk编译版本
916.【Java】javap 查看 class 文件的jdk编译版本
49 2
|
2月前
|
Java 测试技术 数据库连接
基于Java Web技术的跨平台应用开发策略探讨
基于Java Web技术的跨平台应用开发策略探讨
|
2月前
|
运维 Java 大数据
Java在运维领域的跨平台优势
Java在运维领域的跨平台优势
|
3月前
|
搜索推荐 Java 编译器
Javac 编译自定义注解及分析 Lombok 的注解实现
Javac 编译自定义注解及分析 Lombok 的注解实现
64 0
|
4月前
|
Java
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
Java【付诸实践 04】Jar包class文件反编译、修改、重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)
149 0