HelloWorld
Java的第一个程序
- 使用记事本实现:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
//注意:类名称和文件名必须一致
- 编译 .java 文件
javac 文件名.后缀 生成 .class文件
javac Hello.java
- 运行 .calss 文件
java 文件名
// java Hello
Java 程序运行机制
源文件 (.java)---> 编译器(javac)---> 字节码文件--->(.class 文件) --->解析器(JVM)解释为机器语言
编译语言的类型主要有两种:编译型、解释型, java 是两种语言的结合;
从字面来看它俩都有翻译的意思,唯一的区别就是翻译的时机不同
编译型:执行速度快
解释型:走一步执行一步
从 java 文件编译为 class 文件 (字节码文件),将class文件装载在类装载器里面,这样的话,这个类就被加载在 JVM 里面了,接下来有个字节码校验器(告诉你的代码写的对不对),然后通过解释器街市给操作系统,这样这个程序就运行起来了。
反编译的过程:
jad.exe 进行反编译,
参数
-s 输出文件扩展名,后缀
-8 编码方式,支持中文
-d 指定文件存在的位置
jad -s .java -d e:/test -8 字节码文件.class
猿人仰望星空,解开宇宙的奥秘
确定一个目标,剩下的就是不断完善它,只要不停下脚步,就一定会完成!
本文来自博客园,作者:走马!,转载请注明原文链接:https://www.cnblogs.com/zou-ma/p/15460187.html
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术