HelloWorld.java程序

  1. 新建HelloWorld.java
    【注意】系统可能没有显示文件后缀名,需要手动打开
  2. 编写代码
public class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello, world!!!");
	}
}
  1. 编译代码
javac HelloWorld.java
  1. 运行代码
java HelloWorld

编译及运行如下图:
程序运行

可能遇到的问题

  1. 注意大小写Java大小写敏感
  2. 尽量使用英文
  3. 文件名和类名必须保证一致,并且首字母大写
  4. 符号必须为英文,如()、;等

Java的加载与执行

Java的加载与执行

Java程序流程总览

Java 代码的执行是「静态编译→动态加载→内存运行→资源销毁」的完整链路,核心分为四大阶段:

  1. 编译阶段:.java 源文件 → .class 字节码文件(javac 编译器完成);
  2. 类加载阶段:.class 文件 → JVM 内存(方法区 / 堆)中的类对象(类加载器 + JVM 核心机制完成);
  3. 运行阶段:JVM 执行引擎执行字节码(解释执行 + JIT 编译优化);
  4. 销毁阶段:线程终止 / GC 回收 / 虚拟机退出,释放内存资源。

main方法

public static void main(String[] args)
// public:访问权限是最大的
// static:随着类的加载就已经存在了
// void:没有具体返回值
// main:不是关键字,但是可以被JVM识别
// String[] args:函数的参数,表示字符串类型的数组
  • main:主函数、程序入口
  • 核心作用:保证类的独立运行能力,是Java虚拟机调用程序的入口点
  • 执行机制:JVM会先检查指定类中是否存在main函数,若存在则逐行执行其中代码,否则会抛出NoSuchMethodError异常

执行class文件

  • 只有.class文件,要使用此class文件,需要在classpath中追加该路径,如果classpath没有.,需要追加,表示当前路径
  • 然后在命令行窗口执行【java class文件名】,即可执行该class文件

语言类型

编译型

  • 通过编译器(compiler)将源代码编译成机器码, 一般需经过编译(compile)、链接(linker)这两个步骤。
  • 编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件
  • 优点: 执行效率高。可以脱离语言环境独立运行。
  • 缺点: 修改后需要重新编译。移植性差
  • 代表语言:C、C++、Pascal、Object-C

解释型

  • 使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行
  • 优点: 移植性强,只要平台提供相应的解释器,就可以运行源代码。
  • 缺点:每次运行都需要将源代码解释称机器码并执行,效率较低
  • 代表语言: JavaScript、Python、PHP、Perl、Ruby

混合型

  • 既然编译型和解释型各有缺点就会有人想到把两种类型整合起来,取其精华去其糟粕。就出现了半编译型语言。比如C#,C#在编译的时候不是直接编译成机器码而是中间码.NET平台提供了中间语言运行库运行中间码,中间语言运行库类似于Java虚拟机.net在编译成IL代码后,保存在dll中,首次运行时由JIT在编译成机器码缓存在内存中,下次直接执行。微软政策限制了C#的推广,C#不开源。
  • Java生成字节码再在Java虚拟机中解释执行
  • 严格来说混合型语言属于解释型语言。C#更接近编译型语言。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐