我的程式設計師之路:自學Java篇

itread01 2021-01-14 17:05:50
java itread01 之路 程式


## 序章時光疾馳,從事IT行業已兩年有餘。 16年11月開始自學Java,從此開啟自學之路,後來實習期自學大資料、python、爬蟲等,最終成長為一名平凡的程式設計師。回首望去,一路上的過往歷歷在目,有初學Java掌握皮毛後的沾沾自喜,也有遇到問題無法解決時的埋頭絕望。曾在學校的夜晚洋洋灑灑寫下筆記百十行,只為記住一個知識點。也曾實習期凌晨,走在公司到站牌昏暗燈光揮灑的馬路上,唱著自己喜歡的南山南慶祝著成長。你問我自學累麼,我會告訴你不累,因為自學路上收穫了很多。你問我自學孤獨麼,我會告訴你不孤獨,感謝這條路上曾有那麼多幫助我的人。很久之前就想以自己的經歷為題材,記錄一下關於自己的自學之路。在知乎和球球群裡,也遇到很多和我當初一樣對計算機充滿著渴望但又迷茫的童鞋。希望通過簡單的文字形式,可以幫助到一些人。## 誰的青春不迷茫我不是學霸,曾只是沉溺遊戲之人。亦非出身名校,只是一名專升本的學生。大學之前雖是被老師寄予厚望的少年,但在大學生活裡最終活成了自己曾經最討厭的樣子。我讀過三年專科、兩年本科。高考失利沒有選擇復讀,大一開學因病住院,回來跟不上學習節奏開始自暴自棄、隨波逐流。遊戲,荒廢了三年的青春。後來為了逃避離校實習,報考了專升本。剛開始的日子敷衍了事,當有一天可能從學霸的一個眼神或著一句話裡,感受到了一種俯視。從那時,我開始自學數學、資料結構、作業系統、微機原理、C語言專升本科目,最後通過專升本。專升本結束後的假期裡,試圖找過計算機相關的工作,皆無功而返,只能回家等待開學。那時的心裡,也不知道有沒有為以後埋下一顆渴望的種子。*人生會讓你有想要保護的人,也會讓你有努力的動力,或許來源於別人對你的態度,亦或許是為了生活。*## Java自學之路**環境真的會影響到一個人。**16年9月,正式開啟了本科兩年的生活。我曾以為我的舍友和我一樣,專科打打遊戲混混日子。後來才知道來自各個高校的舍友,皆為省賽免考入學。因為經常參加省賽,彼此之間也互相認識。從那時,我感到了來自身邊前所未有的壓力。我本應該躲在角落,感受弱者的黑暗。但我的舍友,沒有因為我技術菜而孤立我。那時我對Java比較感興趣,他們給我找了Java視訊,教我做筆記。從那時,我開始晚上在宿舍自學Java。對於Java我算是零基礎,專科的Java課基本上都在玩手機,而且書上的知識不足以用於工作。所以自學是很好的一個選擇。有時候也會一起網一開黑,但大多數的時候都是拒絕他們,他們也開玩笑說我不合群,說我偷偷學習不和他們打遊戲。我只會日常統一回復:我要是免考我早就不學了。其實,他們一直也在學習,一直參加比賽,一直考證,我也隨著他們的腳印一路向前。就這樣,本科的第一年堅持看Java視訊,基本兩個小時以上,當然偶爾也會偷懶。同時跟著視訊敲程式碼,敲到自己理解為止。也一直在做筆記,什麼都記,只要能讓自己看懂。看看剛開始做的Java筆記。![](https://img-blog.csdnimg.cn/20210113235813152.jpg)![筆記](https://img-blog.csdnimg.cn/20210113235524716.jpg)回過頭來看這些自學路上留下的腳印,雜亂無章,已然幫助不大,但那份初衷和努力,永遠激勵著自己。時至今日,你問我是否停止了學習Java?沒有,一直在學習。你問我自學給我帶來了什麼?一個好的學習習慣和一份收入尚可的工作。## 自學方法**找一套系統的學習視訊 + 敲程式碼 + 做筆記 + 堅持**視訊教程我看的是Java300集,做筆記之前用的是OneNote,現在用的**有道雲筆記**。在學習的過程中,要養成多問為什麼和獨立思考的習慣,形成一套完全屬於自己的程式設計思路。堅持學習,堅持獲取新的知識。計算機是一條學無止境的路。## Java大家庭在自學Java的過程中,我將Java簡單地分為以下幾類。**Java基礎**面向物件、資料型別、集合(List/Map/Set)、I/O、異常、反射、序列化、設計模式、JDBC資料庫、網路程式設計、設計模式等。**JavaWeb**servlet、request、response、cookie、session、Ajax、資料庫連線池、檔案上傳下載等。此刻就不得不提和JavaWeb配套的練手專案了,也是大家熟悉的,萬眾期待的:淘淘商城。商城類的練手專案集初學者寵愛於一身,是各大Java初學者web知識串燒的必備利器。**Spring全家桶**Spring、SpringMVC、MyBatis、SpingBoot。前三者就是傳說中SSM框架。Spring負責管理bean、SpringMVC負責處理請求,Mybatis負責資料庫操作。但是SSM框架配置檔案太多,Springboot簡化了很多配置,自從有了Springboot,我就再也不用SSM框架了,就是這麼喜新厭舊。**微服務、分散式**springcloud、dubbo。我沒有系統地學過Springcloud和dubbo,只是搞過一次專案,瞭解了一下注冊中心、閘道器、熔斷降級、swagger等。**深入理解JVM**<深入理解Java虛擬機器>這本書看了很多遍,別問多少遍,問就是三遍。第一遍(剛開始學Java):感覺很NB,就是看不懂。第二遍(剛開始實習):花非花,霧非霧,似懂非懂!第三遍(工作一年):某一天我懂了!也會整理一些自己的理解寫出來。**多執行緒、NIO**買了
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://www.itread01.com/content/1610611382.html

  1. Rocketmq CPP client visual studio 2019 compilation
  2. Usage of data custom attribute in jquery
  3. Common decompression in Linux
  4. Upload large files in Java
  5. Sentry (v20.12.1) k8s cloud native architecture exploration, sentry for JavaScript manual capture event basic usage
  6. Sentry (v20.12.1) k8s cloud native architecture exploration, sentry for JavaScript manual capture event basic usage
  7. Docker + MySQL Cluster + read / write separation + MYCAT Management + vertical sub database + load balancing
  8. Docker + MySQL Cluster + read / write separation + MYCAT Management + vertical sub database + load balancing
  9. Java use interceptor infinite forwarding / redirection infinite loop / redirection times too many error (stack overflow error) solution
  10. Java use interceptor infinite forwarding / redirection infinite loop / redirection times too many error (stack overflow error) solution
  11. 010_ MySQL
  12. 010_ MySQL
  13. Fast integration of imsdk and Huawei offline push
  14. 消息队列之RabbitMQ
  15. Rabbitmq of message queue
  16. 初学java进制转换方面补充学习
  17. Learn java base conversion supplementary learning
  18. 了解一下RPC,为何诞生RPC,和HTTP有什么不同?
  19. 了解一下RPC,为何诞生RPC,和HTTP有什么不同?
  20. 初学java进制转换方面补充学习
  21. Learn about RPC, why RPC was born, and what's the difference between RPC and HTTP?
  22. Learn about RPC, why RPC was born, and what's the difference between RPC and HTTP?
  23. Learn java base conversion supplementary learning
  24. JDBC测试连接数据库
  25. JDBC test connection database
  26. 大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?
  27. The interviewers of big factories love to ask Kafka so much. I'm blinded by eight Kafka questions in a row?
  28. 安卓开发和java开发有什么区别!2021年BATJ30套大厂Android经典高频面试题,面试必问
  29. Spring Security OAuth2.0認證授權四:分散式系統認證授權
  30. What's the difference between Android development and java development! 2021 batj30 Android classic high frequency interview questions
  31. Spring security oauth2.0 authentication and authorization 4: distributed system authentication and authorization
  32. Java微服务 vs Go微服务,究竟谁更强!?
  33. 大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?
  34. Who is stronger, Java microservice vs go microservice!?
  35. Java微服务 vs Go微服务,究竟谁更强!?
  36. The interviewers of big factories love to ask Kafka so much. I'm blinded by eight Kafka questions in a row?
  37. Who is stronger, Java microservice vs go microservice!?
  38. springboot异常处理之404
  39. Spring boot exception handling 404
  40. Spring Boot Security 国际化 多语言 i18n 趟过巨坑
  41. springboot异常处理之404
  42. Spring boot security international multilingual I18N
  43. Spring boot exception handling 404
  44. Netty系列化之Google Protobuf编解码
  45. Netty之编解码
  46. Java编解码
  47. Netty解码器
  48. Netty与TCP粘包拆包
  49. Netty开发入门
  50. Java集合遍历时遇到的坑
  51. Spring IOC 源码解析(下)
  52. Spring IoC源码解析(上)
  53. Google protobuf codec of netty serialization
  54. Encoding and decoding of netty
  55. Java codec
  56. Netty decoder
  57. Netty and TCP packet sticking and unpacking
  58. Introduction to netty development
  59. Problems encountered in Java collection traversal
  60. Spring IOC source code analysis (2)