0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

javascript和java的区别有哪些

马哥Linux运维 来源:稀土掘金 2023-10-30 11:35 次阅读

前言

昨天在刷LeetCode时,在对之前的一道简单题(13.罗马数字转整数)进行二刷时,由于之前在学校学的是Java,所以之前已经用Java做过一遍了,而最近在学JS,我就尝试着用JS去做,也很快的做出来了。但当我发现同样的代码JS花费的时间为116ms,而Java仅仅花费2ms,这使得我对这两门语言产生了浓厚的兴趣,我尝试着去网上查找资料,最终写下这篇文章。

JavaScript(耗时116ms):

3ff23dec-76d3-11ee-939d-92fbcf53809c.jpg

Java(耗时2ms):

4005d262-76d3-11ee-939d-92fbcf53809c.jpg

为什么会有如此大的差别呢?

之所以会有如此大的差别,主要是由于这两门语言在设计和执行环境上的差异导致的,主要分为以下因素:

编译与解释

Java:编译型语言,Java代码首先会被编译成字节码,然后在Java虚拟机(JVM)上运行。Java的这种编译方式可以进行很多优化,从而提高代码的执行速度。

JavaScript:解释性语言,代码在运行时,会由浏览器的JavaScript解释器逐行进行解释,然后再交给V8引擎去执行。然而,正是因为这种解释性质,会使得JavaScript的执行速度通常较慢。

这就相当于在JavaScript执行代码时存在一个中间商,将解释器类比为中间商,最终到客户手里商品的价格自然就会更高。所以JavaScript耗时会比Java长。

执行环境不同

Java:执行环境为Java虚拟机(JVM),它是一种高度优化的运行时环境,专门设计用于执行Java字节码。由于JVM具有即时编译器(Just-In-Time Compiler),它可以将字节码编译成的字节码转换为本机机器代码,这将大大提高代码的执行速度。

JavaScript:执行环境为浏览器或者Node.js等运行时环境。而这些环境都缺少了像Java的执行环境JVM那种强大的编译和优化工具,因此执行代码时性能较差,执行速度慢。

JVM就相当于游戏加速器,而JS没有,这使得Java的执行性能要远高于JavaScript.

既然Java比JavaScript快,为什么JavaScript没被淘汰呢?

你别看两门语言名字差不多,但是他们相同之处却非常少,运用的领域也各不相同。Java和JavaScript这两种语言没有直接关系,尽管它们的名称相似。其中Java是由Sun公司(现在是Oracle Corporation)开发的,而JavaScript最初由Netscape Communications Corporation开发,后来被标准化为ECMAScript。

用途不同

Java:通常用于开发大型、高性能的应用程序,包括企业级应用、桌面应用、游戏等,我们熟知的编译软件IDEA、Eclipse、netbean都是Java做的。游戏方面,曾爆火的游戏《我的世界》就是用Java开发的。Android的核心系统也是采用Java语言编写的,尤其采用Java的核心库,如Apache Harmony来实现JVM。因此,它在执行速度和性能方面进行了很多优化。

JavaScript:主要用于前端网页的开发,市面上现今大部分网站,以及微信小程序都是在JS结合其他后端语言,比如Node.js等语言进行开发的,其主要实现的目的是与用户交互,因此它的执行速度通常不是关键问题。

语言类型不同

Java:静态类型语言,类型检查在编译时进行,这有助于检测和预防很多错误,但也增加了编程的复杂性。

JavaScript:动态类型语言,类型检查发生在运行时,这使得代码更加灵活,但也可能导致在运行时出现类型相关的错误。

其他不同之处

1、对象模型不同

Java:一种严格面向对象的编程语言,所有代码都必须包含在类中,支持继承、封装、多态等面向对象编程概念。

JavaScript:虽然也可以支持面向对象编程,但其对象模型不同于Java。JavaScript的对象是动态的,可以随时添加或删除属性和方法。

2、类型系统不同

Java:一种强类型语言,需要在编写代码时明确定义变量的类型,同时在编译时进行类型检查。

JavaScript:是一种弱类型语言,变量的类型可以在运行时动态更改,不需要明确指定类型。

总结

Java的执行速度确实高于JavaScript,但Java和JavaScript也是两种完全不同的编程语言,它们在用途上以及语法上存在很多不同之处,开发者需要根据具体项目需求来选择使用哪种语言。尽管它们有相似的名称,但它们没有直接关联。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102994
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33108
  • javascript
    +关注

    关注

    0

    文章

    511

    浏览量

    53403

原文标题:每天一个知识点:寻找JavaScript和Java的区别

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    JavaScript教程

    JavaScript教程:JavaScript是由Netscape公司开发并随Navigator导航者一起发布的、介于Java与HTML之间、基于对象事件驱动的编程语言,正日益受到全球的关注。因它
    发表于 10-21 09:17

    Java SE、Java EE、Java ME之间的区别

    本文把JAVA SE、JAVA EE、JAVA ME拿来做下区别,同时也分享一下作者的一些成果。目前的Java平台根据软件开发人员、服务提供
    发表于 07-11 08:31

    PCB制板和打样的区别有哪些

    `请问PCB制板和打样的区别有哪些?`
    发表于 03-18 15:11

    jQuery与JavaScript与ajax有什么区别

    jQuery与JavaScript与ajax三者的区别与联系
    发表于 04-01 16:18

    JavaScript 简介

    的输入。### 实例 ###```if isNaN(x) {alert("Not Numeric")};```## javajavascript ##提示:JavaScript
    发表于 09-09 17:30

    TCP协议和UDP协议的区别有哪些?

    TCP协议和UDP协议的区别有哪些?IP地址与MAC地址的区别是什么?ARP协议的工作原理是什么?二层交换机与路由器有什么区别
    发表于 11-12 06:34

    请问ARM与单片机的区别有什么?

    ARM与单片机的区别有什么?
    发表于 10-25 08:27

    Javascript高级程序设计 (pdf下载)

    Javascript高级程序设计JavaScript是一种不严格基于Java的面向对象程序设计语言,以嵌入式Java小程序的形式在Web上广为使用。《
    发表于 10-21 09:06 0次下载
    <b class='flag-5'>Javascript</b>高级程序设计 (pdf下载)

    电线与电缆的区别有哪些?

    电线与电缆的区别有哪些? “电线”和“电缆”并没有严格的界限。通常将芯数少、产品直径小、结构简单的产品称为电线,没有绝缘
    发表于 03-12 11:15 1203次阅读

    固态硬盘与普通硬盘的区别有哪些

    固态硬盘与普通硬盘的区别有哪些
    发表于 09-18 11:30 11次下载

    JavaScript有什么特点_JavaJavaScript有什么不同

    javascript是一种轻量级的编程语言,可以嵌入到html页面中,由来浏览器来解释执行,用来实现浏览器和用于交互。javascript是一种基于对象和事件驱动的客户端脚本语言,他可以在用户浏览器为网页添加一些动态效果。
    发表于 12-04 16:37 4914次阅读

    C语言与Java之间的主要区别有哪些

    本文主要为C#开发人员了解Java提供一些基础。 Java中缺少C#的功能 C#包含更多原始类型和捕获算术异常的功能。 包括大量的Java注释便利,其中许多,例如运算符重载和用户定义的强制转换,已经为C ++程
    的头像 发表于 02-24 14:31 3869次阅读

    CPU和GPU的区别有哪些

    CPU和GPU的区别有哪些呢?接下来简单给大家介绍一下关于GPU和CPU的区别
    的头像 发表于 01-06 17:07 2.8w次阅读

    JavaJavaScript区别异同分析

    Java 是一种通用的编程语言,而 JavaScript 被用于网站上以使其具有动画和交互性。由于 JavaScript 已经发展,现在比较有点复杂。
    的头像 发表于 08-22 14:28 2517次阅读
    <b class='flag-5'>Java</b>和<b class='flag-5'>JavaScript</b>的<b class='flag-5'>区别</b>异同分析

    java和javaweb和javascript区别

    Java、JavaWeb和JavaScript是三个相关但又有一定差异的编程语言和技术。本文将详细介绍它们的定义、特点、用途和区别Java是一种面向对象的编程语言,由Sun
    的头像 发表于 11-16 10:48 5.1w次阅读