發(fā)布時(shí)間:2021-04-09 15:58:14來(lái)源:轉(zhuǎn)載
許多學(xué)習(xí)Java的人都會(huì)抱怨,讓人應(yīng)接不暇的眾多框架和包,所以很多人會(huì)覺(jué)得Java的學(xué)習(xí)成本很高。聽到這里,學(xué)前端的人忍不住要吐槽了,Java這還叫高嗎?覺(jué)得Java成本高的可以去試試前端,那才叫真的高。事實(shí)上的確如此,對(duì)比其他類的編程語(yǔ)言來(lái)說(shuō),Java的學(xué)習(xí)成本不算高,甚至稱得上是比較低的。
java目前是應(yīng)用領(lǐng)域比較廣泛,第三方包完整,教材資料眾多,標(biāo)準(zhǔn)統(tǒng)一的平臺(tái)了,這意味著在工程上,不會(huì)存在太多未知和不確定的因素。
首先來(lái)算算:
Java SE 8.才2672個(gè)類,1121個(gè)接口,一共217個(gè)package,來(lái)我們做減法。
awt和swing以及org開頭的包不用看。那還剩多少?
再看看常用的標(biāo)準(zhǔn)package:
1. http://java.io (輸入輸出)
2. java.lang (基本類型的對(duì)象,線程,以及注解反射等)
http://3.java.net和java.nio (java網(wǎng)絡(luò)部分和nio讀寫)
4.java 8新增的java.time (日歷和時(shí)間)
5.使用最多的java.util (分別涉及,常用數(shù)據(jù)結(jié)構(gòu),concurrent并發(fā),鎖,日志接口)
6.剩下就是一個(gè)java.sql的數(shù)據(jù)庫(kù)操作,和javax.security這類的常用加解密,xml操作(一般用第三方的)。
最后來(lái)清點(diǎn)一下常用第三方庫(kù):
1.log相關(guān),log4j slf4j之類的接口,一個(gè)下午可以搞定怎么使用,從此你不用考慮日志問(wèn)題了,不管是遠(yuǎn)程的,本地的,格式怪異的。
2.網(wǎng)絡(luò)相關(guān),netty,這個(gè)就是nio的高級(jí)封裝,學(xué)會(huì)怎么使用也就一天。
3.java.util的補(bǔ)充包,google的guava。lang補(bǔ)充包apache common lang,jodd(可選)。數(shù)據(jù)結(jié)構(gòu)你幾乎不用任何考慮,lang的擴(kuò)充補(bǔ)全了標(biāo)準(zhǔn)的不足。
4.web開發(fā),springMVC spring mybatis(hibernate) ,三大件。與之配合的是javaEE標(biāo)準(zhǔn)庫(kù)。
5.常用細(xì)碎的各種包,json格式包,數(shù)據(jù)庫(kù)連接池,disruptor,常用內(nèi)存緩存工具EhCache。時(shí)間調(diào)度Quartz。
6.apache項(xiàng)目組下還有一大堆其他的組件。
重慶達(dá)內(nèi)Java培訓(xùn)的老師認(rèn)為,那么抱怨Java難學(xué)、學(xué)習(xí)成本高的,普遍是一些不肯下苦功、不愿意努力的人。所以說(shuō),請(qǐng)不要拿自己不努力和無(wú)知當(dāng)作學(xué)不會(huì)Java的借口。重慶達(dá)內(nèi)Java培訓(xùn)的老師友情提示:只要狠下功夫,勤奮練習(xí),Java對(duì)于你來(lái)說(shuō)就是輕而易舉的事情了。