大家好,今天小编关注到一个比较有意思的话题,就是关于j***a属于汇编语言的问题,于是小编就整理了4个相关介绍j***a属于汇编语言的解答,让我们一起看看吧。

  1. java编译器用什么语言写的?
  2. 为什么计算机能运行用汇编语言和高级语言编写的程序?
  3. Java可以像C++内嵌汇编语言一样,内嵌Java字节码吗?
  4. 方舟能够编译的语言有哪些?java,c++,C还是Python?

j***a编译器用什么语言写的?

编译器本身就是一个应用程序,编译器涉及到底层的一些操作,对执行要求比较高的地方使用汇编语言编写的,主要的还是用C语言来编写实现的,在J***a的安装路径下的bin目录下有很多的*.exe可执行文件,像jar.exe、j***ac.exe、j***a.exe等等,J***a编译器这东西它好像不是开源的,如果你对编译器的实现感兴趣的话,推荐你看一本《编译原理》这本书,这本书对你了解编译器的实现原理有很大的帮助的。

java属于汇编语言-java属于汇编语言还是高级语言
(图片来源网络,侵删)

为什么计算机能运行用汇编语言和高级语言编写的程序?

汇编语言或高级语言编写的程序,在运行之前,会通过编译器编译成计算机可以识别的二进制代码。

编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。

java属于汇编语言-java属于汇编语言还是高级语言
(图片来源网络,侵删)

源代码一般为高级语言 (High-level language), 如Pascal、C、C++、J***a、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

J***a可以像C++内嵌汇编语言一样,内嵌J***a字节码吗?

谢谢邀请!

java属于汇编语言-java属于汇编语言还是高级语言
(图片来源网络,侵删)

J***a语言不提供像C的内联汇编一般的源码内嵌字节码的功能。

同时,虽然J***a字节码能比J***a语言稍微多做一些事情,但在性能方面没有什么是用字节码能达到而J***a源码做不到的。J***a字节码基本上可以看作J***a语言的抽象语法树(AST)的序列化形式,两者的抽象程度差别不大。

题主有兴趣的话可以试试给出一些题主认为内嵌字节码能带来性能优势的例子,我可以试试把它们表达为等价的J***a源码。

关于字节码到源码的对应关系,请参考另一个回答:如何理解ByteCode、IL、汇编等底层语言与上层语言的对应关系? - RednaxelaFX 的回答

方舟能够编译的语言有哪些?j***a,c++,C还是Python?

谢谢邀请,所有语言都可以的。细节接下来说。

首先,明确一点,安卓系统基本操作。除了华为、苹果之外其他手机厂商也基本用安卓系统。简单点说,就是用J***A虚拟机编程(高级语言),再用J***A虚拟机汇编(汇编语言),再编译成机器懂的二进制(机器语言)。 虚拟机始终绕不开、都是虚拟机进程,而且不同公司虚拟机、程序编写软件和习惯不同,必须一行行地汇编、编译、执行,每部分都有头有尾,就相当于把名著改变成若干集电视剧。

方舟编译器的逆天操作。华为这款编译器将上述汇编、编译功能合为一体,成为华为统一标准,本质是创新型的安卓应用编译器。不管是哪家编的程序(高级语言),用华为编译器,可以统一地汇编、编译,统一给安卓系统执行(机器语言)。就相当于把名著改成一部电影,只有一个开头结尾,是一个整体。这么做有一个前提,就是兼容适用于安卓的所有开发语言、汇编表、编译表,在此基础上自己重新汇编、编译,整合成为华为自己的标准。这个工作量和难度是相当惊人的。

我给你举一个例子,现在的安卓用操作是是从底部开始,然后到安卓系统,再到各大手机软件程序,再到安卓本身的编译器,因为安卓是一个开放的平台,对于软件的程序没有一个统一的标准,就好象有人说的是上海话,有人说的是宁波话,虽然都是中国话但每次操作都需要安卓的编译器来翻译一下。这样就降低了系统的操作速度。

而方舟编译器是把手机软件在做好后直接翻译完成放在手机里,客户用的时候就不用从底部,再到安卓,再到软件,再到编译器了。从底部,到安卓,再到方舟编译器就可以了。省了一个步骤。

方舟编译器的强大之处就好象说话,以前你说的宁波话,然后由翻译进行口译,现在你再说宁波话话筒放出来的就直接是普通话。

苹果系统的强大之处在于他们的系统有统一的标准,就好象所有软件商必须用普通话来编译程序,不用翻译,所以苹果的系统流畅度高于安卓。所以方舟编译器确实能提升安卓速度,可不是那种改几个图标,给安卓瘦个身的那种改动。至于方舟编译器牛不牛就仁者见仁的事了。


到此,以上就是小编对于j***a属于汇编语言的问题就介绍到这了,希望介绍关于j***a属于汇编语言的4点解答对大家有用。