自學 Java 怎麼入門?

来源:https://www.cnblogs.com/jnshu/archive/2018/12/07/10085112.html
-Advertisement-
Play Games

著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。 說過很多遍這個話題了。重覆一遍,再說一次。 第一。 Java語法的學習。 3天 你需要會這些: 1. String,Integer,Long,Array,List,Map會用就夠了。 2. Interface和Impl能分得清就夠 ...


著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
 

說過很多遍這個話題了。重覆一遍,再說一次。

第一。 Java語法的學習。 3天 你需要會這些: 1. String,Integer,Long,Array,List,Map會用就夠了。 2. Interface和Impl能分得清就夠了,永遠不要去用繼承。 3.Model,也是Bean,記著Model里只有Get和Set方法。貧血模型。 4.try-catch,Throwable, Error 5.函數,參數,返回值

你一定不要現在去看這些: 1.NIO,Thread,Extend,Abstract,GUI,GC 2.各種JDK的源碼,各種演算法的實現

第二。面向對象概念的理解和學習 3天

你需要會這些: 1.屬性和方法 2.private/public 3.static final 4.ArrayList,Set,Map,Array的取值,長度,遍歷。StringBuffer 5.null對象,Null指針 6.構造函數 7.this 8.泛型

你一定不要這個時候去看這些: 1.protect 2.重載 3.多態 4.內部類 5.socket 6.file 7.stream

第三。常用的Util 3天

你需要會這些: 1.StringUtils 2.CollectionUtils 3.log4j 4.httpClient 5.calendar

你一定不要去看這些:

第四。資料庫 9天 你需要會這些: 1.JDBC 2.Mybatis 3.Hibernate 4.增刪改查一個表,排序,分頁,簡單的聯表查詢 5.索引,思考一下什麼樣的表建索引,什麼是索引

 

別擔心,以上三種都是一理通而百理融

 

第五。 單元測試 3天

你需要會這些 1.Junit @Test,@Ignore 2.log4j info,warning,error 3.Eclispe debug,Step,Step in ,Step Out,run

 

你一定不要學這些

第六。 Spring 3天

你需要會這些 1.Spring Bean,Property,Map,List初始化值 2.Autowired 3.Annonation&配置文件 4.Spring Version 5.Spring MVC,@Method @Controller

 

你一定不要學這些

第七。Maven 5天

你需要會這些 1.clean,install,deploy,assembly 2.snapshot/release 3.module 4.subeclipse 5.jetty:run

 

============================過段時間更新以下內容==================

第八 Jsp 3天 用到Jsp主要有兩個方面,一種是傳統的後臺程式員套頁面的方式,一種是直接生成Json格式的數據。 受限於Json無法提供SEO,所以在需要SEO的時候還是得提供套頁面的方式。 生成Json的方式有很多種,我還是喜歡用Json tag-lib.

你需要瞭解的是: 1.C標簽 2.自定義Tag 3.include 4.給靜態資源加版本號 5.WEB容器未更新Jsp的時候,Touch一下

你一定不要去學這些: 1.在Jsp里寫任何Java代碼,包括但不限於是Mysql

 

第九 WEB 10天

馬丹這裡的WEB我寫的是什麼意思,我忘記了。 大概是SpringMVC的意思? 反正 你需要瞭解這些: 1.web.xml 2.spring的配置文件 3.統一設置成utf8的編碼 4.filter 5.攔截器 6.Controller 7.http協議 8.Http-head content-type application/json x-www-form-urlencoded 9.file的上傳 10.圖片的上傳

 

你一定不要去瞭解這些: 1.Struts 2 2.play 3.webService 4.servlet

 

第十 Tomcat/Jetty 5天

你需要瞭解這些: 1.記憶體和JDK參數的配置 2.指定配置文件的方式部署,docBase 3.日誌的配置 acces.log stdout.log.catalina.out之類的 stderr.log 4.寫腳本,找出慢查詢,cat|awk 5.理解一個請求分過來之後,怎麼分解響應時間,怎麼去查找性能瓶頸

 

你不需要瞭解這些: 1.一個Tomcat或者是Jetty下部署多個項目 2.Jetty的嵌入運行方式

 

第十一 Cookie 3天 關於Cookie啊,最常用的有兩個地方,一個是統計,一個是登錄。 所以你需要瞭解的是這些: 1.Cookie的大小 2.Cookie的傳輸方式 3.如何獲取到Cookie,如果Cookie中有同名的參數,會接收到什麼。 4.為什麼要用Cookie來代替Session做用戶的登錄標記 5.Cookie的失效時間 6.清除Cookie

你不需要瞭解這些:

 

第十二 Shell 10天

Shell的概念很大,所以這裡只列出來現階段你最應該會的東西 你需要瞭解的是: 1.vim 編碼模式,命令模式,正查,倒查,刪除一行,移至行尾 2.cat | more 這種是最覺見的日誌瀏覽方式,cat|grep 用來定位Bug的時候最常用的 3.grep -A -B 等,以及如果Cat+Grep定位多個文件,怎麼去查找他們是在哪個文件夾下。 4.ls,cd,mkdir,mv,cp,scp,chown,chmod 5.top,free,vmstat,ps,iostat,netstat

你不需要瞭解的是:

1.馬丹,不知道哪些不該瞭解,Shell的東西只要跟實用的都可以多瞭解

 

第十三 SVN/Git 5天

對於後端程式員來講,我還是喜歡SVN。 Git使用與否,完全看個人喜好。有很多原因,這裡不說。

你需要瞭解這些: 1.SVN的標準目錄:trunk/tags/branches 2.commit,update,revert,history 3.Maven的Release插件 release:prepare release:perform, release:rollback 4.Tag的管理 always tag/always trunk的開發方式 5.Bug出現後,如果和當前開發的項目有衝突,該如何去打Tag,怎麼合併代碼 6.發佈失敗後怎麼回滾。 7.svn版本號怎麼生成的 8.clean

你一定不要去瞭解這些: 1.不知道哪些不該瞭解,不過clock這種操作我建議永遠不要用 2.還有合併代碼這種事,我也覺得永遠不要用,儘量保證你的代碼結構很好,而不是想辦法讓合併代碼更簡單。

 

第十四 Json/Gson/JsonTag-lib 5天

終於到了Json,過了300贊更新的內容就完工了~~ Json是一個神器,現在是有yaml? 無所謂了,不太影響。Json統治互聯網已經快7年了。 你應該瞭解這些: 1.json的 string,number,object,array 2.json的轉義 3.怎麼樣定義出來一個合理的結構,是用array里包含一個Object,還是用一個大的Object,裡面的Key是ID,Value是一個Object?是直接用 sex:male 還是用 name:sex, value:male? 4.Gson在Java和Json中的基本類型轉換 fromjson和tojson 5. Gson怎麼轉換自定義的對象,和嵌套的對象(這就是Java最煩人的地方,如果是Groovy或者是Python哪用得著這麼麻煩) 6.Json-taglib里的常用標簽,怎麼將一個ID轉換成Number,怎麼轉換成String 7.編碼

你不應該去瞭解: 1.fastjson?我忘記了。用Gson就很好了 2.JSONObject還是什麼來著?不記得了。 其實這段有點扯,因為你愛用什麼我管不著,我也分不清具體哪個好,哪個壞,但是我自己的偏好就是這樣的。所以跟著我的必須只能用Gson來寫。除非哪天能夠說服我說,老大,有一個XXX比Gson更好學。

這個其實是工程師的天性,完全不必覺得你的領導在打壓你的積極性。我見過的優秀的工程師,從來都是主動要求在項目中嘗試各種新的激進的技術,而Leader往往都是要權衡N多內容。

 

好了~~~300贊還算好,很容易突破了。我們看看能不能見~

============================過段時間更新以下內容==================

第十五 REST

第十六 Jenkins

第十七 nexus

第十八 Tiles

第十九 Nginx

第二十 Memcache/Redis

第二十一 Refact

 

============================過段時間更新以下內容================== 第二十二 響應時間分析

第二十三 記憶體,CPU,硬碟,IO,網路 占用,Zabbix

第二十四 Top,Vmstat,Free,iostat

第二十五 慢Sql

第二十六 緩存命中率/失效策略

第二十七 TPS,Jmeter/load runner

第二十八 敏捷開發

第二十九 bug修複流程

第三十 上線發佈流程

第三十一 發佈中心/ansible

======================過段時間更新以下內容==================

第三十二 RMI,RPC,Thrift 第三十三 GC 第三十四 JMS 第三十五 Groovy 第三十六 一致性哈希,BigTable,Cassandra 第三十七 MongoDB 第三十八 NIO 第三十九 Socket/WEBSocket 第四十 Tuscany/Dubbo

======================過段時間更新以下內容==================

第四十一 馬丹我編不下去了。


 

開玩笑啦,然而還是少了不少的內容,特別是一些業務上的知識。

比如說:分類的DB怎麼設計,什麼時候應該拆表,什麼時候要分庫,支付怎麼做,微信的開發流程怎麼樣,第三方登錄的Auth是什麼鬼,手機簡訊驗證碼如何防攻擊,高併發讀怎麼設計緩存,高併發寫怎麼合併寫入次數,

以及怎麼重構,什麼時候重構,怎麼預判斷需求的變化。

還有更多的演算法相關的內容,zookeeper,paxos,md5,https等等等等。

以上的步驟不算完全精準,分類也不算完全仔細,嗯。更多的內容我還在整理中。

 

 

------------------------------------------------------------------------------------------------------------------------           

 


“我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,學習的路上不再迷茫。

這裡是技能樹.IT修真院:http://www.jnshu.com,初學者轉行到互聯網行業的聚集地。"

歡迎加IT交流群565734203與大家一起討論交流


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 用CEF4Delphi取網頁元素時碰到ElementInnerText里含有" " 比如網頁源碼里是"內容 "取出來顯示就變成"內容?" 搜索大部分是說把" "替換成其它字元即可 但實際操作怎麼也替換不了,就算變數為AnsiString也不行 最後用了以下方法解決 參考 ...
  • GitHub 上有一個名為《What the f*ck Python!》的項目,這個有趣的項目意在收集 Python 中那些難以理解和反人類直覺的例子以及鮮為人知的功能特性, 並嘗試討論這些現象背後真正的原理! ...
  • 1.單引號和轉義引導 2.拼接字元串 3.格式化字元串 4.常用方法 #去掉空格和特殊符號 #字元串的搜索和替換 #字元串的測試和替換函數 #字元串的分割 #string模塊 ...
  • 對象是否存活 Java的GC基於可達性分析演算法(Python用引用計數法),通過可達性分析來判定對象是否存活。這個演算法的基本思想是通過一系列"GC Roots"的對象作為起始點,從這些節點開始向下搜索,搜索所走過的路徑稱為引用鏈,當一個對象到GC Roots沒有任何引用鏈相連時(圖論稱之為不可達), ...
  • 1. 動態傳參 *, ** : 形參: 聚合 位置參數* -> 元組 關鍵字** -> 字典 實參: 打散 列表, 字元串, 元素 -> * 字典 -> ** 形參順序: 位置, *args, 預設值, **kwargs "無敵傳參" def func(*args, **kwargs): argum ...
  • 1. 動態傳參 *, ** : 形參: 聚合 位置參數* -> 元組 關鍵字** -> 字典 實參: 打散 列表, 字元串, 元素 -> * 字典 -> ** 形參順序: 位置, *args, 預設值, **kwargs "無敵傳參" def func(*args, **kwargs): argum ...
  • 1.打開文件: f=open(r'E:\PythonProjects\test7\a.txt',mode='rt',encoding='utf-8') 以上三個單引號內分別表示:要打開的文件的路徑,mode為文件打開方式具體介紹在下文,encoding為文件的字元編碼,一般預設為utf-8 2.讀寫 ...
  • §1 RabbitMQ延遲隊列 RabbitMQ延遲隊列,主要是藉助消息的TTL(Time to Live)和死信exchange(Dead Letter Exchanges)來實現。 涉及到2個隊列,一個用於發送消息,一個用於消息過期後的轉發目標隊列。 本例中, 定義2組exchange和queu ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...