JAVA的编译时错误和运行时错误_java中的compile time errer-程序员宅基地

技术标签: java学习笔记  

1. 要区分编译时错误和运行时错误,就应该先明白什么是编译?什么是运行?
首先,先看一下这张图:
这里写图片描述

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

public class Test{
           public void main(String[] args){
                      System.out.println("Hello world");
                      }
              }

结果:编译无错误,但运行时产生异常。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39975542/article/details/81367119

智能推荐

利用Navicat快速将数据库数据传输到另一个数据库方法(图文)_navicat怎么将数据库复制到另一个数据库-程序员宅基地

文章浏览阅读4.8k次,点赞2次,收藏7次。数据传输到另一个数据库,把数据库stock中的数据传输到数据库hhhhhh中。3、勾选你想要传输的数据,这里选择所有数据,选择完成后,点击 下一步。这里演示的是利用Navicat,快速将。2、选择目标、源数据库,点击 下一步。4、点击 开始,即可开始传输。选项卡,点击 数据传输。_navicat怎么将数据库复制到另一个数据库

硬件:台式机老式键盘知识科普_老式键盘插口圆孔怎么插-程序员宅基地

文章浏览阅读5.9k次。一般情况下,台式电脑的键盘插头大多为圆形的PS/2接口,在使用中发现,经常有人因移动电脑后,重新插入键盘却发现键盘不起作用了,后来经过我们检查发现这些键盘多数已被错误的插拔造成永久损坏,只..._老式键盘插口圆孔怎么插

SparkSql中不能使用select($“name“, $“age“ + 1)报错的问题解决_spark select中的$什么意思-程序员宅基地

文章浏览阅读2k次。背景在进行sparksql编程的时候,使用select($"name", $"age" + 1)会出险报错的情况,目的参数Column类型,但是报错如下图​版本:<scala.version>2.11.8</scala.version><spark.version>2.2.0</spark.version><scala.compat.version>2.11</scala.compat.version>.._spark select中的$什么意思

详细的AT指令集_at命令集-程序员宅基地

文章浏览阅读734次。1.通用指令AT+CGMI厂家认证请求,返回模块厂家信息AT+CGMM模式认证请求,返回模块使用频段AT+CGMR修正认证请求,返回软件版本AT+CGSN查看产品IMEI序列号AT+CSCS选择TE特性设置AT+WPCS选择ME特性设置AT+CIMIIMSI认证请求,返回SIM卡的IMSIAT+CCID获得_at命令集

一个人把数学建模比赛打完 520特辑-程序员宅基地

文章浏览阅读769次。数学建模单人速通_一个人把数学建模比赛打完

P1093 [NOIP2007 普及组] 奖学金-程序员宅基地

文章浏览阅读251次,点赞4次,收藏7次。(本题为洛谷的P1093)

随便推点

J2EE学习(1)—jsp的基础知识汇总_j2ee jsp 的准备知识-程序员宅基地

文章浏览阅读349次。一、EL(expression language) EL提供了在JSP脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指页面中能够用于在JSP文件中嵌套java代码的元素。它们通常用于对象操作以及执行那些影响生成内容的计算。 其语法结构如下: `${sessionScope.user.name}`上述表达式的意思是在session范围中找到user对象的name属性_j2ee jsp 的准备知识

关于MD5加密中byte数组转换成16进制字符串的研究_md5转16进制-程序员宅基地

文章浏览阅读7.3k次,点赞2次,收藏9次。简介:三种md5加密,主要区别在于将md5加密后的byte数组转换为16进制字符串的方式。1.第一种,使用bigInteger进行转换 public static String md5Encrypt(String src){ try { //获取md5算法 MessageDigest md5Digest = MessageDige_md5转16进制

如何在string.xml的内容中添加空格_string.xml文件添加空格-程序员宅基地

文章浏览阅读2.1k次。如何在string.xml的内容中添加空格  在strings.xml定义文字时,空格以 " " 表示_string.xml文件添加空格

银河麒麟服务器v10 sp1 .Net6.0 上传文件错误 access to the path is denied_psd access to the path '\xx.psd' is denied. file.c-程序员宅基地

文章浏览阅读957次。NET 6之前,在Linux服务器上安装 libgdiplus 即可解决,libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者,是开源mono项目。需要注意的是apt-get update 这一步是必不可少的,不然会报找不到 libgdiplus。而且因为是官方镜像,用的是Debain10构建的docker镜像,在编译运行构建时会非常慢。说明当前用户权限不够,所以要使用chmod,将wwwroot文件夹授权:chmod 777 wwwroot。_psd access to the path '\xx.psd' is denied. file.copy overwrite

光电池和光电二极管的区别_硅光电池-程序员宅基地

文章浏览阅读7.4k次,点赞3次,收藏22次。光电池和光电二极管的区别  光电池概述  光电池(photovoltaic cell,注意photocell一般指光敏电阻),是一种在光的照射下产生电动势的半导体元件。它是是能在光的照射下产生电动势的元件。用于光电转换、光电探测及光能利用等方面。  光电池是能在光的照射下产生电动势的元件。用于光电转换、光电探测及光能利用等方面。人们最早发现和应用的是硒光电池。它的原理是硒在光作用下产生电子被电极收集而产生电动势。后来又发现和应用了各种半导体材料的光电池,如硅光电池、硫化银电池等..._硅光电池

kali 使用 msf通过sm17_010漏洞拿到Windows shell_sm17-010-程序员宅基地

文章浏览阅读345次。3、找到msf的工具目录,进入smb_ms17_101漏洞利用模块,使用search ms17_010查看可用模块、使用show optionsc查看可支持命令与参数。1、nessus扫描目标系统的IP拿到系统漏洞信息(存在ms11_030、ms17_010、ms16_047漏洞),本教程以ms17_010为例讲解。serach vce:VCE-2017-8464 type:exploit # 查找漏洞VCE-2017-8464的利用方法与模块。modules:存储metasploit的模块文件。_sm17-010

推荐文章

热门文章

相关标签