首先JavaSE是核心,這是初學(xué)Java人員應(yīng)接觸學(xué)習(xí)的部分。Java的運行原理,jdk的配置,與jre的區(qū)別,基本數(shù)據(jù)類型,流程控制(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)),數(shù)組、集合框架,異常處理等,這些都是比
較容易學(xué)習(xí)的,需要多練習(xí),在聯(lián)系過程中加強理解。面向?qū)ο蟛糠质荍ava初學(xué)者,尤其是沒有任何編程語言基礎(chǔ)的學(xué)起來有些難度,類、對象、繼承、封裝、多態(tài)等技術(shù)點需要多參照些現(xiàn)有的設(shè)計模型,學(xué)習(xí)設(shè)計的思路。諸如工廠模式、觀察者模式、代理模式等重要的設(shè)計模式也是需要學(xué)習(xí)的,否則在將來應(yīng)用框架時就會只知其然,不知其所以然。IO流、多線程也一定需要學(xué)習(xí),尤其是XML、JSON等文件格式一定要掌握,這在數(shù)據(jù)交互時常用。
其次是數(shù)據(jù)庫知識,作為初級Java程序員必須要掌握一種常用的關(guān)系型書庫的應(yīng)用,如MySQL或oracle等,數(shù)據(jù)庫對象諸如表、視圖等的創(chuàng)建、增刪改查語句,尤其是查詢,在企業(yè)中經(jīng)常需要從十幾張表、或幾十張表
中查詢數(shù)據(jù),所以對于如何進行內(nèi)連接、外連接、以及聯(lián)合查詢等一定要掌握,另外對于索引、事務(wù)等也要掌握。
第三是Java Web部分,由于Java主要做web開發(fā),一些前端技術(shù)HTML3、CSS5,javaScript,jQuery等這些不見得要學(xué)得有多深入,但是必須要掌握,tomcat、jsp,以及和數(shù)據(jù)庫的交互這些都是必須要掌握的。
第四是框架部分,主流的ORM框架有Mybatis、hibernate,MVC框架有Spring MVC、Struts2等,可以優(yōu)先掌握主流的SSM框架組合,框架的學(xué)習(xí)有人認(rèn)為很簡單,就按照規(guī)定、規(guī)范調(diào)用、使用唄,初學(xué)者可以先學(xué)習(xí)如何使用這些框架,然后慢慢的探究內(nèi)部原理,因為框架是技術(shù)封裝、簡化的產(chǎn)物。
這里面有些同類型的技術(shù)比如hibernate,如果會使用Mybatis了,那么上手就會很容易,同理如果Spring MVC框架應(yīng)用熟練了,那么Struts2框架其實就可以現(xiàn)學(xué)現(xiàn)賣了。
一個web程序包含的模塊很多,不一定包括所有模塊。
系統(tǒng)模塊:Windows、Linux系統(tǒng)等。
存儲模塊:這里既包括關(guān)系型數(shù)據(jù)庫MySQL、oracle等,也包括內(nèi)存數(shù)據(jù)庫redis、memcached等。
程序模塊:還可以細化成持久化模塊、業(yè)務(wù)邏輯模塊、表現(xiàn)層模塊,MVC框架的實現(xiàn)。
搜索模塊:應(yīng)用solr或Elasticsearch等。
服務(wù)器模塊:tomcat、weblogic、Resion等
中間件模塊:nginx、MQ消息隊列技術(shù)等。
在這里額外說一下技術(shù)和技能的區(qū)別,初學(xué)者學(xué)一個技術(shù)可能很容易,但是這個技術(shù)如何在企業(yè)開發(fā)環(huán)境中應(yīng)用這就是技能了,所以在學(xué)習(xí)的同時,要多應(yīng)用,通過一些案例項目來學(xué)習(xí),這樣既高效,學(xué)習(xí)的還扎實。
補充一點,現(xiàn)在的應(yīng)用級別越來越大,海量數(shù)據(jù)、高并發(fā)是處理的重點,單應(yīng)用的程序已經(jīng)無法滿足要求,分布式是趨勢,Dubbo、Zookeeper、Docker、SpringBoot、SpringCloud、MyCat等技術(shù),包括上面系統(tǒng)模塊里提到的一些技術(shù)都要學(xué)習(xí)的。