更新時(shí)間:2022-10-14 10:16:46 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1384次
Java 是一種面向?qū)ο蟮木幊陶Z(yǔ)言 ,專(zhuān)門(mén)設(shè)計(jì)用于關(guān)注對(duì)象。它是由 Sun Microsystems 的 James Gosling 在 1995 年創(chuàng)建的高級(jí)編程語(yǔ)言。Java 是一種快速、安全且可靠的編程語(yǔ)言,可用于各種游戲、小工具和應(yīng)用程序。
Java Development Kit (JDK) 是 Java Development Kit 的首字母縮寫(xiě)。它包括創(chuàng)建 Java 程序所需的工具和庫(kù)。JRE 代表 Java 運(yùn)行時(shí)環(huán)境,它包括用于編譯 Java 程序的編譯器和調(diào)試器。這是JDK的一個(gè)特性。JRE 是運(yùn)行 Java 程序所必需的一組庫(kù)和虛擬機(jī) (JVM)。
面向?qū)ο螅?Java 遵循面向?qū)ο蟮募夹g(shù),并使用一個(gè)類(lèi)中的對(duì)象集合來(lái)執(zhí)行任何操作。
安全:非常安全,因?yàn)樗粫?huì)產(chǎn)生堆棧溢出等任何安全問(wèn)題。這是因?yàn)樗鼪](méi)有使用指針的概念。
穩(wěn)健: Java 強(qiáng)大且可靠,因?yàn)樗梢约霸绨l(fā)現(xiàn)錯(cuò)誤并避免垃圾收集、內(nèi)存分配和異常處理等問(wèn)題。
簡(jiǎn)單: Java 易于學(xué)習(xí),不需要使用指針或多重繼承等高級(jí)編程概念。
平臺(tái)無(wú)關(guān):因?yàn)槲覀冊(cè)谌魏尾僮飨到y(tǒng)上編譯和執(zhí)行的代碼都是一樣的,Java 是平臺(tái)無(wú)關(guān)的。這意味著代碼可以在一個(gè)系統(tǒng)上編譯并在另一個(gè)系統(tǒng)上運(yùn)行。
多線(xiàn)程:支持多線(xiàn)程思想,這意味著我們可以同時(shí)運(yùn)行兩個(gè)或多個(gè)程序,最大限度地提高 CPU 利用率。
出色的性能: Java 利用即時(shí)編譯器確保高性能。
動(dòng)態(tài):與 C 或 C++ 等其他編程語(yǔ)言相比,Java 更具動(dòng)態(tài)性。這是因?yàn)樗梢詳y帶大量運(yùn)行時(shí)信息,我們可以使用這些信息來(lái)驗(yàn)證運(yùn)行時(shí)對(duì)象的訪(fǎng)問(wèn)。
在 java 中,JVM 將內(nèi)存分配給不同的進(jìn)程、方法和對(duì)象。JVM 也依賴(lài)于平臺(tái)。JVM 提供執(zhí)行 java 文件的環(huán)境。JVM分配的一些內(nèi)存區(qū)域是:
ClassLoader:它是JVM的一個(gè)組件,用于加載類(lèi)文件。
類(lèi)(方法)區(qū):它存儲(chǔ)每個(gè)類(lèi)的結(jié)構(gòu),例如運(yùn)行時(shí)常量池、字段和方法數(shù)據(jù)以及方法的代碼。
堆:堆創(chuàng)建了一個(gè)運(yùn)行時(shí),它包含分配對(duì)象的運(yùn)行時(shí)數(shù)據(jù)區(qū)。
堆棧: 堆棧在運(yùn)行時(shí)存儲(chǔ)局部變量、引用變量和部分結(jié)果。它還有助于方法調(diào)用和返回值。每個(gè)線(xiàn)程在創(chuàng)建線(xiàn)程時(shí)都會(huì)創(chuàng)建一個(gè)私有 JVM 堆棧。
程序計(jì)數(shù)器寄存器:此內(nèi)存區(qū)域包含當(dāng)前正在執(zhí)行的 Java 虛擬機(jī)指令的地址。
本機(jī)方法堆棧:此區(qū)域?yàn)閼?yīng)用程序中使用的所有本機(jī)方法保留。
以下是 Java 平臺(tái)與其他平臺(tái)之間的主要區(qū)別:
Java 平臺(tái)是一個(gè)純軟件平臺(tái),可在其他基于硬件的平臺(tái)之上運(yùn)行;其他平臺(tái)主要是硬件軟件或純硬件,只能在硬件上運(yùn)行。在任何操作系統(tǒng)上,程序員都可以編寫(xiě) Java 代碼。Java 字節(jié)碼可以在任何支持它的平臺(tái)上運(yùn)行。
另一方面,其他語(yǔ)言需要為特定平臺(tái)開(kāi)發(fā)的庫(kù)才能運(yùn)行。
不,你不能這樣寫(xiě)。任何方法都必須先指定修飾符,然后是返回值。修飾符可以按任何順序重新排列。
代替 public static void main(),我們可以使用 static public void main()。
Sun 對(duì) Java SE、標(biāo)準(zhǔn)版以及 Java 虛擬機(jī)、CORBA 等一組相關(guān)技術(shù)的指定是“Core Java”。例如,這主要是為了將其與 Java ME 或 Java EE 區(qū)分開(kāi)來(lái)。還值得注意的是,它們指的是庫(kù)集合而不是編程語(yǔ)言。
存儲(chǔ)固定數(shù)量的單一類(lèi)型值的容器對(duì)象稱(chēng)為數(shù)組。數(shù)組的長(zhǎng)度在創(chuàng)建時(shí)確定。它的長(zhǎng)度在創(chuàng)建時(shí)設(shè)置。
byte 和 char都是Java 中的數(shù)字?jǐn)?shù)據(jù)類(lèi)型,它們可以表示一個(gè)范圍內(nèi)的整數(shù),但它們有著根本的不同。byte 和 char 數(shù)據(jù)類(lèi)型的主要區(qū)別在于前者用于存儲(chǔ)原始二進(jìn)制數(shù)據(jù),而后者用于存儲(chǔ)字符或文本數(shù)據(jù)。字符文字可以存儲(chǔ)在 char 變量中,
例如,char ch ='x'; 字符文字用單引號(hào)括起來(lái)。byte 變量可以存儲(chǔ) -128 到 127 之間的任何值,但 char 變量可以存儲(chǔ) 0 到 255 之間的任何值。
Java 是一種面向?qū)ο蟮木幊陶Z(yǔ)言,它允許我們構(gòu)建和操作事物。構(gòu)造函數(shù)類(lèi)似于方法,因?yàn)樗且欢未a。它用于制作對(duì)象并設(shè)置實(shí)體的初始狀態(tài)。構(gòu)造函數(shù)是與類(lèi)同名的獨(dú)一無(wú)二的函數(shù)。沒(méi)有構(gòu)造函數(shù)就沒(méi)有其他方法可以創(chuàng)建對(duì)象。默認(rèn)情況下,Java 中的每個(gè)對(duì)象都有一個(gè)默認(rèn)的函數(shù)構(gòu)造函數(shù)。
Java 支持以下構(gòu)造函數(shù):
默認(rèn)或非參數(shù)化構(gòu)造函數(shù)
參數(shù)化構(gòu)造函數(shù)
復(fù)制構(gòu)造函數(shù)
我們知道static關(guān)鍵字指的是一個(gè)類(lèi)而不是一個(gè)類(lèi)的對(duì)象。不使用靜態(tài)構(gòu)造函數(shù),因?yàn)樵趧?chuàng)建類(lèi)對(duì)象時(shí)會(huì)調(diào)用構(gòu)造函數(shù)。要考慮的另一點(diǎn)是,如果我們指定靜態(tài)函數(shù)構(gòu)造函數(shù),我們將無(wú)法從子類(lèi)訪(fǎng)問(wèn)或調(diào)用它。因?yàn)槲覀冎溃m然類(lèi)中允許使用靜態(tài),但子類(lèi)中不允許使用靜態(tài)。
當(dāng)我們將一個(gè)方法標(biāo)記為final 時(shí),我們是在說(shuō)我們不希望任何其他類(lèi)覆蓋它。但是,構(gòu)造函數(shù)不能更改(根據(jù) Java 語(yǔ)言規(guī)范)。因此,將其指定為 final 是沒(méi)有意義的。
當(dāng)我們將方法標(biāo)記為抽象時(shí),我們表明它沒(méi)有主體,應(yīng)該在子類(lèi)中實(shí)現(xiàn)。然而,當(dāng)使用 new 關(guān)鍵字時(shí),構(gòu)造函數(shù)被隱式調(diào)用。因此,它需要一個(gè)身體。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743