请问高手,这句话怎么理解?

zheng5233 2011-08-16 12:28:04
Java有一个无庸置疑的优点:用户以及编译器第一次不必了解生成可执行代码的特定CPU细节。
...全文
123 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanwei1987 2011-08-16
  • 打赏
  • 举报
回复
说明 JAVA编译后的中间语言和CPU无关,和这台机子的java虚拟机有关

不知道我理解的对不对
LMAOhuaNL 2011-08-16
  • 打赏
  • 举报
回复
C,C++等语言,都是只能对特定的CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CUP有关

.Java不像C++,它不针对特定的CPU芯片进行编译,而是把程序编译为称做字节码的一个“中间代码”。字节码是很接近机器码的文件,可以在提供了 Java 虚拟机 JVM 的任何系统上被解释执行。Java 被设计成为解释执行的程序,即翻译一句,执行一句,不产生整个的机器代码程序。翻译过程如果不出现错误,就一直进行到完毕,否则将在错误处停止执行。同一个程序,如果是解释执行的,那么它的运行速度通常比编译为可执行的机器代码的运行速度慢一些。但是,对Java来说,二者的差别不太大,Java的字节码经过仔细设计,很容易便能使用JIT 即时编译方式 编译技术将字节码直接转化成高性能的本地机器码
「已注销」 2011-08-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lmaohuanl 的回复:]
C,C++等语言,都是只能对特定的CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CUP有关

.Java不像C++,它不针对特定的CPU芯片进行编译,而是把程序编译为称做字节码的一个“中间代码”。字节码是很接近机器码的文件,可以在提供了 Java 虚拟机 JVM 的任何系统上被解释执行。Java 被设计成为解释执行的程序,即翻译一句,执行一句,不产生整个的机器代码程序。翻译过程如果不……
[/Quote]

同上 学习了
zheng5233 2011-08-16
  • 打赏
  • 举报
回复
那太辛苦你啦,不过,那个网络的确很坑爹啊,简直就是浪费时间和精力
[Quote=引用 5 楼 ruanwei1987 的回复:]
LZ 看看中间语言这一块吧,我了个擦,给你写了好多,网络不好没发上去
[/Quote]
Tulipfly 2011-08-16
  • 打赏
  • 举报
回复
google一下吧
诺维斯基 2011-08-16
  • 打赏
  • 举报
回复
coder_s 2011-08-16
  • 打赏
  • 举报
回复
IL 回复内容太短了!
xin4036 2011-08-16
  • 打赏
  • 举报
回复
因为java在虚拟机上运行(Jvm)

“一次编译,多处运行”也就是由于这个 JVM
ruanwei1987 2011-08-16
  • 打赏
  • 举报
回复
LZ 看看中间语言这一块吧,我了个擦,给你写了好多,网络不好没发上去
ruanwei1987 2011-08-16
  • 打赏
  • 举报
回复
我X 我写那么多 竟然没发出去啊,
什么网络,什么人品啊
zheng5233 2011-08-16
  • 打赏
  • 举报
回复
可以具体点吗?
[Quote=引用 2 楼 ruanwei1987 的回复:]
说明 JAVA编译后的中间语言和CPU无关,和这台机子的java虚拟机有关

不知道我理解的对不对
[/Quote]

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧