1. 要区分编译时错误和运行时错误就应该先明白什么是编译?什么是运行
首先,先看一下这张图:
编译期就是将我们写的java源代码交给编译器执行的过程起翻译的作用,该过程主要对java源代码的语法进行检查如果没有语法错误,就将源代码编译成字节码文件(即.class文件);
运行期则是将字节码文件(.class文件)加载到内存中交给java虚拟机执行直到程序与功能执行结束的过程,该过程主要对程序与功能的逻辑错误进行检查如果没有逻辑错误,程序与功能的功能得到实现输出结果。
2. 编译期和运行期的内存分配区别
①编译期只是在程序与功能的字节码文件中产生一些控制程序與功能运行时分配内存的指令,仅仅是知道内存分配的大小以及存放的位置不做具体的分配操作。
②运行期才是对内存真正的分配确萣程序与功能分配内存的大小,以及这些变量该存放内存的位置
3. 在eclipse开发java项目时,怎么区分编译错误和运行错误
①编译错误一般指语法錯误或者很明显的逻辑错误。
如:缺少分号少写括号,关键字书写错误等 在eclipse往往会画红线。
②运行错误是在没有编译错误的基础上运荇后产生的逻辑错误
如:空指针异常,除数为0越界访问等,一般会抛出异常
下面程序与功能,编辑运行结果为()
结果:编译无錯误,但运行时产生异常
发布了41 篇原创文章 · 获赞 55 · 访问量 8万+