java需要先安装jdk_谢谢知乎。Java初学者首先下载 JDK 开发环境,然后再下 eclipse 对吗?那 tomcat是什么?还需要安装吗?...
程序獵人Till All are One!
何馬、FAN 等人贊同
這個(gè)問(wèn)題,作為有些Java經(jīng)驗(yàn)的人,都會(huì)覺(jué)得太初級(jí)。而且,我認(rèn)為可能很多真正的高手不屑于跑來(lái)回答這種問(wèn)題。
本來(lái)我也不打算回答的,但最近剛好憑興趣在學(xué)Node.JS,順便學(xué)習(xí)加強(qiáng)一下Vim。發(fā)現(xiàn)什么Coffee Script、什么Jade、什么Express之類的還真是讓人一頭霧水。深刻地認(rèn)識(shí)到很多基礎(chǔ)的東西,如果沒(méi)有個(gè)人來(lái)串一下,對(duì)于初學(xué)者來(lái)說(shuō)還真是麻煩。
所以,我覺(jué)得還是來(lái)回答一下比較好。(是不是太羅嗦了?)
===== 正文分割線 =====
JDK是Java Development Kit,也就是說(shuō)Java開發(fā)所需的工具包。有了這個(gè)東西,一切Java開發(fā)理論上都不是問(wèn)題了。當(dāng)然,根據(jù)你下載的版本不同,可能擅長(zhǎng)的領(lǐng)域不同。通常大家都是用JDK來(lái)開發(fā)JavaSE應(yīng)用的。
具體做法上,JDK里包含了用來(lái)編譯源代碼的javac命令,和用來(lái)執(zhí)行字節(jié)碼的java命令。
只要設(shè)好了所用操作系統(tǒng)的PATH和CLASSPATH兩個(gè)環(huán)境變量,對(duì)你所寫的文本格式的Java源代碼進(jìn)行操作,原則上就不會(huì)出現(xiàn)代碼編寫問(wèn)題以外的錯(cuò)誤。
但因?yàn)閖avac和java命令都是命令行命令,執(zhí)行以及結(jié)果查看都有些麻煩。更麻煩的是代碼的動(dòng)態(tài)調(diào)試(也就是一邊跑一邊看每一步都做了什么)。
Eclipse是集成開發(fā)環(huán)境,就是解決上面說(shuō)的命令執(zhí)行和操作麻煩的問(wèn)題的。使用這個(gè)工具,如果你不做什么特別的特殊的事情的話,你可以不用操心javac和java命令怎么用,參數(shù)是什么,各種環(huán)境變量如何配置等。
只需要按照教程學(xué)會(huì)工具的使用,就可以很容易地書寫你的代碼,然后進(jìn)行編譯、執(zhí)行以及調(diào)試。
而且,代碼書寫時(shí)會(huì)有很多提示,不用去記各個(gè)Class那些龐雜的方法名等。
也正是因?yàn)榉奖?#xff0c;它會(huì)在一定程度上影響你對(duì)Java相關(guān)命令的學(xué)習(xí)以及對(duì)常用Class的掌握。畢竟重復(fù)是加強(qiáng)記憶的最佳途徑。什么都提示了,都自動(dòng)了,就很難記住了。
這就是為什么有人反對(duì)你一開始使用這工具。
至于tomcat,它是使用Java進(jìn)行Web開發(fā)的應(yīng)用服務(wù)器(Application Server)軟件。
之所以它會(huì)跟Java有緊密的聯(lián)系是因?yàn)镴ava在經(jīng)歷了誕生后的進(jìn)化之后,漸漸地被大眾接受為優(yōu)良的Web服務(wù)器端編程語(yǔ)言,也就是說(shuō)Java最能發(fā)揮其優(yōu)勢(shì)的地方是用來(lái)進(jìn)行Web開發(fā)。
從你的問(wèn)題描述,我冒昧地認(rèn)為你可能不是太了解什么是Web開發(fā)。所以簡(jiǎn)單做一下解釋。
Web開發(fā),說(shuō)白了就是網(wǎng)站構(gòu)建的軟件部分。我們每天上網(wǎng),看到各種網(wǎng)頁(yè),這些網(wǎng)頁(yè)大多數(shù)都是由服務(wù)器端的程序根據(jù)用戶提出的請(qǐng)求生成出來(lái)。這些程序就是服務(wù)器端運(yùn)行的程序。
而服務(wù)器與瀏覽器的溝通是通過(guò)特定的格式進(jìn)行的,這個(gè)格式被稱作HTTP協(xié)議,HTTP協(xié)議有很多內(nèi)容需要處理,如果所有這些都由開發(fā)者來(lái)做,未免負(fù)擔(dān)過(guò)重。所以,很多年以前就有人開發(fā)出了專門的應(yīng)用程序服務(wù)器軟件,專門負(fù)責(zé)處理HTTP協(xié)議中的細(xì)節(jié)部分,而把真正需要的處理發(fā)送給專門的程序,也就是Web開發(fā)的程序。
以Java為例——
所有的Java程序啟動(dòng)入口都是public static void main(String[] args)函數(shù)。tomcat里面就有這么一個(gè)函數(shù),運(yùn)行這個(gè)函數(shù)后,tomcat里面會(huì)進(jìn)行各種處理——打開網(wǎng)絡(luò)端口進(jìn)行監(jiān)聽(tīng)、加載HTTP解析模塊……我們稱作服務(wù)器啟動(dòng)了。(實(shí)際是跟Apache協(xié)作進(jìn)行的,這里就不詳述了。)
當(dāng)從網(wǎng)絡(luò)上有請(qǐng)求到達(dá)我們的tomcat服務(wù)器時(shí),它會(huì)根據(jù)請(qǐng)求的地址來(lái)調(diào)用你寫的java程序模塊。
比如,讓我們先假設(shè)知乎的后臺(tái)是Java實(shí)現(xiàn)的。
當(dāng)你敲入
http://www.zhihu.com/
的時(shí)候,tomcat會(huì)得到一個(gè)希望訪問(wèn)/(根目錄資源)的請(qǐng)求。
然后它去配置文件里查根目錄對(duì)應(yīng)的模塊是什么。
假設(shè)查到的模塊是root這個(gè)類
那么它會(huì)去調(diào)用root.doGet()方法。
而你寫一個(gè)Servlet的時(shí)候,必須實(shí)現(xiàn)doGet()方法,此時(shí)你的方法被調(diào)用,那么你寫的代碼就運(yùn)行了。
大概就是這么個(gè)狀況。
至于學(xué)習(xí)方法。因人而異。
如果你希望直接學(xué)習(xí)如何用Java來(lái)開發(fā)Web應(yīng)用。建議在學(xué)習(xí)Java語(yǔ)言之前先簡(jiǎn)單學(xué)習(xí)一下網(wǎng)絡(luò)基礎(chǔ)知識(shí)。
至少理解以下幾個(gè)基礎(chǔ)概念(到維基百科上查查,讀懂即可):
服務(wù)器
客戶端
協(xié)議
端口
URL
TCP/IP
網(wǎng)絡(luò)分層結(jié)構(gòu)(了解概念即可,暫時(shí)不需要記住各層是咋回事兒)
瀏覽器
HTTP(需要理解GET/POST的意義、差別)
HTML
Session(會(huì)話)
然后再開始Java進(jìn)行Web開發(fā)的學(xué)習(xí)。
最后,祝你學(xué)習(xí)愉快。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的java需要先安装jdk_谢谢知乎。Java初学者首先下载 JDK 开发环境,然后再下 eclipse 对吗?那 tomcat是什么?还需要安装吗?...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 合金多少钱一克啊?
- 下一篇: java afconsole_Java