java编译和运行

Java语言的一大卖点是它的“一次编写,随处运行”哲学。
▪也就是说,应该可以在Linux机器上编译Java程序,但在Windows或Solaris机器上运行它而不做任何修改。
▪这是通过使用一组由Java虚拟机(JVM)解释的标准字节码来实现的。
▪由于Java的安全特性,有可能限制Java程序执行的环境,因此允许执行不受信任的程序,而不用担心损害主机。
Java类的目标文件格式称为类文件,其后缀为.class。与机器无关的字节代码,用于描述程序流,而不是直接编译为本 地机器代码。需要一个Java虚拟机(JVM)来加载和解释这些字节码,尽管JVM可能在实际执行程序之前首先将它们转换为本机代码。使用javac命令将Java源文件转换为类文件。
Java可执行程序
Java 语言是动态进行类的加载,在运行时根据需要,类会被加载入内存。
Java程序只是一个动态库的集合,尽管单个类一次加载一个,而不是作为更大的共享库的一部分加载。
Java程序需要执行两件事:- JVM必须提供包含主方法的类的名称。这将用作执行的起点。JVM还必须提供一个类路径,用于标识附加类的位置。在这里插入图片描述
编译期就是将我们写的java源代码交给编译器执行的过程,起翻译的作用,该过程主要对java源代码的语法进行检查,如果没有语法错误,就将源代码编译成字节码文件(即.class文件);
运行期则是将字节码文件(.class文件)加载到内存中交给java虚拟机执行,直到程序执行结束的过程,该过程主要对程序的逻辑错误进行检查,如果没有逻辑错误,程序的功能得到实现,输出结果。
2. 编译期和运行期的内存分配区别。
①编译期只是在程序的字节码文件中产生一些控制程序运行时分配内存的指令,仅仅是知道内存分配的大小以及存放的位置,不做具体的分配操作。②运行期才是对内存真正的分配,确定程序分配内存的大小,以及这些变量该存放内存的位置。
3. 在eclipse开发java项目时,怎么区分编译错误和运行错误?
①编译错误一般指语法错误或者很明显的逻辑错误。
如:缺少分号,少写括号,关键字书写错误等, 在eclipse往往会画红线。
②运行错误是在没有编译错误的基础上运行后产生的逻辑错误。
如:空指针异常,除数为0,越界访问等,一般会抛出异常。

public class Test{

           public void main(String[] args){
                      System.out.println("Hello world");//run error,运行错误,缺少static
                      }
              }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值