本文目錄一覽:
新手學JAVA都要學哪些知識啊
這樣的問題,我已經回答了很多次,現在很多新手,特別是剛剛進入學生的學生,不知道該從哪裡入手,我整理了一些java的知識點,一共分為一個階段,273個技能點,第一階段、第二階段、第三階段、第四階段是必須要掌握的,第五階段和第六階段就是高薪、高職的保障,就說說想高薪必須得把後面兩個階段的給掌握了,
第一階段:java基本功修鍊
1. 認識計算機硬體
2. 計算機組成原理
3. 計算機軟體知識
4. 計算機網路知識
5. 常用網路應用操作
6. 認識計算機病毒
7. 邏輯訓練
8. 初識Java
9. 變數和數據類型
10. 選擇結構
11. 循環結構for
12. 循環結構do-while
13. 循環結構while
14. 多重循環及程序調試
15. 循環進階
16. 一維數組及經典應用
17. 二維數組
18. 認識類與對象
19. 方法及方法重載
20. 封裝與繼承
21. 方法重寫與多態
22. 項目實戰-汽車租賃系統
23. 抽象類和介面
24. 異常
25. 項目實戰-QuickHit
26. Java 中的集合類型
27. List 集合
28. Set 集合
29. HashMap 集合
30. Iterator
31. Collections 演算法類及常用方法
32. enum
33. 包裝類及裝箱拆箱
34. String、StringBuffer 類常用方法操作字元串
35. Date、Calendar
36. Math 類常用方法
37. IO/NIO
38. 位元組輸入流(InputStream、FileInputStream、BufferedInputStream)
39. 位元組輸出流(OutputStream、FileOutputStream、BufferedOutputStream)
40. 字元輸入流(Reader、InputStreamReader、FileReader BufferedReader)
41. 位元組輸出流(Writer、OutputStreamWriter、FileWriter、BufferedWriter)
42. 文件複製
43. Serialize、Deserialize
44. 職場晉陞力:四象限時間管理與精力管理
45. 多線程(Thread、Runnable)
46. Thread LifeCycle
47. 線程的調度
48. 線程的同步和死鎖
49. Thread Pool
50. 職場晉陞力:團隊合作
51. Socket(TCP、UDP)
52. XML 概念、優勢、規範
53. XML 中特殊字元的處理
54. 使用DOM 讀取、添加、刪除、解析 XML 數據
第二階段:javaweb開發
55. 搭建和配置MySQL 資料庫
56. 資料庫增、刪、查、改語句
57. 事務
58. 視圖
59. 資料庫備份與恢復
60. 資料庫用戶管理
61. 資料庫設計
62. 項目實戰-銀行ATM 存取款機系統
63. 走進 HTML 和CSS
64. 列表表格及表單美化
65. CSS 高級操作
66. Bootstrap
67. CSS 組件
68. JavaScript 面向對象
69. JavaScript 判斷、循環
70. JavaScript 閉包
71. JavaScript 語法
72. Bootstrap 綜合案例
73. HTML5、CSS3
74. jQuery 基礎
75. jQuery 基本操作
76. jQuery 事件與特效
77. jQuery Ajax
78. jQuery 插件
79. 搭建Web 環境初識JSP
80. JSP 九大內置對象
81. JSP 實現數據傳遞和保存
82. JDBC
83. 單例模式、工廠模式
84. MVC、三層模式
85. Commons-fileupload、CKEditor
86. 分頁查詢
87. EL 與 JSTL
88. Servlet 與Filter
89. Listener 與MVC
90. Ajax 與 jQuery
91. jQuery 的Ajax 交互擴展
92. 項目實戰—使用Ajax 技術改進新聞發布系統
93. 反射
94. Linux 系統的安裝
95. 在Linux 中管理目錄和文件
96. 在Linux 中管理用戶和許可權
97. 在Linux 伺服器環境下安裝軟體和部署項目
98. 職場晉陞力:職場溝通
第三階段: 企業級框架開發
99. MyBatis 環境搭建
100. SQL 映射文件
101. 動態SQL
102. MyBatis 框架原理
103. Spring IOC
104. 構造注入、依賴注入、註解
105. Spring 整合MyBatis(SqlSessionTemplate、MapperFactoryBean、事務
處理)
106. Spring 數據源(屬性文件、JNDI)、Bean 作用域
107. Spring 框架的運行原理
108. SpringMVC 體系概念
109. SpringMVC 之數據綁定、數據效驗、
110. SpringMVC 之視圖及視圖解析
111. SpringMVC 之文件上傳、本地化解析
112. SpringMVC 之靜態資源處理、請求攔截器、異常處理
113. Oracle 資料庫環境搭建、安裝
114. Oracle 資料庫 SQL、分頁、備份、還原
115. Hibernate 概念、依賴
116. HQL 查詢語言
117. Hibernate 中配置關聯映射
118. HQL 連接查詢與 Hibernate 註解
119. Struts 2 概念、依賴
120. Struts 2 配置
121. OGNL 表達式
122. Struts 2 攔截器
123. SSH 框架整合
124. 使用Maven 構建項目
125. 使用Struts 2 實現Ajax
126. Jsoup 網路爬蟲
127. 多線程網路爬蟲
128. 反爬及反反爬策略
129. 通用爬蟲設計
130. Echart 圖表分析
131. IKAnalyzer 分詞
132. 企業框架項目實戰-代理商管理系統
133. 企業框架項目實戰-SL 會員商城
134. 企業框架項目實戰-會員管理系統
135.企業框架項目實戰-互聯網招聘信息採集分析平台
第四階段: 前後端分離開發
136. GitHub
137. Git 基礎(checkout、pull、commit、push、merge 等)
138. Git 進階(多分支協作)
139. GitLab
140. IDEA 的使用
141. Maven 介紹(概念、倉庫、構建、命令)
142. 使用Maven 構建WEB 項目
143. 使用Maven 構建多模塊項目
144. 使用Maven 搭建私服倉庫
145. Scrum 框架介紹(三個角色、三個工件、四個會議)
146. Scrum Team 組建團隊
147. 產品需求和用戶故事
148. 每日立會
149. 使用敏捷-Scrum 方式開發管理實戰
150. 前後端分離、分散式集群架構、垂直架構
151. SSM(SpringMVC+Spring+MyBatis)整合實戰
152. Git、Maven 私服Nexus
153. 第三方接入技術(微信、阿里)
154. MySQL 電商實戰
155. Redis(緩存服務)
156. 搜索引擎-Solr
157. 集成API Doc 工具-Swagger
158. 圖片自動化處理:Tengine+LUA+GraphicsMagic
159. 手機、郵箱註冊
160. 單點登錄 Token
161. OAuth2.0 認證
162. Jsoup 網路爬蟲(多線程爬蟲/代理 IP 爬蟲)
163. ExecutorService 線程池
164. IK 中文分詞
165. Postman
166. ReactJS
167. webpack
168. 職場晉陞力:簡歷撰寫
169. 程序猿面試寶典之項目面試
170.大型互聯網旅遊電商項目實戰-愛旅行
第五階段: 分散式微服架構開發
171. Spring Boot 環境搭建
172. Spring Boot 常用技能
173. Spring Boot 整合Redis
174. Spring Boot 整合Mybatis
175. 微服務架構及架構設計
176. 消息隊列
ActiveMQ\RabbitMQ
177. 分散式事務
178. 分散式鎖 Redis-setnx
179. Zookeeper 註冊中心
180. 基於 ActiveMQ 實現高並發
181. Docker 環境搭建
182. Docker 鏡像加速
183. Docker 容器管理
184. Docker 鏡像管理
185. Docker 容器文件備份
186. Dockerfile
187. Docker 私服倉庫
188. 真實互聯網高並發電商項目實戰-雙十一搶購
189. 可視化監控 Portainer
190. Docker Compose 容器編排
191. Docker Compose 擴容、縮容
192. Docker Swarm 集群編排
193. Jenkins 安裝、插件配置
194. Jenkins 配置普通任務
195. Jenkins 配置管道任務
196. Jenkins 自動發布服務
197. Spring Cloud Eureka
198. Spring Cloud Feign
199. Spring Cloud Ribbon
200. Spring Cloud Zuul
201. Spring Cloud Config
202. Spring Cloud Hystrix
203. Spring Cloud Sleuth
204. Spring Boot Admin
205.Eureka 註冊原理探秘
206. Spring Cloud 大坑解讀
207. Zipkin
208. Zipkin 整合RabbitMQ
209. Zipkin 整合MySQL
210. ELK 日誌收集
211.Kafka
212. Elasticsearch 映射管理
213. Elasticsearch 查詢/複合查詢
214. Elasticsearch 集群/集群規劃
215. Elasticsearch 聚合
216. Elasticsearch 集群監控
217. Elasticsearch 插件
(Head/BigDesk)
218. Mycat 讀寫分離
219. Mycat 一主多從
220. Mycat 多主多從
221. Mycat 數據分片
222. Redis
223. Redis-Redlock
224. Elasticsearch 環境搭建
225. Elasticsearch 客戶端
226. Elasticsearch 索引管理
227. Elasticsearch 文檔管理
228. Mycat 集群
229. Jmeter 並發測試
230. Jmeter 生成測試報告
231. 微信登錄
232. 微信支付
233. 支付寶支付
234. 百度地圖
235. Sonar 本地檢測
236. Sonar +Jenkins 線上檢測
237. CI/CD
238. Spring Boot 改造愛旅行項目實戰
239. 大型互聯網票務類電商項目實戰-大覓網
240. ES6 概念(les、const)
241. ES6 對象和數組
242. ES6 函數擴展
243. VUE 環境搭建
244. VUE.JS 指令
245.VUE 交互
246. VUE 實例生命周期
247. VUE 組件
248. VUE 項目環境配置及單文件組件
249.VUE 路由
第六階段:cc服務
250. Spring Cloud Gateway
251. Consul
252. Nacos
253. Eureka、Consu、lNacos、Zookeeper 對比分析
254. Prometheus + Grafana
255. ES 分散式存儲原理
256. NoSQL 資料庫解決方案(Redis、MongoDB)
257. OAuth2.0 認證( authorization code 模式)
258. OAuth2.0 認證( implicit 模式)
259. OAuth2.0 認證( resource owner password credentials 模式)
260. OAuth2.0 認證( client credentials 模式)
261. NAS/FastDFS 分散式文件存儲
262. Python 基礎
263. Python 爬蟲
264. 大數據及 Hadoop 概述
265. 分散式文件系統 HDFS
266. 分散式計算框架MapReduce
267. 分散式列式資料庫 HBase
268. Hadoop 綜合應用
269. 面試大局觀
270. 職業規劃
271. 項目面試
272. 具體業務場景化解決方案
273. 更多技術專題持續增加中
java怎麼學
第一步:零基礎學習java的第一步,首先先學習,計算機基本原理,Java語言發展簡史,這些是最基本的常識,初學者一定要了解這些常識。
第二步:要了解java開發的環境搭建,體驗java程序員的開發環境,比如變數path和classpath的設置,java程序員的執行過程,java反編譯工具。
然後了解,計算機常用進位二、八、十六的介紹,以及它們與十進位之間的相互轉化,ASCII碼。
第三步:了解Java語法格式,常量和變數,變數的作用域,函數和函數的重載,運算符,程序流程式控制制,數組和操作數組的類。針對數組的常用查找、排序演算法原理,以及其Java實現。
第四步:學習一個很難理解的一個概念「對象」,很多人學到「對象」就會感到有些吃力,不過沒關係,只要根據小編工具里的教程來學習,肯定可以讓你很快掌握。對於新手小白想更輕鬆的學好Java提升,Java架構,web開發、大數據,數據分析,人工智慧等技術,這裡給大家分享系統教學資源
這段時間,你要掌握的知識點如下:
對象的本質,理解面向對象,類與對象的關係,在程序中如何應用面向對象的思想解決問題。
如何設計類,設計類的基本原則,類的實例化過程,類的細節:構造函數、this關鍵字、方法和方法的參數傳遞過程、static關鍵字、內部類,Java的垃極回收機制,Javadoc介紹。
對象的三大特性:封裝、繼承和多態,以及相應的Java實現:子類對象的實例化過程、方法的覆蓋、final關鍵字、抽象類、介面、繼承的優點和缺點剖析。
JAVA如何進階?
基礎階段
基礎階段, 可能需要經歷1-2年吧. 這個時段, 應該多寫一些基礎的小程序(自己動手寫的越多越好). 計算機是一門實踐性很強的學科, 自己動手的東西, 記憶非常深刻, 效果要勝過讀好多書. 當然, 學Java基礎的時候, 書籍的選擇也非常重要, 好的書籍事半功倍, 能讓你打個非常好的基礎. 而差的書籍, 很容易將你帶入歧途, 多走很多彎路. 書籍不在多, 而在乎讀得精(有些書, 你讀十遍都不為過). 我記得我學Java的第一本書是Thinking in Java的中文版, 網上有很多人都建議不要把這本書作為第一本的入門教程來看, 太難. 我卻想在此極力推薦它, 這本書確實是本經典之作. 而且書中確實講的也是Java中的一些基礎技術, 沒有什麼太難的東西, 只不過比較厚, 學習周期比較長, 所以很多人中途會選擇放棄. 其實, 這本書是一本難得的入門教程, 對Java一些基礎的東西, 講得很全, 而且也很清晰, 更重要的是, 這本書能讓你養成很多好的編程習慣, 例子也很多. 建議你把大部分的例子自己去實現一遍. 我的親身經歷, 我記得當時認真的看了2遍, 花了大概7個月的時間, 不過真的有很好的效果. 另外一個教程, 就是Java核心技術卷一, 卷二的話可以不必要買. 卷一看完, 自己再鑽研一下, 就已經能達到卷二的高度了:). 到那時, 你就會覺得看卷二沒啥意思, 感覺浪費錢了. 還有一個, 就是張孝祥的Java視頻, 看視頻有個好處, 就是比看書的記憶要深刻, 還有很多你可以跟著視頻的演示同步操作. 張孝祥的Java視頻對初學者來說, 確實很有作用. 總結起來: 看這些資料的時候, 一定要多寫例子, 寫的越多越好!
中級階段
中級階段, 是一個更漫長的時期, 能否突破此階段, 跟個人的努力和天資有著很大的關係. 你不得不承認, 同樣一門新技術, 有些人一個月領悟到的東西, 比你一年的都多. 這就是天資, 程序員是一個需要天才的工作. 我想, 很多人聽說李一男吧, 此君就是這樣的人物, 三個月的時間就能解決好大一幫人幾年解決不了的問題, 給華為某部門帶來了很多的收益. 哦, 這是題外話了, 與此篇的主題無關, 只是本人偶爾的感慨而已:). 這個階段, 就需要研究很多專題性的東西了, 比如: IO的實現原理, 多線程和Java的線程模型, 網路編程, swing, RMI, reflect, EJB, JDBC等等很多很多的專題技術, 鑽研得越深越好. 為了更好的提高, 研究的更深入, 你需要經常到網路上搜索資料, 這個時候往往一本書起不來很大的作用. 選一個JDK版本吧, 目前建議選用1.6, 多多研究它, 尤其是源代碼(盡量! 就是盡自己最大的努力, 雖然研究透是不可能滴). 比如說: util, collection, io, nio, concurrent等等包. 可能有人會反對我說, 不是有API文檔嗎, 為什麼還要研究這麼多的源代碼? 錯了, 有API文檔, 你僅僅只是知道怎麼用而已, 而認真仔細的研讀這些大牛的源碼, 你就會深入更高的一個階層, 自己的編碼, 設計都會有很大的提高. 如果有能力和精力, 我建議你把JDK的每一行代碼都熟悉一遍, 絕對只有好處, 沒有壞處! 而且你會有些意外的收穫, 比如, 當你仔細地讀完concurrent包的時候(不多, 好像總共是86個類吧), 你就會對Doug Lea佩服得五體投地. 這個時候最忌碰到難題就去尋找幫助, 去網上找答案! 先把自己的腦袋想破吧, 或者等你的老闆拿著砍刀衝過來要把你殺了, 再去尋求幫助吧. 對於專題的學習, 英文原版的閱讀是非常必要的, 看的越多越好, 多上上IBM的developer, SUN的網站吧, 當然Javaeye也很不錯:), 有很多大牛, 呵呵.
這個時候, 你應該建立自己的代碼庫了, 你應該自己去研究很多有意思的東西了. 從一個200多M的文件中尋找一個欄位, 最壞情況(在文件的末尾咯)也只需要1秒左右的時間, 你知道嗎? 這個階段, 有很多很多類似的有趣的東西可以供你去研究, 你需要更多地關注性能, 規範性, 多解決一些疑難問題. 需要學會所有的調試技術, 運用各種性能工具, 還有JDK附帶的很多工具, 這些你都要熟練得跟屠夫操刀一樣. 也可以看看Effective Java, 這本書總結的也不錯, 對寫高效穩定的Java程序有些幫助. 也可以看看模式方面的東西, 但是我建議模式不要濫用, 非得要用的時候才用, 模式往往會把問題搞複雜:). 總結起來: 這個階段是一個由點延伸到面的過程, 經過不斷的學習, 演變成全面的深入! Java技術中你沒什麼盲點了, 還能解決很多性能問題和疑難問題, 你就成了一個合格的程序員了! :) [要想成為優秀程序員, 還得對資料庫和操作系統很精通.
高級階段
高級階段, 我就不敢妄言了. 呵呵, 我感覺自己也是處於中級階段吧. 也是根據自己的一些經驗, 談談自己的理解吧:
這個階段, 需要研究各種框架, Spring, struts, Junit, Hibernate, iBatis, Jboss, Tomcat, snmp4j等等, 我覺得這個時候, 只要是用Java實現的經典框架, 你都可以去研究. ——在此申明一下, 我的意思不是說會用. 光會用其實是遠遠不夠的, 你可以選擇自己喜歡鑽研的框架, 去好好研究一下, 興趣是最好的老師嘛.
建議開始的時候, 研究Junit和Struts吧, 小一點, 裡面都採用了很多的模式, 呵呵, 可以熟悉一下, 盡量想想人家為什麼這麼做. 我建議主要的精力可以花在spring和jboss上, 尤其是jboss, 經典中的經典, 設計, 性能, 多線程, 資源管理等等, 你從中可以學到的東西簡直是太多了. 而且它還有一本寫得很好的參考書, 叫Jboss管理與開發核心技術, 英文方面的資料也是非常的多. 在工作中如果有機會參與架構的設計, 業務問題的討論, 一定想方設法殺進去! 這對自己的設計能力, 以及對設計如何運用在業務上有很大的幫助. 畢竟, 程序都是為了更好地實現用戶的業務的. 這個時候, 需要更多看看軟體工程和UML方面的資料, 或者自己主持一個項目玩玩, 不一定非得出去拉項目賺錢(能賺錢當然更好), 不管成功或失敗, 都是很寶貴的經驗, 都能提高很多!
學習JAVA需要熟練掌握哪些內容?
很多新手在學習java的時候都比較迷茫,不知道從哪裡開始學起,這裡就給大家整理了一份java開發學習內容,比較系統全面,可參考這份大綱來安排學習計劃,希望可以幫到你~
1、Java語法
通過任何一本java入門書籍,都可以學會java的基本語法。千萬不要認為,你把書上的例子程序都能寫出來就算是學會java語法了。想要真正掌握,還需要做大量的測試題。對語法不準確的理解,會是你寫的代碼出現邏輯錯誤。而這些錯誤會使你在真正的項目開發中吃盡苦頭:你認為正確才會寫上去。而在幾十萬代碼中找出幾行有邏輯錯誤的代碼,非常困難。因為你幾乎不會懷疑你認為正確的代碼存在錯誤。
2、常用類
永遠不要寫別人已經實現的代碼。有很多功能,用JDK中現有的類就可以完成。你需要熟悉JDK,可以通過研究JDK幫助文檔和JDK源代碼的方式,逐漸了解,你需要的類都在什麼地方。一方面,要熟悉有哪些可以直接使用的資源;另一方面,學習一下,SUN公司的工程是怎樣寫代碼的。
3、IDE集成開發環境
現在企業最常用的是IBM公司的eclipse,類似的還有JBuilder、Idea、NetBeans等等。畢竟,只有5%的頂尖高手在使用簡單的文本編輯器在寫java代碼。多數程序員都是在使用這些東西。
4、 資料庫
MySql,Oracle,DB2。小項目多數使用MySql這樣的免費資料庫。大一些的項目會考慮使用Oracle或者DB2。
Java項目很少使用SqlServer。因此,你還需要學習資料庫方面的一些知識。可以從SQL語言開始。這些資料庫都支持標準SQL,學會基本的SQL,參考具體的資料庫手冊,就可以完成一般的項目開發了。當然,要想使你的程序運行的效率更高,需要更深入的學習。大部分的程序優化,都是從這部分開始的。
5、 JDBC Java資料庫連接
使用Java程序操作資料庫。這部分非常重要,幾乎所有的企業項目都會用到。
6、 HTML CSS Javascript
HTML– 超文本標記語言。
CSS –層疊樣式表。
JavaScript–是一種由Netscape的LiveScript發展而來的腳本語言。
準確的說,這些東西和Java語言本身關係不大。但是,現在的企業項目,以B/S結構的居多。因此,我們的Java程序,會有大量的機會和它們打交道。需要提前準備一下。
7、你需要學習如何使用及管理WEB伺服器,例如tomcat,並且知道如何在其基礎上擴展和維護WEB程序,如何使用它的附加服務,如連接池。
8、 JSP Servlet
這兩個是初級Java程序員必須掌握的基本技能,是所有B/S結構框架的基礎。相應的,還需要學習EL以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries,以提高表示層的處理能力。
9、企業流行框架 Struts、Spring、Hibernate等
10、Java設計模式
有一些特殊的功能,只有按照特定的設計模式才能實現。如果你有了5萬行以上的代碼經驗,可以開始研究一下設計模式。
11、你還要跟上技術發展的步伐,了解在Java項目中使用的新技術。如Ajax等。
還有很多要學習的內容。先介紹這麼多吧,自己學習這些內容,估計需要2年左右。如果有個好的指導老師,在培訓學校進行系統學習,則需要4-5個月。
如果選擇培訓,一定要選擇擁有多年JAVA項目開發經驗、測試經驗、及項目管理經驗,採用「教」「練」結合,用真實項目案例進行訓練的教學方式。讓學員掌握實用的技能,在畢業後就有著實戰項目開發經驗,立刻上崗,成為諸多企業搶手的人才。
PS:溫馨提示,光看不練假把式,跟著視頻教程練項目也是必不可少的!相關教程指路B站尚學堂官方號!都是免費滴!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/158315.html