精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    文章

    2957

    瀏覽量

    104544
  • 編程語言
    +關注

    關注

    10

    文章

    1938

    瀏覽量

    34593
  • javascript
    +關注

    關注

    0

    文章

    516

    瀏覽量

    53792

原文標題:每天一個知識點:尋找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

    Javascript高級程序設計 (pdf下載)

    Javascript高級程序設計JavaScript是一種不嚴格基于Java的面向對象程序設計語言,以嵌入式Java小程序的形式在Web上廣為使用。《
    發表于 10-21 09:06 ?0次下載
    <b class='flag-5'>Javascript</b>高級程序設計 (pdf下載)

    電線與電纜的區別有哪些?

    電線與電纜的區別有哪些? “電線”和“電纜”并沒有嚴格的界限。通常將芯數少、產品直徑小、結構簡單的產品稱為電線,沒有絕緣
    發表于 03-12 11:15 ?1286次閱讀

    固態硬盤與普通硬盤的區別有哪些

    固態硬盤與普通硬盤的區別有哪些
    發表于 09-18 11:30 ?11次下載

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

    javascript是一種輕量級的編程語言,可以嵌入到html頁面中,由來瀏覽器來解釋執行,用來實現瀏覽器和用于交互。javascript是一種基于對象和事件驅動的客戶端腳本語言,他可以在用戶瀏覽器為網頁添加一些動態效果。
    發表于 12-04 16:37 ?5191次閱讀

    JavaScript的入門基礎教程免費下載

     JavaScript 語言的前身叫作Livescript。自從Sun 公司推出Java 語言之后,Netscape 公司引進了Sun 公司有關Java 的程序概念,將自己原有的Livescript重新進行設計,并改名為
    發表于 11-05 14:00 ?14次下載
    <b class='flag-5'>JavaScript</b>的入門基礎教程免費下載

    CPU和GPU的區別有哪些

    CPU和GPU的區別有哪些呢?接下來簡單給大家介紹一下關于GPU和CPU的區別
    的頭像 發表于 01-06 17:07 ?3.1w次閱讀

    JavaJavaScript區別異同分析

    Java 是一種通用的編程語言,而 JavaScript 被用于網站上以使其具有動畫和交互性。由于 JavaScript 已經發展,現在比較有點復雜。
    的頭像 發表于 08-22 14:28 ?2938次閱讀
    <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 ?12.9w次閱讀

    javascript基于什么的語言

    瀏覽器上運行的腳本語言,用來增強網頁的交互性和動態性。最初的JavaScript被命名為LiveScript,但后來在與Sun公司合作推出Java后,為了借用Java的聲望,Netscape將其更名
    的頭像 發表于 12-03 11:28 ?1029次閱讀

    華納云:java web和java有什么區別java web和java有什么區別

    Java Web和Java是兩個不同的概念,它們在功能、用途和實現方式上存在一些區別,下面將詳細介紹它們之間的區別。 1. 功能和用途: – Jav
    的頭像 發表于 07-16 13:35 ?681次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么<b class='flag-5'>區別</b><b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么<b class='flag-5'>區別</b>