本站主要采用城通网盘链接分享,因为其他网盘会和谐链接!非VIP会员的朋友请点击普通下载,弹窗关闭即可。速度可能比较慢,请耐心等待,提高下载速度,送您10元消费红包。
内容简介:
In The Art and Science of Java, Stanford professor and well-known leader in CS Education Eric Roberts emphasizes the student-friendly exposition that led to the success of The Art and Science of C. By following the recommendations of the Association of Co
The Art and Science of JAVA》学习笔记之JAVA运行机制简介
高级语言如C、C++、C#、JAVA等并不能直接被机器所认识。也就是说机器是不懂你写的那些高级语言的代码的,当然也不知道怎么去执行你所写的那一串字符。高级语言所写出来的程序要被机器所认识并执行的话就必需将其翻译为只有0和1两个数字所组成的机器码,因为机器就只认识0和1这两个数字而已。
要实现高级代码被机器执行的话,在传统上有两种做法。一是通过编译器将代码翻译为机器所认识的机器码,二是将代码翻译成一种中间码,这种中间码与平台即机器无关,只有在运行时才通过某一种类似翻译器的东西将转化成机器所认识的语言。
C、C++等语言采用的是第一种做法。一个传统的C++程序会首先编译成目标文件(后缀为obj),这种目标文件包含了针对目标平台能够识别的指令集,然后通过链接与系统的库文件(里面包含了程序中各种语句所对应的机器码)结合产生最终可执行的EXE文件。这种编译方法决定了其最终生成的EXE文件不能够拥有跨平台的特性。比如说,将一个在Windows系统上编译的EXE程序放在拥有不同底层架构的Mac系统上是绝对不可能运行成功的,必须重新进行编译链接才可以。
Java采用的则是第二种方法。编译时,Java编译器会将Java代码翻译为一种二进制中间文件,该文件具有平台无关性,后缀为class。这个class文件之后会与它运行时所需要的各种库文件(也是class格式)打包在一起形成以jar为后缀的文件。该文件的运行需要Java虚拟机的支持才能实现。运行时Java虚拟机会把需要用到的部分翻译成相应适用于该平台的机器代码,而不是利用软件对其进行模拟,以提高程序运行的效率。当然,这个特性也决定了Java语言的执行效率不可能会比得上用C或C++写出来的相同程序。不过,也正由于这点,Java能够实现跨平台的强大功能。只要目标平台装有Java虚拟机就能够执行Java程序。这也即是Java号称的“Compile once, run everywhere.”
下载地址:
图书库tbookk.com_The.Art.And.Science.Of.Java.pdf:
http://xz.tbookk.com/f/560517-957349620-969b0f?p=311929
(访问密码: 311929)