1. 运行时和编译时有没有什么区别
运行时 编译连接并运行 大概意思检查错误并运行,如果错了,则返回重新编译,通过则运行
编译时 编译连接 检查错误,并不运行,不管对错,都返回编译状态.
关于SIZEOF()
SIZEOF() ()里加数据类型,则计算此数据类型所占的内存字节数.
如 SIZEOF( int ) 计算int型所占的内存字节数.
SIZEOF() ()里还可以加字符串或一个字符串数组,计算这个字符串的长度,即所占的内存字节数.
如 SIZEOF(abcd) 计算abcd这个字符串所占的内存字节数,
注意:
计算结果为5,字符型每个字符占一个字节,还有一个隐藏的\0,用来结束字符串的,所以要多加一个字节.
2. 编译错误和运行时异常怎么区分
编译错误 一般都是语法错误
运行时错误一般都是比如数组索引指向空值 4/0 这类错误
请参考
3. java运行时类型和编译时类型都是什么意思
运行时类型是 程序运行过程中再判断是什么类型,
编译时类型是 在写好代码后,编译时已经确定是什么类型了
4. C++中什么是编译时,什么是运行时,二者有何区别
编译阶段主要进行语法的检查,无误。将程序代码转换成目标代码(二进制表示,打开看不懂),没有和操作系统进行连接,不能运行。完成连接后,程序能够进入系统运行。
运行时,一定是编译过的,没有语法错误。编译时,没有生成目标文件,可能有语法错误。
5. 什么是运行时间和编译时间
运行时间,是指外设输入后,到计算机执行,再到输出设备的时间;
编译时间,是指CPU处理指令到反馈结果的时间。
6. 请问java程序在编译和运行时有什么区别,系统分别都会做什么
Java程序的编译
使用命令: javac *.java
编译时,会将写的.java文件(高级语言),生成相应的字节码文件.class文件(二进制代码)
Java程序的执行
使用命令:java *
流程: 加载到 -- 连接 ---- 初始化 ...
运行时,首先会由将相应的.class文件,加载到内存中,并验证.class文件的有效性,将相应类的Class加载到内存中,并对类中的静态变量进行初始化操作,然后就由 主 类开始执行
具体的可以看一下 JVM 类加载过程,以及jVM的内存分配机制
7. JAVA如何在运行时编译一个类
你的问题说得太不清楚了。。是不是问把修改后的java类编译好后,再发布到服务器上?
重新发布java类,服务器一般会自动重起,然后加载这个类。
8. 编译时分配内存和运行时分配内存
编译其实只是一个扫描过程,进行词法语法检查,代码优化而已,编译程序越好,程序运行的时候越高效。
我想你说的“编译时分配内存”是指“编译时赋初值”,它只是形成一个文本,检查无错误,并没有分配内存空间。
当你运行时,系统才把程序导入内存。一个进程(即运行中的程序)在主要包括以下五个分区:
栈、堆、bss、data、code
代码(编译后的二进制代码)放在code区,代码中生成的各种变量、常量按不同类型分别存放在其它四个区。系统依照代码顺序执行,然后依照代码方案改变或调用数据,这就是一个程序的运行过程。
9. 请问java中的编译期和运行期有什么区别
编译时是调用检查你的源程序是否有语法错误,如果没有就将其翻译成字节码文件。即.class文件。
运行时是java虚拟机解释执行字节码文件。
10. 什么是编译时和运行时
编译出错差不多就是语法不对,比如你写Stringstr='str';这么写语法不对编译就会出错。运行出错是指语法没问题但是逻辑有问题,比如一个方法传进一个String类型的变量str,方法体中有类似于str.equals("str");的语句,但是传进的str是个null,那么那一句就相当于null.equals("str");这肯定会抛空指针异常。用手机做例子,编译出错就是手机在生产的时候零件不对,那就肯定不能出厂。运行出错就是手机组装完出厂了,到手了你没用来打电话,直接拿来砸核桃了,那手机肯定报废(NOKIA除外)。