01.JDK和JRE的區(qū)別是什么年碘?它們各自有什么作用
- JDK(Java Development Kit)是Java開發(fā)工具,它不僅提供了Java程序運(yùn)行所需的JRE,還提供了一系列的編譯映跟、運(yùn)行等工具,如javac扬虚、java努隙、javaw等。
- JRE(Java Runtime Environment)只是Java程序的運(yùn)行環(huán)境孔轴,它最核心的內(nèi)容就是JVM(Java虛擬機(jī))及核心類庫(kù)剃法。
02.Java與C++程序在編譯和運(yùn)行上有什么區(qū)別
- C++源碼編譯以后,生成的是特定機(jī)器可以直接運(yùn)行的文件,而Java源碼經(jīng)過編譯后贷洲,生成的是中間的字節(jié)碼文件收厨。這些字節(jié)碼文件是需要放在JVM中運(yùn)行的,而JVM是有多個(gè)平臺(tái)版本的优构。因此诵叁,Java具有跨平臺(tái)性,而C++沒有钦椭。
03.什么是JVM及其工作原理
- JVM是一種用軟件模擬出來(lái)的計(jì)算機(jī)拧额,它用于執(zhí)行Java程序,有一套非常嚴(yán)格的技術(shù)規(guī)范彪腔,是Java跨平臺(tái)特性的依賴基礎(chǔ)侥锦。Java虛擬機(jī)有自己想象中的硬件,如處理器德挣、堆棧恭垦、寄存器等,還具有相應(yīng)的指令系統(tǒng)格嗅,它運(yùn)行Java程序就好像一臺(tái)計(jì)算機(jī)運(yùn)行C或C++程序一樣番挺。
04.Java程序?yàn)槭裁礋o(wú)須delete語(yǔ)句進(jìn)行內(nèi)存回收
- Java的堆內(nèi)存數(shù)據(jù)的釋放功能是由垃圾回收器自動(dòng)進(jìn)行的,無(wú)需程序員顯示的調(diào)用delete方法屯掖。該機(jī)制有效的避免了因?yàn)槌绦騿T忘記釋放內(nèi)存而造成內(nèi)存溢出的錯(cuò)誤玄柏,相對(duì)于C++等需要顯示釋放內(nèi)存的語(yǔ)言,是一種巨大的改進(jìn)贴铜。
05.Java連接數(shù)據(jù)庫(kù)的四種方式
Java連接數(shù)據(jù)庫(kù)的方式有多種:根據(jù)所需要的不同數(shù)據(jù)庫(kù)驅(qū)動(dòng)分粪摘,分為四種:
- 1類驅(qū)動(dòng)。JDBC-ODBC橋的方式
- 2類驅(qū)動(dòng)阀湿。JDBC+廠商API的形式
- 3類驅(qū)動(dòng)赶熟。JDBC+廠商Database Connection Server+DataBase的形式
- 4類驅(qū)動(dòng)。純JDBC+DATABASE的連接方式