CodeGym /Java Blog /Toto sisi /陶醉於 Java 和 JavaScript
John Squirrels
等級 41
San Francisco

陶醉於 Java 和 JavaScript

在 Toto sisi 群組發布

什麼是Java?

Java 是一種通用編程語言,設計時牢記一個口頭禪——“一次編寫,隨處運行”。Java 應用程序被編譯成字節碼,可以在Java 虛擬機(JVM) 的實現上運行。JVM 有助於彌合源代碼與計算機理解的 1 和 0 之間的差距。任何安裝了 JVM 的機器都可以運行 Java。在 Web 開發中,Java 作為服務器端語言和 Android 平台上移動應用程序的首選編程語言最為突出。它在前端作為 Java applet 仍然有一個不錯的存在,儘管由於安全問題,它正在失寵。

什麼是JavaScript?

除了 HTML 和 CSS,JavaScript(標準化為 ECMAScript)被認為是網絡的三大核心組件之一。大多數網站都使用 JavaScript,它是一種腳本語言,通常在瀏覽器中運行並使網頁動態和交互。自 2009 年發布 Node.js 以來,JavaScript 作為一種服務器端技術也在迅速發展。

JAVA 對比 JAVASCRIPT:主要相似之處

儘管它們不同,但有一些頂級相似之處值得考慮,特別是如果您在比較 Java 和 JavaScript 時正在研究 Web 開發。 面向對象編程(OOP)。兩種語言都要求開發人員根據對象及其相互關係進行編碼。通過擴展,這使兩種語言都可以使用繼承、封裝和多態性等技術。 前端開發。這兩種語言都可以用於前端開發的各個方面。JavaScript 可以直接嵌入到 HTML 中,作為框架或庫實現;Java 可以用作 Java applet。 後端開發. 兩種語言都可以在服務器端使用。Java 長期以來一直用於支持後端技術,如 Apache、JBoss 和 WebSphere。Node.js 已成為 JavaScript 驅動的服務器的發射台

JAVA 對比 JAVASCRIPT:主要區別

重要的是要記住,Java 和 JavaScript 是為完全不同的目的而開發的。Java 被設計為一種用於構建獨立應用程序的通用編程語言,而 JavaScript 是一種專門為與 Web 技術(即 HTML)交互而構建的腳本語言。當 Java 於 1991 年由 Sun 發佈時,它最初被用於對 VCR 等消費電子產品進行編程。JavaScript 被引入與 Java 一起用作客戶端腳本語言,無需編譯即可在瀏覽器中運行。讓我們仔細看看這兩種語言之間的一些主要區別。 編譯與解釋。Java 被認為是一種編譯型編程語言。JavaScript 被認為是一種解釋型腳本語言。不同之處在於實現:Java 被編譯成字節碼並在虛擬機上運行,而 JavaScript 可以直接由瀏覽器按照其編寫的語法進行解釋(儘管在實踐中通常會被縮小)。 靜態與動態類型檢查. Java 使用靜態類型檢查,在編譯時檢查變量的類型。程序員必須指定他們創建的任何變量的類型(整數、雙精度、字符串等)。與大多數腳本語言一樣,JavaScript 使用動態類型,在運行時驗證類型安全。程序員不需要指定他們創建的任何變量的類型。這兩種範例各有利弊,但靜態類型檢查的主要優點是可以在開發早期發現類型錯誤,並且由於編譯器確切地知道正在使用的數據類型,因此代碼通常執行得更快或使用的內存更少. 動態類型檢查的主要優點是提高程序員的工作效率——您可以隨意分配類型。 並發. 同時處理多個指令序列執行的能力在 Java 和 JavaScript 之間的處理方式非常不同。Java 利用多線程並行執行任務。JavaScript,特別是因為它作為 Node.js 存在於服務器端應用程序中,通過稱為事件循環的隊列系統和稱為節點集群的分叉系統處理一個主執行線程上的並發。對於大多數用例,這兩種方法都可以正常工作,但 Java 通常更快,因為線程到無線程的大膽比進程間通信 (IPC) 快得多。 基於類與基於原型. Java 遵循基於類的繼承——一種自上而下的、分層的、基於類的關係,其中屬性在類中定義並由該類的實例(其成員之一)繼承。在 JavaScript 中,繼承是原型的——所有對像都可以直接從其他對象繼承。在 JavaScript 中,層次結構是通過將對象分配為具有構造函數的原型來實現的。

我應該為我的下一個項目使用 JavaScript 還是 JAVA?

與所有語言一樣,選擇實際上歸結為您要構建的內容以及您擁有的資源。JavaScript 在很大程度上仍然是一種網絡技術,而 Java 是一種可以構建任何東西的通用語言。 如果您的項目涉及……,您應該考慮使用 Java
  • 安卓應用
  • 企業軟件
  • 科學計算
  • 大數據分析
  • 硬件的通用編程
  • 服務器端技術,如 Apache、JBoss、Geronimo、GlassFish 等。
如果您的項目涉及……,您應該考慮使用 JavaScript
  • 動態單頁應用程序 (SPA)
  • 前端技術,如 jQuery、AngularJS、Backbone.js、Ember.js、ReactJS 等。
  • 服務器端技術,如 Node.js、MongoDB、Express.js 等。
  • 通過 PhoneGap、React Native 等開發移動應用程序
  • 請記住,這兩個列表都不廣泛,這些只是一個起點,可以幫助您了解可以期待什麼以及可以使用哪些關鍵字來評估最適合您需求的語言
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION