Java包括什么?
網(wǎng)友解答: 經(jīng)過20多年的發(fā)展Java從最初嵌入在網(wǎng)頁中的Applet發(fā)展到幾乎各個(gè)開發(fā)領(lǐng)域,包括Web解決方案、大數(shù)據(jù)、人工智能、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算等等。所以目前Java成為了
經(jīng)過20多年的發(fā)展Java從最初嵌入在網(wǎng)頁中的Applet發(fā)展到幾乎各個(gè)開發(fā)領(lǐng)域,包括Web解決方案、大數(shù)據(jù)、人工智能、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算等等。所以目前Java成為了程序員必須掌握的開發(fā)語言之一,相信在未來很長(zhǎng)一段時(shí)間內(nèi),Java依然會(huì)是一門被廣泛使用的開發(fā)語言。
那么Java到底包括哪些內(nèi)容呢?答案首先要到Java的官方資料中查找。
這是Java官方給出的Java技術(shù)提綱,下面對(duì)這里面的技術(shù)進(jìn)行分別解讀:
Java SE
這是很多初學(xué)者最初學(xué)習(xí)Java就接觸的內(nèi)容,簡(jiǎn)單的說就是Java的標(biāo)準(zhǔn)版,也是很多其他版本的母版(基礎(chǔ)版),Java SE是學(xué)習(xí)Java技術(shù)的第一步,目前已經(jīng)更新到Java 10版本。
這一部分從創(chuàng)建一個(gè)基本的Java類開始,描述Java面向?qū)ο缶幊痰暮诵母拍钜约熬幊踢^程:類的設(shè)計(jì)、對(duì)象的創(chuàng)建、方法的調(diào)用。細(xì)節(jié)包括類、對(duì)象、屬性、方法、封裝、繼承、多態(tài)、異常、集合、線程等,也包括一些諸如java.time包中的類如何使用,以及如何部署Java程序。
這一部分主要講解如何使用Swing和JavaFX,這兩個(gè)技術(shù)是目前使用Java做圖形用戶界面的主要解決方案。JavaFX出現(xiàn)的時(shí)間較晚,很多使用JavaFX的程序員對(duì)這個(gè)技術(shù)的評(píng)價(jià)還是非常不錯(cuò)的,隨著版本的更新,相信JavaFX將會(huì)得到更好的發(fā)展(我之前的文章中有針對(duì)JavaFX的詳細(xì)介紹)。Swing是在AWT基礎(chǔ)上開發(fā)的輕量級(jí)GUI解決方案,圖形組件采用了MVC結(jié)構(gòu),操作簡(jiǎn)單且功能強(qiáng)大,唯一的遺憾是速度偏慢。
這部分涵蓋了JavaSE中的諸多細(xì)節(jié),包括網(wǎng)絡(luò)編程、平臺(tái)適配、JavaBeans、JDBC、JMX、JNDI、JAXP、JAXB、RMI、反射、安全、多媒體等內(nèi)容。這里面每一個(gè)內(nèi)容都需要寫上一本書才能完全講解清楚,包含的細(xì)節(jié)也非常多,這里面的RMI是Java分布式編程的基礎(chǔ)(我之前的文章中有關(guān)于RMI編程的細(xì)節(jié)描述),JDBC則是如何通過Java操作數(shù)據(jù)庫的API等等。
這里面涵蓋的技術(shù)在我之前的酷米文章中都幾乎有所涉及,感興趣的朋友可以關(guān)注一下。
Java EE
Java EE此前一直是官方主推的企業(yè)級(jí)Java解決方案,里面涵蓋了大量企業(yè)級(jí)開發(fā)的API,目前Oracle公司已經(jīng)把Java EE交給Eclipse基金會(huì)來管理了,已經(jīng)改名為Jakarta EE了,也許未來EE版會(huì)帶來更多改變。雖然已經(jīng)脫離了官方陣營(yíng),今天也簡(jiǎn)單描述一下Java EE版都包含了哪些內(nèi)容。
Java EE版本涵蓋的主要內(nèi)容是圍繞EJB展開的,Java官方為企業(yè)級(jí)開發(fā)提供了三種EJB方案,分別是會(huì)話Bean、實(shí)體Bean和消息驅(qū)動(dòng)Bean。
圍繞這三種EJB企業(yè)可以開發(fā)出大用戶并發(fā)的安全的Java分布式平臺(tái),當(dāng)然性能以及事務(wù)處理等方面的優(yōu)點(diǎn)是顯而易見的。
雖然Java官方為EJB付出了巨大的代價(jià)(人力、物力),但是市場(chǎng)對(duì)EJB并不是全盤接受,因?yàn)镋JB太重了。Spring的出現(xiàn)使得EJB的地位非常尷尬,后來EJB的版本更新也借鑒了Spring的很多理念,但是EJB的基因太難改變了。
Java ME
ME版本的出現(xiàn)時(shí)間并不晚,我在2004年的時(shí)候曾經(jīng)短暫的使用過ME版本在Nokia的塞班平臺(tái)下進(jìn)行程序開發(fā)??梢哉f當(dāng)年的Sun公司對(duì)嵌入式設(shè)備的發(fā)展還是具備一定眼光的,只是當(dāng)IOS和Android平臺(tái)出現(xiàn)的時(shí)候,Java ME多少顯得有些尷尬。
Java ME針對(duì)嵌入式設(shè)備進(jìn)行了重寫,支持在嵌入式設(shè)備上運(yùn)行Java應(yīng)用。當(dāng)年也確實(shí)有很多基于Java ME開發(fā)的嵌入式產(chǎn)品,大到美國發(fā)射的“勇氣號(hào)”太空車,小到工業(yè)機(jī)器人,目前Java ME的應(yīng)用并不多,但是官方依然對(duì)Java ME抱有期望。
Java Card、Java TV、Java DB
關(guān)于Java Card可能用過的人就更少了,但是在最初推出這個(gè)技術(shù)的時(shí)候,Java Card為我們描繪了很多未來的應(yīng)用場(chǎng)景(目前這些場(chǎng)景中的很多內(nèi)容由智能手機(jī)完成了)??匆幌翵ava Card的官方定義:
可以說Java Card在一些具體場(chǎng)景中還是有所應(yīng)用的,比如通信領(lǐng)域和金融領(lǐng)域等對(duì)安全性有較高要求的領(lǐng)域。
看一下Java TV的官方定義:
Java TV的出現(xiàn)是數(shù)字化TV發(fā)展的必然結(jié)果,同樣,目前這部分市場(chǎng)被Android搶占的比較厲害,好在Android的應(yīng)用開發(fā)也采用了Java語言。
看一下關(guān)于Java DB的官方描述:
Java DB是Java數(shù)據(jù)庫應(yīng)用的一個(gè)方向,能在數(shù)據(jù)庫平臺(tái)上提供完全的Java支持。
以上就是Java包含的技術(shù)總結(jié),當(dāng)然,現(xiàn)在的Java已經(jīng)不僅僅是Oracle公司的,全世界很多科技公司或組織都在開發(fā)基于Java的各種應(yīng)用,所以Java已經(jīng)不單純的是一門語言,更是一個(gè)平臺(tái)、橋梁和鏈條。
我在酷米上寫了關(guān)于Java技術(shù)的系列文章,感興趣的朋友可以關(guān)注一下,有問題可以一起交流。
網(wǎng)友解答: java是什么?用大白話講,java就是一門計(jì)算機(jī)語言,來寫網(wǎng)站的而已。程序員平時(shí)在公司寫所謂的“代碼”,經(jīng)過部署在服務(wù)器上就成了你平時(shí)瀏覽的網(wǎng)站了。
網(wǎng)站也可以大致分為兩種,一種是人人都能上的,如淘寶京東,一種是不對(duì)外開放的,如公司OA,學(xué)校選課系統(tǒng)等。