Java的编译时错误&&运行时错误

简单介绍:

1. 要区分编译时错误和运行时错误,就应该先明白什么是编译?什么是运行?

首先,先看一下这张图:

编译 java 项目 运行报错 java编译出错和运行出错_编译器

解释:

编译时错误:编译期就是将我们写的java源代码交给编译器执行的过程,起翻译的作用,该过程主要对java源代码的语法进行检查,如果没有语法错误,就将源代码编译成字节码文件(即.class文件);

运行时错误:运行期则是将字节码文件(.class文件)加载到内存中交给java虚拟机执行,直到程序执行结束的过程,该过程主要对程序的逻辑错误进行检查,如果没有逻辑错误,程序的功能得到实现,输出结果。

错误的实例区别:

编译时错误:

编译期和运行期的内存分配区别。

①编译期只是在程序的字节码文件中产生一些控制程序运行时分配内存的指令,仅仅是知道内存分配的大小以及存放的位置,不做具体的分配操作

②运行期才是对内存真正的分配,确定程序分配内存的大小,以及这些变量该存放内存的位置。