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