导航:首页 > 源码编译 > 编译期和运行期的区别java

编译期和运行期的区别java

发布时间:2022-07-18 14:50:03

1. java编译时注解和运行时注解有什么区别

区别如下:
1)编译时注解,注解内容只存在源文件,在编译期间将被丢弃,不能通过JVM获取注解信息;
2)运行时注解,编译时被存储在.class字节码文件,可以通过JVM运行时获取注解信息(且只限于被RUNTIME注解的注解)。

2. 求教JAVA编译与运行的区别。

编译只是编译成了字节码,就是可执行的.class文件
运行时识别,主要是java的RTTI(运行时类型识别)机制和反射机制,而两者之间的区别在于:
”对RTTI来说,编译器在编译期打开和检查.class文件。(换句话说,我们可以用“普通”的方式调用一个对象的所有方法。),而对于反射机制来说,.class文件在编译期是不可获取的,所以是在运行期打开和检查.class文件。“
但是同样的,反射也需要加载这个类的Class对象,所以那个类的class对象对于jvm必须是可取的的,比如在本地机器上,或者通过网络取得,比如取得一串字节串。
具体的内容可以参考《Thinking
in
java》的”类型识别“那一章,讲的比较详细的

3. JAVA中有哪些东东是编译期运行和运行期运行的

我的理解是:编译器运行的东东是代码是否否何规范,类似于你写个void写错了写成vod这时编译器就会报错提醒你;
而运行期运行的就是代码的逻辑关系了,比如说你使用一个数组,未对他进行初始化分配空间,运行时就会出现空指针异常。
理解的较浅,不知能否帮到你。

4. 请问java中的编译期和运行期有什么区别

编译期和运行期进行的操作是不相同的,编译器只是进行语法的分析,分析出来的错误也只是语法上的错误,而运行期在真正在分配内存··
比如说你写一个while循环,一直往栈里写,编译器是不会出错的,可是运行期就会出现栈满的错误··

5. java中是什么时候分配内存编译期还是运行期

这肯定是运行期
编译的时候,跟内存都没关系,完全是java代码转成字节码的过程,你写的代码没有任何计算、运行,所以根本谈不上内存的分配。

6. Java中类加载出现在哪个阶段,编译期和运行期 类加载和类装载是一样的吗

使用的类,编译/运行时都会被加载。

加载/装载没有区别,翻译的词汇选择因人而异了

运行 javac /java 时 加上 -verbose 选项就可以看到了。

7. java编译和运行。

首先cd到你java文件存放的目录,比如你的java文件的名称为helloworld.java,在cmd中输入javac
helloworld.java
敲击回车,这个命令会将你的java文件编译成class文件,然后在cmd框中输入java
helloworld敲击回车就能运行你的java文件输出结果

8. 请高手解释下java编译期错误与运行期错误

编译错误就是编译时候报的错,你写的java程序总不能马上就跑,先要编译成class吧,如果我写的程序是“我是大笨蛋”,那当然是不符合语法的,于是编译器会报错。如果我写的语法是正确的,那么编译器就会把他转换成适当的class文件,然后你就可以运行了,运行中再出错就是运行错误了。

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

Java程序的编译
使用命令: javac *.java
编译时,会将写的.java文件(高级语言),生成相应的字节码文件.class文件(二进制代码)
Java程序的执行
使用命令:java *
流程: 加载到 -- 连接 ---- 初始化 ...
运行时,首先会由将相应的.class文件,加载到内存中,并验证.class文件的有效性,将相应类的Class加载到内存中,并对类中的静态变量进行初始化操作,然后就由 主 类开始执行
具体的可以看一下 JVM 类加载过程,以及jVM的内存分配机制

10. Java之运行时异常与编译时异常区别

Java中用2种方法处理异常:

1.在发生异常的地方直接处理;

2.将异常抛给调用者,让调用者处理。

Java常见的异常:

(1)编译时异常:Java.lang.Exception

(2)运行期异常:Java.lang.RuntimeException

Java.lang.Exception和Java.lang.Error继承自Java.lang.Throwable;

Java.lang.RuntimeException继承自Java.lang.Exception.

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

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

阅读全文

与编译期和运行期的区别java相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:573
python员工信息登记表 浏览:373
高中美术pdf 浏览:156
java实现排列 浏览:510
javavector的用法 浏览:978
osi实现加密的三层 浏览:229
大众宝来原厂中控如何安装app 浏览:909
linux内核根文件系统 浏览:238
3d的命令面板不见了 浏览:520
武汉理工大学服务器ip地址 浏览:143
亚马逊云服务器登录 浏览:520
安卓手机如何进行文件处理 浏览:68
mysql执行系统命令 浏览:925
php支持curlhttps 浏览:141
新预算法责任 浏览:442
服务器如何处理5万人同时在线 浏览:246
哈夫曼编码数据压缩 浏览:421
锁定服务器是什么意思 浏览:382
场景检测算法 浏览:615
解压手机软件触屏 浏览:345