推 kokona554: 正想建議可以先理解java是怎麼跑起來就看到這篇,中肯 07/16 18:23
推 empireisme: jpa reposiotory這個我是知道的,但是多執行緒目前就 07/16 18:56
→ empireisme: 只有看線上課程 07/16 18:56
→ empireisme: 不太有機會在工作中用到,看了一些高薪的工作要的技 07/16 18:57
→ empireisme: 能,很多就是說希望會多執行緒,或是高流量,但又希 07/16 18:57
→ empireisme: 望有實戰經驗 07/16 18:57
→ empireisme: 對,我們公司包成war這還真的是,我第一份工作也是jar 07/16 18:58
→ empireisme: 去部署的沒錯 07/16 18:58
→ empireisme: 請問有推薦的自學多執行緒的方式嗎? 07/16 18:59
推 empireisme: jvm調優的話,我目前是看到對岸有一個相關課程 07/16 19:01
推 BigCockman: 繼承也不是全然不好吧 07/16 19:02
→ Uzak: 當然不是全然不好 只是有更好的方式 07/16 19:05
→ Uzak: @empireisme 可以先看看"深入理解Java虚拟机"這類的書 07/16 19:06
→ Uzak: 不一定要直接買課程 07/16 19:06
→ empireisme: 像是這種工作,我看他的敘述也只有提到要會Spring clo 07/16 19:09
→ empireisme: ud而已 07/16 19:09
→ empireisme: uzak 這些課不用錢拉,都是直接看而已,但不知道我的 07/16 19:10
→ empireisme: 順序應該是啥? 07/16 19:10
→ empireisme: 事先去學多執行緒嗎?還是jvm?公司沒有場景的話,怎 07/16 19:10
→ empireisme: 麼驗證自己學的多執行緒 07/16 19:10
→ empireisme: 多執行緒我自己也就做一個簡單的去統計資料夾大小, 07/16 19:11
→ empireisme: 網路上還有一些下載開多執行緒的範例,網路上則是有一 07/16 19:11
→ empireisme: 些死鎖相關的面試 07/16 19:11
→ empireisme: 不太知道怎麼學多執行緒,還是說先補資料結構比較重要 07/16 19:12
你要先大致上了解jvm的架構,你才會知道你的code在那些地方
是threadsafe那些地方不是
學習路徑大概會是這樣:
從原始方法new一個Thread開始
-> 發現沒有效率
-> 學習thread pool
-> 發現java提供你很多工具例如Executor大家族
-> 學threadsafe相關的Collection例如ConcurrentHashMap
-> 學到CPU從記憶體讀資料的知識
-> 明白Volatile關鍵字
-> atomic相關類別
-> 等等等
沒有先後順序,反正都要學
想學啥就學啥
你沒事就google thread 相關的東西
就會發現很多東西學
threading的重點除了速度,另一個就是計算的正確性
所以才需要鎖
怎樣鎖 哪時鎖 用甚麼東西鎖 怎樣會死鎖 怎樣避免死鎖
怎樣可以不要使用鎖又可以正確
這裡又一堆知識 你可以自己研究
驗證就是自己寫點簡單東西跑看看結果
畢竟自己一個人寫不出大東西
還是要工作中實戰
面試需要經驗 你就拿你自己實驗的東西出來講
你的知識夠 對方沒理由打你槍
→ empireisme: 呢 07/16 19:12
推 Hsins: 要對 JVM 熟悉了你才能把 Java 裡的多執行緒弄明白 07/16 19:33
推 kop14922000: 請教一下那現在sprimgboot的部署應該是什麼方式?我 07/16 19:34
→ kop14922000: 公司現在的做法也是包成war檔丟到UAT的tomcat資料夾 07/16 19:34
→ kop14922000: 裡 07/16 19:34
springboot的dependency就有timcat
springboot本身就有一隻Class有一個annotation
叫做@SpringBootApplication
直接啟動這支程式 整個springboot就跑起來了
如果不明白為何spring要推出springboot
為何要改成這樣
google一下springboot設計的初衷和時空背景
就會明白了
→ Hsins: 你會有這些問題,應該先回去補 OS 基礎。我想這是為什麼 U 07/16 19:36
→ Hsins: 大說眼睛只盯著錢,看起來因為非本科的關係,所以 DSA、OS 07/16 19:36
→ Hsins: 、CA、CO 都還不明白,就急著追框架追應用 07/16 19:36
※ 編輯: Uzak (58.182.198.67 新加坡), 07/16/2022 19:39:49
推 empireisme: CA CO是什麼的縮寫阿,請問 07/16 19:41
→ empireisme: 謝謝u大回答,那看起來我那個thread的課程應該都有提 07/16 19:42
→ empireisme: 到 07/16 19:42
※ 編輯: Uzak (58.182.198.67 新加坡), 07/16/2022 19:45:12
→ empireisme: @Hsin所以可能要找大學os的課程搭配實作的線上課程看 07/16 19:46
→ empireisme: 這樣嗎? 07/16 19:46
推 Hsins: 計算機結構和計算機組織,但其實把作業系統跟計算機網路掌 07/16 19:48
→ Hsins: 握好,對你的幫助就會很大了 07/16 19:48
→ empireisme: 作業系統我應該會去看陳世杰老師的課,計算機網路的 07/16 19:51
→ empireisme: 話就真的沒概念了,只知道什麼三次握手,還有七層網 07/16 19:51
→ empireisme: 路 07/16 19:51
推 wulouise: 繼承好,只是也更好寫爛,太多不該繼承的用繼承 07/16 19:55
推 sb8888: 那你應該還要在看細一點 最好可以把http協議如何透過硬體 07/16 19:55
→ sb8888: 到軟體的流程搞懂 封包的過程之類的 為什麼會丟包 編碼的 07/16 19:55
→ sb8888: 格式有其意義要了解一下 我也一年半而已一起努力 07/16 19:55
推 sb8888: 可以去了解一下滑動窗口之類的 07/16 20:01
推 Booker5566: 大大關於 compose 有相關關鍵字或推薦 YT/udemy 的課 07/16 20:55
→ Booker5566: 程嗎 07/16 20:55
推 lovdkkkk: 推, 80% 是我想講的, 能力感覺還不到扎實本科畢業生 07/16 21:23
→ lovdkkkk: 然後建議到 104 看板上大家推的公司開的缺的要求去練 07/16 21:23
→ x000032001: Composition over inheritance 07/16 21:52
推 SHANGOYANYI: 用springboot開發其實不等於系統有改成微服務 所以 07/16 22:18
→ SHANGOYANYI: 包成war也不是什麼太奇怪的事 07/16 22:18
推 viper9709: 這篇寫的不錯 07/16 23:34
→ surprised128: Tomcat部分,我猜原來的project 可能把他exclude 了 07/17 00:28
→ surprised128: ,不然照理說會有衝突才對 07/17 00:28
推 rereterry: 推這篇的討論,其實有時對很多人,大概真的是連關鍵字 07/17 00:52
→ rereterry: 都缺乏有效的方式發現,需要其他人的力量把霧撥開,剩 07/17 00:52
→ rereterry: 下的就可以自己步入正規了 07/17 00:52
→ hegemon: spring boot目前建議是改用undertow, 再來對於微服務來說 07/17 01:11
→ hegemon: ,spring boot 還太肥,應該要去看看quarkus或是micronau 07/17 01:11
→ hegemon: t. 要不然就是上spring-native 07/17 01:11
→ KY1998: 多執行緒你要快速入門直接看B站juc併發相關影片,免費 07/17 03:09
推 eopXD: 推 07/18 00:09
推 shaomi: !!樓樓上本人? 07/18 00:30
推 hakosaki: 推良葛葛 07/18 08:58
→ hobnob: 大推這篇的態度 07/18 16:01
推 xrururururu: 不覺得繼承全部不好吧 一直說golang很好也很怪 07/19 21:45