我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:刘伯温论坛 > 分别编译 >

请问java程序在编译和运行时有什么区别系统分别都会做什么?

归档日期:05-27       文本归类:分别编译      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  编译时,会将写的.java文件(高级语言),生成相应的字节码文件.class文件(二进制代码)

  运行时,首先会由将相应的.class文件,加载到内存中,并验证.class文件的有效性,将相应类的Class加载到内存中,并对类中的静态变量进行初始化操作,然后就由 主 类开始执行

  编译时异常(修正下: RuntimeException应该是 运行时异常 2014-01-11修改): 程序正确,但因为外在的环境条件不满足引发。例如:用户错误及I/O问题----程序试图打开一个并不存在的远程Socket端口。这不是程序本身的逻辑错误,而很可能是远程机器名字错误(用户拼写错误)。对商用软件系统,程序开发者必须考虑并处理这个问题。Java编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。

  运行期异常: 这意味着程序存在bug,如数组越界,0被除,入参不满足规范.....这类异常需要更改程序来避免,Java编译器强制要求处理这类异常。

  小弟不才,笼统点说,编译是把我们写的java语言编译成一种过渡语言给机器识别(电脑是不会直接看懂你写的java语言的,中间需要一个转换过程,可以理解成是编译的作用),例如会生成*.class等这些文件,而运行就是执行编译后的那些文件。。应该大概就是这样

本文链接:http://saltstudios.net/fenbiebianyi/418.html