servlet和JDK/JVM有關係嗎?

陳煥銳


正常別人會問 jdk和jre的區別

JDK就是java的開發工具集,顧名思義就是你做開發用的,其中包括javac,也就是java compiler等。jre(java runtime environment),就是java程序的運行環境。你所寫的java程序在經過javac編譯後會形成字符行文件,這個java的中間文件,計算機是看不懂的,而這個文件是給jvm(java的虛擬機)用的,由jvm進行解釋後形成機器語言給計算機。而這個jvm就在jre中,也就是說java程序的運行要有jre來擔當。所以jdk和jre的區別就是一個用於開發,一個用於運行,聯繫就是他們都是java開發者所必備的(除非你就像運行java程序,那麼用jre就足夠了)。

JVM(JavaVirtualMachine,Java虛擬機)是JRE的一部分。它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。JVM有自己完善的硬件架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。Java語言最重要的特點就是跨平臺運行。使用JVM就是為了支持與操作系統無關,實現跨平臺。

Servlet是用Java語言寫的服務器端程序,它可以生成動態的web網頁,主要運行在服務器端並由服務器去執行並調用。另外它還具有強大的事務處理能力 這個地方一般會問servlet和jsp/controller的區別

不知道是不是想問這個問題!



爪哇程序猿


Servlet是一套接準,Servlet容器通過Socket監聽Tcp連接,解析其中的Http請求,然後調用開發者編寫的Servlet,通過Servlet傳遞的參數,開發者可以相對方便的獲取到Http請求的相關信息,如參數,Cookies,Header等。Servlet其實也是普通的Java類,你也可以自己去實現自定義的servlet。

JDK(Java Development Kit)是針對Java開發員的產品,是整個Java的核心,包括了Java運行環境JRE、Java工具和Java基礎類庫。

JVM(java virtual machine)就是我們常說的java虛擬機,它是整個java實現跨平臺的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執行。也就是說class並不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行。只有JVM還不能成class的執行,因為在解釋class的時候JVM需要調用解釋所需要的類庫lib,而jre包含lib類庫。JVM屏蔽了與具體操作系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。

所以總結下來JDK包含了JVM,而servlet的運行依賴於JVM的運行。


落花流水鳴濺濺


jdk/jvm是java虛擬機及安裝包,servlet是http請求裡的基礎組件


負利率哦


severlet是j2ee的一部分,jvm是一切java程序運行的必要條件。


琳尼克斯



分享到:


相關文章: