Java的知識(shí)點(diǎn)其實(shí)非常多,并且有些知識(shí)點(diǎn)比較難以理解,有時(shí)候我們自以為理解了某些內(nèi)容,其實(shí)可能只是停留在表面上,沒有理解其底層實(shí)現(xiàn)原理。
學(xué)習(xí)Java基礎(chǔ)的時(shí)候,應(yīng)該盡量多動(dòng)手,很多時(shí)候,你想當(dāng)然的事情,等你寫出來運(yùn)行一下,你就會(huì)發(fā)現(xiàn)不是這么回事兒,不信你就試試
因此,對(duì)于新手程序員和Java開發(fā)愛好者來說,多學(xué)多練才是王道。
小編這里為大家重點(diǎn)總結(jié)了一些常見知識(shí)點(diǎn)和初學(xué)建議,方便大家學(xué)習(xí)和練習(xí)。
1、熟練的使用Java語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì),有良好的編程習(xí)慣,熟悉常用的Java
API,包括集合框架、多線程(并發(fā)編程)、I/O(NIO)、Socket、JDBC、XML、反射等。
2、學(xué)會(huì)使用數(shù)據(jù)庫(kù),mysql是個(gè)不錯(cuò)的入門選擇,而且Java領(lǐng)域里主流的關(guān)系型數(shù)據(jù)庫(kù)就是mysql。
熟悉常用的關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品(MySQL、Oracle),熟練的使用SQL和PL/SQL進(jìn)行數(shù)據(jù)庫(kù)編程。
這部分一般在你學(xué)習(xí)Servlet/Jsp的時(shí)候,就會(huì)接觸到的,其中的JDBC部分就是數(shù)據(jù)庫(kù)相關(guān)的部分。
你不僅要學(xué)會(huì)使用JDBC操作數(shù)據(jù)庫(kù),還要學(xué)會(huì)使用數(shù)據(jù)庫(kù)客戶端工具,比如navicat,sqlyog,二選一即可。
3、對(duì)Spring的IoC容器和AOP原理有深入了解,熟練的運(yùn)用Spring框架管理各種Web組件及其依賴關(guān)系,熟練的使用Spring進(jìn)行事務(wù)、日志、安全性等的管理,有使用SpringMVC作為表示層技術(shù)以及使用Spring提供的持久化支持進(jìn)行Web項(xiàng)目開發(fā)的經(jīng)驗(yàn),熟悉Spring對(duì)其他框架的整合。
4、熟練的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,對(duì)Hibernate的關(guān)聯(lián)映射、繼承映射、組件映射、緩存機(jī)制、事務(wù)管理以及性能調(diào)優(yōu)等有深入的理解。
5、熟練的使用HTML、CSS和Javascript進(jìn)行Web前端開發(fā),熟悉jQuery和Bootstrap,對(duì)Ajax技術(shù)在Web項(xiàng)目中的應(yīng)用有深入理解,有使用前端MVC框架(AngularJS)和Javascript模板引擎(HandleBars)進(jìn)行項(xiàng)目開發(fā)的經(jīng)驗(yàn)。
spring、springmvc、mybatis,你需要學(xué)會(huì)這三個(gè)框架的搭建,并用它們做出一個(gè)簡(jiǎn)單的增刪改查的Web項(xiàng)目。你可以不理解那些配置都是什么含義,以及為什么要這么做,這些留著后面你去了解。
6、在搭建SSM的過程中,可能會(huì)經(jīng)常接觸到一個(gè)叫maven的工具。這個(gè)工具也是你以后工作當(dāng)中幾乎是必須要使用的工具,所以你在搭建SSM的過程中,也可以順便了解一下maven的知識(shí)。
在你目前這個(gè)階段,你只需要在網(wǎng)絡(luò)上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經(jīng)驗(yàn)的增加,會(huì)逐漸接觸到的。
7、 熟悉面向?qū)ο蟮脑O(shè)計(jì)原則,對(duì)GoF設(shè)計(jì)模式和企業(yè)應(yīng)用架構(gòu)模式有深入的了解和實(shí)際開發(fā)的相關(guān)經(jīng)驗(yàn),熟練的使用UML進(jìn)行面向?qū)ο蟮姆治龊驮O(shè)計(jì),有TDD(測(cè)試驅(qū)動(dòng)開發(fā))和DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))的經(jīng)驗(yàn)。
8、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服務(wù)器和應(yīng)用服務(wù)器的使用,熟悉多種服務(wù)器整合、集群和負(fù)載均衡的配置。
9、熟練的使用產(chǎn)品原型工具Axure,熟練的使用設(shè)計(jì)建模工具PowerDesigner和Enterprise
Architect,Eclipse和IntelliJ、WebStorm、SVN和Git,熟練的使用項(xiàng)目構(gòu)建和管理工具M(jìn)aven和Gradle。
10、一些其他拓展知識(shí):
前端:html/js/css
以及jquery,一套以上ui框框(easyui或者layui)能夠熟悉使用(小全棧)。有能力可以接觸vue,react等流行js。
算法:各個(gè)大廠對(duì)工程師的數(shù)據(jù)結(jié)構(gòu)和算法要求都挺高,建議可以刷letcode,劍指offer(???,pat(???,這些算法在面試會(huì)經(jīng)常問到或者出現(xiàn)在筆試。喜歡的也可以刷hdu,poj增強(qiáng)算法思維和能力。
爬蟲:當(dāng)前爬蟲算是一個(gè)比較火但是不太拿的上臺(tái)面的一門技術(shù)??梢酝ㄟ^爬蟲(python/java都可以)增強(qiáng)對(duì)接口的認(rèn)識(shí)。為自己工作的反爬做做準(zhǔn)備。并且在課余之際也可以做些有趣的東西。
從現(xiàn)在開始,學(xué)一門不過時(shí)的技術(shù),成為技術(shù)大牛,在互聯(lián)網(wǎng)時(shí)代,你就是手捧金飯碗了。