jvm

每個程序員都該瞭解的JVM - 前言

這篇文章想跟大家聊聊 為什麼當初說好要出版的書不出版了 而是以部落格的形式刊出

故事要講回2017年 我進入Linkedin公司 當時寫的是Java

偶爾在工作的時候遇到某些不懂的地方 stackoverflow都是以

這就是JVM的規範

這是JVM的類加載原理

這是JVM的垃圾回收機制

等等的理由 似懂非懂的就過去了 但我實在不覺得這是做學問的方式

我相信大概超過九成的Java程序員根本就不需要了解JVM也能把日常的工作給做好 我完全同意 也可以理解

但身為一個Java開發者 你真的不想知道為什麼Java在兵器譜排行榜霸佔了20-30年的原因嗎

我想知道

所以我大概花了半年的時間 把市面上買得到的JVM相關的書籍都看過 網路上看得到的文章都讀過一次 學起來非常艱澀 大多數的知識都是以後大概不會用到的東西 很可能讀過就忘

所以基於中文社群分享互助的理念 我想把我讀完後認為 每個Java開發員至少需要理解的部分出成一本工具書 太艱澀不一定需要理解的放在附錄 來讓理解JVM的門檻降低

剛提出這個想法的時候 我就一直在部落格上推銷說有本書要出來了 我有把握可以讓大家改變對於Java的想法 也收到了不少正面回饋(直到現在還不時有人在問什麼時候JVM書會出來)

當然我理解 寫這種東西是不可能賺錢的 在寫一年技術文章的心得講到 寫得越深的東西越少人看 但我還是希望把我整理的結果分享給大家

我還想了不少方法讓大家會對JVM感興趣 我甚至還買了一本教你怎麼寫小說的書 要讓JVM的每個篇章對應到小說的一部分 讓你可以單獨看小說 也可以單獨看JVM 而且劇情跟篇章還有關聯

這個主意訂了之後 我聯絡了一間我很喜歡的出版社 他說願意幫忙出版 可是要等書籍寫了差不多了的半年前再簽合約 我說好 因為這本書應該要寫個一年左右 我說快寫好了再聯絡

當我2018年中寫得差不多的時候 出版社的總編跟我說(有刪減 非完整回覆)

你知道8/1開始Oracle將要針對Java商用版本收費嗎 請問你JVM的書有沒有針對這個問題著手呢? 如果現在有一本書 可以對於目前線上眾多商業Java程式提出一個免費方案的解法 我相信會有市場

我的回覆是 這些新聞我都知道 但這不是這本書想要涵蓋的部分 我想寫的是為何JVM強大 而不是如何免費使用

總編輯回覆(有刪減 非完整回覆)

現在Java出了大狀況 也就是市場變化 如果是去年出版的話沒什麼問題 但因為Oracle開始要收費 所以可能會導致程式設計師棄用Java 我們需要知道的是針對舊有的Java產品而言 該怎麼辦才不會被Oracle要求收取費用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

失望

失望

非常失望

Oracle拼命打官司 不就是因為Java太多人用了 所以才想拼命搶版權嗎 而一個對於大家愛用的東西 收費不是也是很合理的嗎 不收費怎麼會有錢來寫新功能呢

總之2018年底是非常的失落 已經快完成的書就這樣一直擺著

2020年的時候 因為想找工作 於是把過去部落格的東西跟JVM都拿出來複習 我大概只花一天的時間 就想起來了當初JVM裡面重要的觀念 覺得自己實在整理的不錯 就不如直接放在blog上吧

只能說年輕時把一切都太理想化 即使是你覺得有用的知識 要是不能賣錢出版社根本不理你 你要出書 就必須迎合讀者的口味 寫Design Pattern 寫Python 寫Kubernetes

我想寫的東西不是教你如何省錢 或是這一兩年內如何不花錢用JAVA 我想寫的是十年二十年後還是會有人有興趣的知識

沒關係 我有自己的平台可以寫 我也不是為了錢而寫

今天開始就會陸陸續續把JVM的東西放在部落格上 希望各位讀者會有所收穫