java培训吧 关注:116,359贴子:396,799

Java 平台中的 JVM 和 .Net 平台下的 CLR 分别是用什么语言写的

只看楼主收藏回复

以 JVM 为例,我知道因为 JVM 的存在,使得 Java 语言可以跨平台,可前提是 JVM 本身就必须跨平台啊,否则怎么在 JVM 中运行.class 字节码文件?


1楼2015-09-28 08:25回复
    天才与疯子只差一步,当不了天才就当疯子。


    2楼2015-09-28 08:31
    回复
      广告
      立即查看
      Java Class文件与.NET的Assembly文件格式都是公开的标准,其中的Java字节码与CIL(Common Intermediate Language)也都有公开的标准定义。这便于容纳多种不同的兼容实现。每个平台上的VM实现不需要源自同一份源码,只要它能接受标准格式的输入并相应实现标准中的程序语义即可。


      3楼2015-09-28 08:32
      回复
        racle/Sun HotSpot VM - 整体都是用C++实现的,只有非常少量的内嵌汇编。其中包括一个用C++实现的动态汇编器,HotSpot VM需要用汇编的地方多数是用这个在运行时汇编器生成的。


        4楼2015-09-28 09:02
        回复
          Oracle/BEA JRockit - 基本上是用C实现的,有少量汇编,另外有部分本来是VM内部的功能用Java来实现。


          5楼2015-09-28 09:15
          回复
            楼上说的对


            来自Android客户端6楼2015-09-28 09:38
            回复
              Oracle/Sun HotSpot VM - 整体都是用C++实现的,只有非常少量的内嵌汇编。其中包括一个用C++实现的动态汇编器,HotSpot VM需要用汇编的地方多数是用这个在运行时汇编器生成的。


              8楼2015-09-28 10:49
              回复
                Common Language Infrastructure (CLI)
                Microsoft CLR (Common Language Runtime) - 主体是C++,少量汇编
                Mono - 主体是C
                Microsoft Research Bartok - VM核心是用C#实现的,包括GC在内


                9楼2015-09-28 14:07
                回复
                  广告
                  立即查看
                  顶一个吧,看着挺不错的,有料,有资源,感觉是挺好的


                  10楼2015-09-28 14:12
                  回复
                    Oracle/Sun Squawk VM - VM大部分是用Java实现的,少部分用C实现。部署时用Java实现的部分会被编译成C然后跟用C实现的部分一起编译成最后的二进制可执行文件。


                    11楼2015-09-28 14:16
                    回复
                      楼主真好,我学习的就是软件工程专业,只学JAVA,都不用学C,但是我发现JAVA和很多连在了一起,我到现在都没弄明白HTML,JSPS的区别,怎么办


                      12楼2015-09-28 14:16
                      回复
                        看到这么多内容我瞬间崩溃了,这怎么学的完…我只想写点个人的自动评论,点赞的投票之类的小程序应该学什么?楼楼…
                        往往去


                        13楼2015-09-28 14:20
                        回复
                          本人本科毕业,感觉学历不怎么重要,重要的是知识和阅历,还有人的思想……以及一种学习和生活态度
                          0


                          14楼2015-09-28 14:23
                          回复
                            感谢楼主 我只是水个经验,不要介意哈


                            15楼2015-09-28 14:26
                            回复