-
1 # 正版噴子
-
2 # BinPeng13
首先Java是一種廣泛使用的電腦程式設計語言,擁有跨平臺、物件導向、泛型程式設計的特性,廣泛應用於企業級Web應用開發和移動應用開發。 Java程式語言是個簡單、面向物件、分散式、解釋性、健壯、安全與系統無關、可移植、高效能、多執行緒和動態的語言。
-
3 # Java進階架構師java是什麼?
用大白話講,java就是一門計算機語言,來寫網站的而已。程式設計師平時在公司寫所謂的“程式碼”,經過部署在伺服器上就成了你平時瀏覽的網站了。
網站也可以大致分為兩種,一種是人人都能上的,如淘寶京東,一種是不對外開放的,如公司OA,學校選課系統等。
-
4 # IT人劉俊明
經過20多年的發展Java從最初嵌入在網頁中的Applet發展到幾乎各個開發領域,包括Web解決方案、大資料、人工智慧、移動網際網路、物聯網、雲計算等等。所以目前Java成為了程式設計師必須掌握的開發語言之一,相信在未來很長一段時間內,Java依然會是一門被廣泛使用的開發語言。
那麼Java到底包括哪些內容呢?答案首先要到Java的官方資料中查詢。
這是Java官方給出的Java技術提綱,下面對這裡面的技術進行分別解讀:
Java SE這是很多初學者最初學習Java就接觸的內容,簡單的說就是Java的標準版,也是很多其他版本的母版(基礎版),Java SE是學習Java技術的第一步,目前已經更新到Java 10版本。
這一部分從建立一個基本的Java類開始,描述Java面向物件程式設計的核心概念以及程式設計過程:類的設計、物件的建立、方法的呼叫。細節包括類、物件、屬性、方法、封裝、繼承、多型、異常、集合、執行緒等,也包括一些諸如java.time包中的類如何使用,以及如何部署Java程式。
這一部分主要講解如何使用Swing和JavaFX,這兩個技術是目前使用Java做圖形使用者介面的主要解決方案。JavaFX出現的時間較晚,很多使用JavaFX的程式設計師對這個技術的評價還是非常不錯的,隨著版本的更新,相信JavaFX將會得到更好的發展(我之前的文章中有針對JavaFX的詳細介紹)。Swing是在AWT基礎上開發的輕量級GUI解決方案,圖形元件採用了MVC結構,操作簡單且功能強大,唯一的遺憾是速度偏慢。
這部分涵蓋了JavaSE中的諸多細節,包括網路程式設計、平臺適配、JavaBeans、JDBC、JMX、JNDI、JAXP、JAXB、RMI、反射、安全、多媒體等內容。這裡面每一個內容都需要寫上一本書才能完全講解清楚,包含的細節也非常多,這裡面的RMI是Java分散式程式設計的基礎(我之前的文章中有關於RMI程式設計的細節描述),JDBC則是如何透過Java操作資料庫的API等等。
Java EEJava EE此前一直是官方主推的企業級Java解決方案,裡面涵蓋了大量企業級開發的API,目前Oracle公司已經把Java EE交給Eclipse基金會來管理了,已經改名為Jakarta EE了,也許未來EE版會帶來更多改變。雖然已經脫離了官方陣營,今天也簡單描述一下Java EE版都包含了哪些內容。
Java EE版本涵蓋的主要內容是圍繞EJB展開的,Java官方為企業級開發提供了三種EJB方案,分別是會話Bean、實體Bean和訊息驅動Bean。
圍繞這三種EJB企業可以開發出大使用者併發的安全的Java分散式平臺,當然效能以及事務處理等方面的優點是顯而易見的。
雖然Java官方為EJB付出了巨大的代價(人力、物力),但是市場對EJB並不是全盤接受,因為EJB太重了。Spring的出現使得EJB的地位非常尷尬,後來EJB的版本更新也借鑑了Spring的很多理念,但是EJB的基因太難改變了。
Java MEME版本的出現時間並不晚,我在2004年的時候曾經短暫的使用過ME版本在Nokia的塞班平臺下進行程式開發。可以說當年的Sun公司對嵌入式裝置的發展還是具備一定眼光的,只是當IOS和Android平臺出現的時候,Java ME多少顯得有些尷尬。
Java ME針對嵌入式裝置進行了重寫,支援在嵌入式裝置上執行Java應用。當年也確實有很多基於Java ME開發的嵌入式產品,大到美國發射的“勇氣號”太空車,小到工業機器人,目前Java ME的應用並不多,但是官方依然對Java ME抱有期望。
Java Card、Java TV、Java DB關於Java Card可能用過的人就更少了,但是在最初推出這個技術的時候,Java Card為我們描繪了很多未來的應用場景(目前這些場景中的很多內容由智慧手機完成了)。看一下Java Card的官方定義:
可以說Java Card在一些具體場景中還是有所應用的,比如通訊領域和金融領域等對安全性有較高要求的領域。
看一下Java TV的官方定義:
Java TV的出現是數字化TV發展的必然結果,同樣,目前這部分市場被Android搶佔的比較厲害,好在Android的應用開發也採用了Java語言。
看一下關於Java DB的官方描述:
Java DB是Java資料庫應用的一個方向,能在資料庫平臺上提供完全的Java支援。
以上就是Java包含的技術總結,當然,現在的Java已經不僅僅是Oracle公司的,全世界很多科技公司或組織都在開發基於Java的各種應用,所以Java已經不單純的是一門語言,更是一個平臺、橋樑和鏈條。
-
5 # IT講壇
java首先是一個跨平臺的語言,這個所謂的跨平臺其實也就是所在伺服器上得有java執行所需要的環境,即jdk。
java其次原生態的話包括:javaSE,javaEE ,javaME 官方的就是這三種,至於後來javaWEB 這些,都是人們為了混口飯吃學出來的。
寬泛的說現在市場上的程式設計師當然是要學會很多技能來生存,只會後端,會被領導看不起,當然了這只是個人想法。以至於現在作為一名java程式設計師就需要懂的很多,不亞於下面所述
1、做網站前端互動,要結合javaScript,html,css,vue ,SSH框架,ssm ,mvc ,以及spring 全家桶等
2、做網站後臺業務處理,要結合資料庫MySQL,Oracle,db2等
3、做大型專案,還需要懂的分散式部署相關的一些開源技術,比如rabbitmq kafka elasticsearch logstasg kibana等
所謂活到老學到老,同學,希望你能瞭解完java後,學好java。在it界創出自己的一片天地。
-
6 # 使用者2759711087144
Java是源時代建校以來的第一學科,講師都具有很多年專案假髮經驗,大多數講師曾在國內知名大中型企業任職,曾擔任技術總監、軟體架構師、系統工程師等高階職務、
在課程中,一直保持和業內技術大咖,老學員的緊密聯絡,及時融入企業現階段所需的實用技術知識,學生畢業即可陳偉光IE企業最需要的人才。
-
7 # 劉十三23
(1)JAVA的語言規範
(2)位元組碼的語言規範
(3)JVM
(4)JDK API
(5)第三方類庫
-
8 # iT例史
1、從大的分類來說,Java包括Java SE標準版、Java EE企業版和Java ME移動版。
2、從知識點來說,Java包括但不限於這些知識:
①Java基礎
Java開發環境、資料型別、變數、語句結構(順序、條件和迴圈)、陣列、方法、類與物件、面向物件OO、封裝、繼承、多型、程式異常處理、Java程式除錯、訪問各種資料庫等。
④Java Web
JSP、Servlet。
⑤常用演算法(如氣泡排序、遞迴、查詢等)和23種設計模式(如:單例、工廠、虛擬工廠、代理、適配等)。
⑥Java EE框架
各種企業級框架,如Struts、Hibernate、Spring(尤其是IOC和AOP思想)、SpringMVC、SpringBoot、MyBatis等,及其綜合應用SSM、SSH。
⑦Java虛擬機器JVM與記憶體最佳化管理。
1)快取技術、高併發技術和負載均衡Nginx。
2)訊息佇列,如RabbitMQ、Kafka、ZeroMQ。
3)微服務框架SpringCloud、服務註冊zookeeper。
4)遠端過程呼叫協議RPC(Remote Procedure Call Protocol)的呼叫。
5)Java開發大資料Hadoop應用等。
-
9 # 全棧技術棧
JAVA需要學習的東西很多,主要分為以下幾個部分。
第一階段:JavaEE基礎
這部分主要的內容有:java基本語法、運算子、流程控制語句、陣列、函式、面向物件、常用類庫、異常、io系統、集合泛型、執行緒、網路程式設計、反射、設計模式等
第二階段:Web前端基礎
這部分主要的內容有:HTML+CSS、HTML5+CSS3、Javascript、jQuery、jQuery easyui、Bootstrap等
第三階段:JavaWeb課程
這部分主要的內容有:MySql、JDBC、資料來源、資料庫連線池、DBUtils工具、XML擴充套件性標記語言、Web伺服器、HTTP協議、Servlet、請求與響應、JSP、MVC、會話管理、過濾和監聽、非同步請求、日誌
第四階段:分散式網際網路新技術
這部分主要的內容有:SSH、SSM、Webservice技術、GIT版本控制、SVN版本控制、Linux、負載均衡、併發、MySQL分庫分表、讀寫分離、微服務架構、Java搜尋引擎、Redis、訊息佇列、分散式計算框架之Dubbo/Zookeeper、分散式計算框架之SpringCloud等
-
10 # 大年三十三
java屬於解釋執行還是編譯執行
首先,我們要知道解釋執行和編譯執行的區別:
解釋執行——程式執行時,將原始檔逐行解釋為機器語言執行
編譯執行——程式執行前,將原始檔全部編譯為機器語言再執行
而Java是一種特殊的解釋型語言(首先將java的類檔案編譯成jvm能識別的位元組碼檔案,然後針對熱點方法,利用JTT即時編譯技術,編譯執行,而對於非熱點方法,採用的則是解釋執行),整體過程如下:Java檔案在執行前先被編譯(工具:javac.exe)成位元組碼檔案(class檔案),然後在虛擬機器中被解釋(工具:java.exe或javaw.exe(非阻塞執行))執行。
1.2 java的語言特性
java屬於面嚮物件語言,具備封裝,繼承,多型三大特性。
封裝:每個類不對外暴露其構造和實現,只展示自身的功能與作用
繼承:同一父類的子類共同持有父類的公有(非private)資源
多型:同一父類的子類對於父類公有方法或資源,可以具備不同的表達方式
1.3 java語言的版本特性
a: JDK1.1
1、反射
2、內部類
b: JDK1.2
1、集合API(Map,List,Set)
c: JDK1.4
1、IO API
2、文字正則表示式
3、xml
4、日誌Api
d: JDK1.5
1、自動裝箱與拆箱:
2、列舉(常用來設計單例模式)
3、靜態匯入
4、可變引數
5、內省
e: JDK1.6
1、Web服務元資料
2、指令碼語言支援
3、JTable的排序和過濾
4、更簡單,更強大的JAX-WS
5、輕量級Http Server
6、嵌入式資料庫 Derby
f: JDK1.7
1、switch中可以使用字串了
2、運用List tempList = newArrayList<>(); 即泛型例項化型別自動推斷
3、語法上支援集合,而不一定是陣列
4、新增一些取環境資訊的工具方法
5、Boolean型別反轉,空指標安全,參與位運算
6、兩個char間的equals
7、安全的加減乘除
8、map集合支援併發請求,且可以寫成 Map map ={name:"xxx",age:18};
g: JDK1.8
1、允許在介面中有預設方法實現
2、Lambda表示式
3、函式式介面
4、方法和建構函式引用
5、Lambda的範圍
6、內建函式式介面
7、Streams
8、Parallel Streams
9、Map
10、 時間日期API
11、Annotations
12、Optional(這是一個可以為null的容器物件。如果值存在則isPresent()方法會返回true,呼叫get()方法會返回該物件。)
h:JDK1.9
1、Jigsaw 專案;模組化原始碼
2、簡化程序API
3、輕量級 JSON API
4、錢和貨幣的API
5、改善鎖爭用機制
6、程式碼分段快取
7、智慧Java編譯, 第二階段
8、HTTP 2.0客戶端
9、Kulla計劃: Java的REPL實現
1.4 Java語言的平臺分類
1.5 jdk檔案目錄
-bin目錄: JDK開發工具的可執行檔案
-lib目錄: 開發工具使用的歸檔包檔案
-jre: Java 執行時環境的根目錄,包含Java虛擬機器,執行時的類包和Java應用啟動器,
但不包含開發環境中的開發工具
-demo: 含有原始碼的程式示例
-include: 包含C語言標頭檔案,支援Java本地介面與Java虛擬機器除錯程式介面的本地程式設計技術。
1.6 JVM、JRE、JDK關係
1.2.1 什麼是跨平臺?
平臺:指的是作業系統(Windows,Linux,Mac)
跨平臺:Java程式可以在任意作業系統上執行,一次編寫到處執行
原理:不同的編譯器對於不同平臺,獲取後的class檔案在相同JVM中執行
1.2.2 JVM、JRE 、JDK說明
A:什麼是JVM
JVM是java虛擬機器(JVM Java Virtual Machine),java程式需要執行在虛擬機器上,不同平臺有自己的虛擬機器,因此java語言可以跨平臺
B:什麼是JRE(執行環境)
包括Java虛擬機器(JVM Java Virtual Machine)和Java程式所需的核心類庫等如果想要執行一個開發好的Java程式,計算機中只需要安裝JRE即可。
JRE:JVM+類庫+執行工具(java.exe)。
C:什麼是JDK(開發環境)
JDK是提供給Java開發人員使用的,其中包含了java的開發工具,也包括了JRE。所以安裝了JDK,就不用在單獨安裝JRE了。其中的開發工具:編譯工具(javac.exe) 執行工具(java.exe) 打包工具(jar.exe)等
D:為什麼JDK中包含一個JRE
JDK若無JRE則缺少虛擬機器,而開發完的程式,需要執行一下看看效果。
E:JDK,JRE,JVM的作用和關係
JDK包含JRE 和開發工具包 JRE包含 核心類庫和JVM
F:環境配置注意事項
JRE不可以安裝在JDK內部(javac無法執行),CLASSPATH最好不配置
1.7 JAVA與其他語言對比
1.3.1 JAVA與C對比
1、JAVA面向物件,C面向過程
2、JAVA跨平臺,C需要重新編譯
3、JAVA沒有指標,無法高效運算
4、JAVA能自動垃圾回收
5、JAVA無法直接管理記憶體
6、JAVA沒有預處理器
1.3.2 JAVA與C++
1、JAVA採用值傳遞
2、JAVA不能多繼承
3、JAVA無法過載運算子
1.3.3 JAVA與PHP
1、JAVA是靜態語言,PHP是動態語言
2、JAVA支援多執行緒,PHP不支援
總結:PHP快捷 、C高效能、JAVA安全穩定
-
11 # 麟若曦
java是一種開發語言,提供了基礎的開發類庫。我們可以基於類庫實現自己的程式。相關類庫文件:
JDK 17 Documentation - Home
回覆列表
啥啊,你說的這幾個大資料,什麼全棧都是以為Java基礎的。你的問題是偽命題,先去好好了解一下這些東西再提問。Java現在可以做網頁,做伺服器,做安卓,再說了,只學Java還不夠的,以後肯定還要學其他語言,但是語言的邏輯還是相通的。選什麼專業,看學校專業老師,不然就去到網上看看哪些職位工資高就學哪個。