最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)-Java的體系結(jié)構(gòu)

 更新時間:2022年01月26日 16:05:37   作者:碼農(nóng)洞見  
這篇文章主要介紹了Java的體系結(jié)構(gòu),Java幾乎成為了“開源”的代名詞。第三方開源軟件和框架。如Tomcat、Struts,MyBatis,Spring等,下面我們來看看文章具體的內(nèi)容介紹吧

1 前言

到目前為止Java仍然是使用最多的編程語言,隨著Java以及Java社區(qū)的不斷壯大,Java也早已不再是簡簡單單的一門計算機語言了,它更是一個平臺、一種文化、一個社區(qū)。

1. 1 Java技術(shù)平臺

根據(jù)不同的技術(shù)規(guī)范,Java劃分為3中結(jié)構(gòu)獨立但又相互依賴的技術(shù)分支:Java SE(標準版)、Java EE(企業(yè)版)、Java ME(精簡版)。此外, Java的發(fā)展,除了來自互聯(lián)網(wǎng)的崛起,還有Google選擇Java作為Android操作系統(tǒng),Groovy、Scala、JRuby、Kotlin等都是Java平臺的一部分。

Java SE

活躍在桌面領(lǐng)域,主要包含Java API組件。這個版本是Java平臺的核心。

Java EE

活躍在企業(yè)級領(lǐng)域,主要包含Java API組件、Web組件、事務(wù)組件、分布式組件、EJB組件、消息組件;綜合這些技術(shù)開發(fā)人員完全可以構(gòu)建出一個具備高性能、結(jié)構(gòu)嚴謹?shù)钠髽I(yè)級應(yīng)用,并且Java EE也是構(gòu)建SOA架構(gòu)的首選平臺。Java EE是Java SE的擴展。

Java ME

活躍在嵌入式領(lǐng)域,稱為精簡版是因為JavaME僅保留了Java API中的部分組件,以及適應(yīng)設(shè)備的一些特有組件。Java ME是Java SE的內(nèi)伸。

1.2 Java開源文化

Java幾乎成為了“開源”的代名詞。第三方開源軟件和框架。如Tomcat、Struts,MyBatis,Spring等。就連JDK和JVM自身也有不少開源的實現(xiàn),如openJDK、Harmony。

1.3 Java強大社區(qū)

Java的文化造就了Java社區(qū),Java擁有全世界最多的技術(shù)擁護者和開源社區(qū)支持,有數(shù)不清的論壇和資料。所謂,眾人拾柴火焰高!

2 Java體系結(jié)構(gòu)的組成

Java技術(shù)的核心就是Java虛擬機——所有Java程序都在其上運行,需要Java虛擬機、Java API和Java,class文件的配合,Java程序才能夠運行。

2.1 Java編程語言

首先我們理一下一個Java程序從編寫到最終執(zhí)行的過程:

  • (1)一個A.java程序源文件執(zhí)行javac命令后編程成A.class二進制的字節(jié)碼文件
  • (2).class文件會被ClassLoader裝載到內(nèi)存中,同時裝載java相關(guān)核心類庫
  • (3)調(diào)用字節(jié)碼解釋器或即時編譯器(java是解釋器和編譯器混合執(zhí)行)
  • (4)執(zhí)行引擎調(diào)用操作系統(tǒng)或硬件運行

2.2 字節(jié)碼

任何編程語言的編譯結(jié)果滿足并包含Java虛擬機的內(nèi)部指令集、符號表以及一些其他輔助信息的話,這個編譯結(jié)果就是一個有效的字節(jié)碼文件。

字節(jié)碼的重大作用:為Java跨平臺提供了支持。正是因為源代碼編譯后為字節(jié)碼文件,而字節(jié)碼文件相較機器指令,字節(jié)碼可以解決程序的安全性問題、跨平臺移植性問題。而且源碼只需一次編譯,得到的字節(jié)碼文件可以在不同的平臺上運行。

2.3 Java API

API(Application Programming Interface)應(yīng)用程序編程接口,是一些預(yù)先定義的類。目的是使開發(fā)人員可以直接使用這些已經(jīng)被打包的類來做具體的應(yīng)用,節(jié)約了程序員大量的時間和精力。

2.4 Java虛擬機

Java虛擬機(Java Virtual Machine簡稱JVM)是運行所有Java程序的抽象計算機,是Java語言的運行環(huán)境,其主要任務(wù)為將字節(jié)碼裝載到內(nèi)部,解釋/編譯為對應(yīng)平臺上的機器指令執(zhí)行。

Java虛擬機規(guī)范定義了一個抽象的——而非實際的——機器或處理器。這個規(guī)范描述了一個指令集,一組寄存器,一個堆棧,一個“垃圾堆”,和一個方法區(qū)。一旦一個Java虛擬機在給定的平臺上運行,任何Java程序(編譯之后的程序,稱作字節(jié)碼)都能在這個平臺上運行。Java虛擬機(JVM)可以以一次一條指令的方式來解釋字節(jié)碼(把它映射到實際的處理器指令),或者字節(jié)碼也可以由實際處理器中稱作just-in-time的編譯器進行進一步的編譯。

3 總結(jié)

筆者是一名Java編程語言的深度使用者,到目前為止,Java仍是世界上的頭號編程語言。然而,Java最終將會減弱,就像C++一樣,淪為只在特殊情況下使用(或者只是用來支持傳統(tǒng)的代碼,因為它不能像C++那樣和硬件連接)。但是無意中的好處,也是Java真正意外的光彩之處在于它為自己的替代品創(chuàng)造了一條非常暢通的道路,即使Java本身已經(jīng)達到了無法再發(fā)展的程度。未來所有的語言都應(yīng)該從中學(xué)習(xí):要么創(chuàng)建一個可以重構(gòu)的文化(像Python和Ruby做的那樣),要么就讓競爭者茁壯成長。

到此這篇關(guān)于Java基礎(chǔ)-Java的體系結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)Java的體系結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何理解SpringMVC

    如何理解SpringMVC

    Spring Web MVC是一種基于Java的實現(xiàn)了Web MVC設(shè)計模式的請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將web層進行職責(zé)解耦,基于請求驅(qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā)
    2021-06-06
  • Java中的異常測試框架JUnit使用上手指南

    Java中的異常測試框架JUnit使用上手指南

    這篇文章主要介紹了Java的異常測試框架JUnit使用上手指南,JUnit是Java代碼進行單元測試中的常用工具,需要的朋友可以參考下
    2016-03-03
  • Java中List add添加不同類型元素的講解

    Java中List add添加不同類型元素的講解

    今天小編就為大家分享一篇關(guān)于java的List add不同類型的對象,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java IO流體系繼承結(jié)構(gòu)圖_動力節(jié)點Java學(xué)院整理

    Java IO流體系繼承結(jié)構(gòu)圖_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了Java IO流體系繼承結(jié)構(gòu)圖,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • MyBatis找不到mapper文件的實現(xiàn)

    MyBatis找不到mapper文件的實現(xiàn)

    這篇文章主要介紹了MyBatis找不到mapper文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Mybatis 中的insertOrUpdate操作

    Mybatis 中的insertOrUpdate操作

    這篇文章主要介紹了Mybatis 中的insertOrUpdate操作,代碼簡單易懂,非常不錯需要的的朋友參考下
    2016-12-12
  • 詳解Spring Cloud Finchley版中Consul多實例注冊的問題處理

    詳解Spring Cloud Finchley版中Consul多實例注冊的問題處理

    這篇文章主要介紹了詳解Spring Cloud Finchley版中Consul多實例注冊的問題處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Java根據(jù)前端返回的字段名進行查詢數(shù)據(jù)的實現(xiàn)方法

    Java根據(jù)前端返回的字段名進行查詢數(shù)據(jù)的實現(xiàn)方法

    在Java后端開發(fā)中,我們經(jīng)常需要根據(jù)前端傳遞的參數(shù)(如字段名)來動態(tài)查詢數(shù)據(jù)庫中的數(shù)據(jù),這種需求通常出現(xiàn)在需要實現(xiàn)通用查詢功能或者復(fù)雜查詢接口的場景中,所以本文介紹了Java根據(jù)前端返回的字段名進行查詢數(shù)據(jù)的實現(xiàn)方法,需要的朋友可以參考下
    2024-12-12
  • Java?GUI實現(xiàn)多個窗口切換效果

    Java?GUI實現(xiàn)多個窗口切換效果

    這篇文章主要為大家詳細介紹了Java?GUI實現(xiàn)多個窗口的切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 一篇文章帶你了解JAVA面對對象之繼承與修飾符

    一篇文章帶你了解JAVA面對對象之繼承與修飾符

    這篇文章主要介紹了Java面向?qū)ο缶幊讨惖睦^承,結(jié)合實例形式較為詳細的分析了Java面向?qū)ο缶幊填惖母拍睢⒐δ?、使用方法及相關(guān)注意事項,需要的朋友可以參考下
    2021-08-08

最新評論

门源| 茂名市| 武陟县| 瑞丽市| 黑水县| 灵石县| 长顺县| 林西县| 四子王旗| 白城市| 阿克苏市| 江北区| 酉阳| 明水县| 邵阳市| 房山区| 会同县| 曲麻莱县| 罗山县| 岳池县| 余庆县| 察隅县| 威海市| 岑巩县| 江孜县| 顺平县| 武定县| 同心县| 商城县| 乌拉特前旗| 沙洋县| 汝阳县| 江都市| 泊头市| 仁化县| 上栗县| 康平县| 上饶市| 珲春市| 晋中市| 满城县|