『壹』 为什么java是解释型语言

所谓编译型是能生成一种机器能直接运行的代码,就象C++
解释型的是就只有源代回码,不进行编答译,直接用解释器来执行。
Java编译成的class文件被设计为能在某种机器上能直接运行,如果真的能有这样的机器,就能直接运行class文件,而.class就是该机器上能直接运行的文件类型。
就象windows上的exe,如果想在windows上运行其他操作系统上的程序,就要一个模拟器,也就是虚拟机, Java也是一样的。
所以我还是觉得Java应该是编译型的。

『贰』 java语言解释

public class WhileDemo {
public static void main(String[] args) {
String FormMe="Cory this string until you encounter the letter'g'.";//定义一个字符串
StringBuffer ToMe=new StringBuffer();//建立一个stringbuffer
int i=0;//设定初始i
char c=FormMe.charAt(i);//获取字符串中i位置char
while(c!='g'){//循环 当获取的char不为g时一直循环
ToMe.append(c);//在stringbuffer中增加获取到的char
c=FormMe.charAt(++i);//设定cwei字符串中中下一个char
}
System.out.println(ToMe);//打印stringbuffer中的字符串
}
}

『叁』 java是解释型语言吗

1.class文件中不是机器语言,是经过编码的8位字节二进制流(注意虽然表示方法都似乎一样的,但是语义是不一样的,class文件有自己的编码格式),数据项按顺序存储在class文件中,向另的项之间没有任何间隔,使得class文件紧凑。其占据多个字节空间的项按高位在前的顺序分为几个连续的字节存放。其实java语言与class文件具有非排他性,两者之间没有必然的联系(当然,普遍认为有联系)。

2.不同的平台下虚拟机的细节实现不一样,这就使得它解释执行的class文件能够适应不同的平台。

3.使用虚拟机会减少代码的执行效率,要增强generalization(对不同平台的支持)就必须减少specilization(对某一平台的优化),鱼与熊掌不可兼得的。

-----------------------PS分割线---------------------------
PS:如果你对java的原理更感兴趣的话,关于更多的讲解可以看看Bill Venners的《深入Java虚拟机》,很有用处,虽然只是讲到java 1.2,但是基本原理都差不多的。
PS PS:class文件的开头部分都是一个称作魔数的段,其内容为0xCAFEBABE。

『肆』 java是解释性编程语言吗

java compile 只是把source编译成jvm可辨识的中间代码,程序运行时,jvm再把代码根据不同的cpu,不同的os,解释成相应的机器码。所以java能跨平台

『伍』 Java解释语言怎么用

这东西叫Annotation(注解),写起来和一般java类没太大区别,给你篇文章。
http://blog.csdn.net/rainlight/article/details/611863

『陆』 JAVA是解释型语言还是编译型语言

有些答案对JAVA的理解还停留在上古时代或者教科书里。其实,现在用编译型、解释型来分类编程语言已经有点力不从心了。JAVA的第一道工序是javac编译,当然目标文件是BYTECODE。后续可能有三种处理方式:1. 运行时,BYTECODE由JVM逐条解释执行,2. 运行时,部分代码可能由JIT翻译为目标机器指令(以method为翻译单位,还会保存起来,第二次执行就不用翻译了)直接执行;3. RTSJ。继JAVAC之后执行AOT二次编译,生成静态的目标平台代码(典型的就是IBM WEBSHPERE REAL TIME)。有的时候,可能是以上三种方式同时在使用。至少,1和2是同时使用的,3需要程序员手工指定。所以讨论语言得更细化一点了,强类型的、弱类型的,静态的、动态的,GC-based的、手工管理内存的,有没有VM...

『柒』 java是编译型语言还是解释型语言

概念:

编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。

解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!

区别:

编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、 Pascal,Fortran。

解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、Basic.

通俗的讲,编译语言是在编译后可以直接运行,而解释语言的执行需要一个解释环境。

java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码。

JIT:

首先采用编译形式生成某种中介代码(Java bytecode/MSIL),然后在运行时将其(通常以函数或Block为单位)最终转换成机器码,然后执行,转化的机器码可以被cache,以提高重复执行的效率

JAVA的第一道工序是javac编译,当然目标文件是BYTECODE。后续可能有三种处理方式:
1. 运行时,BYTECODE由JVM逐条解释执行,
2. 运行时,部分代码可能由JIT翻译为目标机器指令(以method为翻译单位,还会保存起来,第二次执行就不用翻译了)直接执行;
3. RTSJ。继JAVAC之后执行AOT二次编译,生成静态的目标平台代码(典型的就是IBM WEBSHPERE REAL TIME)。

『捌』 JAVA语言是解释型还是编译型语言

java的编译器先将其编译为class文件,也就是字节码;然后将字节码交由jvm(java虚拟机)解释执行;
所以很多地方都说“java是一种半编译、半解释执行”的语言;
近来(其实也不是很"近")Oracle的(以前是Sun的)HotSpot VM采用了jit compile(just in time compilation)技术,将运行频率很高的字节码直接编译为机器指令执行以提高性能, 所以当字节码被jit编译为机器码的时候,要说它是编译执行的也可以...
不过总体来讲,java的编译结果是被jvm“解释执行”的,所以这么说也能说通,而其实这个“是编译还是解释”这个概念在这里已经有点模糊了,理解它的过程就行了,不必下一个“精确”的定义;
而我自己仍然赞成“java是编译型语言”的说法,因为“编译”其本质就是“把一个相对高级的语言转换为另一个相对低级的语言”,而由java -> class文件的编译已经满足了这个特征; 而后面你要说jvm是“解释执行”的,那其实硬件对于机器码又何尝不是“解释执行”呢?

『玖』 为什么java是解释型语言

需要虚拟机在实时解释java的字节码来运行。
JVM虚拟机不是直接运行所在硬件架构的指令集比如x86.
编译语言必须把源码编译成硬件的指令集,java不是,所以java是解释的。

『拾』 为什么说Java是一种解释性语言

你们抄老师是让你这样回答的.
1.java是由java源代码编译成字节码存放在
.class文件中的.
而执行时,是由java虚拟机(jvm)读取字节码文件翻译并执行的.
所以java是解释性的
像这样答,老师肯定说,嗯,不错.就是这个意思.