大家好,今天小编关注到一个比较有意思的话题,就是关于java语言同于的问题,于是小编就整理了2个相关介绍Java语言同于的解答,让我们一起看看吧。
JAVA和JavaScript是同种语言吗?哪个好?
虽然J***aScript与J***a有紧密的联系,但却是两个公司开发的不同的产品。J***a是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而J***aScript是Netscape公司的产品,其目的是为了扩展Netscape N***igator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是Live Script;而J***a的前身是Oak语言。下面对两种语言间的异同作如下比较:
1.基于对象和面向对象 J***a是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。J***aScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和***驱动(Event Driver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。
2.解释和编译 两种语言在其浏览器中所执行的方式不一样。J***a的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。 J***aScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。
3.强变量和弱变量 两种语言所***取的变量是不一样的。J***a***用强类型变量检查,即所有变量在编译之前必须作声明。
4.代码格式不一样 J***a是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。J***aScript 的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。
5.嵌入方式不一样 在HTML文档中,两种编程语言的标识不同,J***aScript使用来标识,而J***a使用来标识。
6.静态联编和动态联编 J***a***用静态联编,即J***a的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。J***aScript***用动态联编,即J***aScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。
J***a为什么可以在多个平台上运行?
J***a两种核心机制,第一个就是J***a虚拟机(JVM)我们程序员编写源代码,也就是.j***a文件,然后必然要编译成.class文件,J***a之所以是一次编译,到处运行,就是因为在运行的时候,J***a虚拟机拿出.class里面代码来一行一行的解释,翻译给操作系统,因为操作系统本身是不认识J***a的,是经过的虚拟机的翻译,一行一行的解释着执行,而且对于不同的操作系统平台,有不同的J***a虚拟机,因此,J***a才真正的实现了跨平台,一次编译,随处运行。
对于我们程序员这一端,是一样的,我们面对的就是.j***a和.class文件,程序要想执行,需要建立在操作系统环境之上,J***a不是操作系统本地语言,J***a又不是C,所以操作系统直接执行不了,那么在我们程序和操作系统的中间,打了一层J***a虚拟机。ok?
到此,以上就是小编对于J***a语言同于的问题就介绍到这了,希望介绍关于J***a语言同于的2点解答对大家有用。