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

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

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

1 前言

到目前為止Java仍然是使用最多的編程語(yǔ)言,隨著Java以及Java社區(qū)的不斷壯大,Java也早已不再是簡(jiǎn)簡(jiǎn)單單的一門(mén)計(jì)算機(jī)語(yǔ)言了,它更是一個(gè)平臺(tái)、一種文化、一個(gè)社區(qū)。

1. 1 Java技術(shù)平臺(tái)

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

Java SE

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

Java EE

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

Java ME

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

1.2 Java開(kāi)源文化

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

1.3 Java強(qiáng)大社區(qū)

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

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

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

2.1 Java編程語(yǔ)言

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

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

2.2 字節(jié)碼

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

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

2.3 Java API

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

2.4 Java虛擬機(jī)

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

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

3 總結(jié)

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

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

相關(guān)文章

  • 如何理解SpringMVC

    如何理解SpringMVC

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

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

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

    Java中List add添加不同類(lèi)型元素的講解

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

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

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

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

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

    Mybatis 中的insertOrUpdate操作

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

    詳解Spring Cloud Finchley版中Consul多實(shí)例注冊(cè)的問(wèn)題處理

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

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

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

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

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

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

    這篇文章主要介紹了Java面向?qū)ο缶幊讨?lèi)的繼承,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java面向?qū)ο缶幊填?lèi)的概念、功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2021-08-08

最新評(píng)論

湖南省| 芷江| 色达县| 皮山县| 永康市| 明星| 鞍山市| 金湖县| 临沂市| 崇信县| 凉城县| 沈丘县| 闸北区| 潞城市| 武功县| 花莲市| 恩平市| 淮滨县| 葫芦岛市| 丽江市| 富宁县| 安多县| 芦山县| 封丘县| 新民市| 遵义市| 罗源县| 木里| 渑池县| 沙雅县| 额尔古纳市| 镇原县| 梅河口市| 克什克腾旗| 新民市| 惠东县| 和硕县| 怀来县| 凤凰县| 荔浦县| 普安县|