jvm與并發https://www.52fb.cn先學哪個比較好?
個人感覺沒有啥先后順序,不過先學jvm你能讀明白字節碼,一些多線程的例子反編譯過來看字節碼能明白一些事,比如監視器怎么加的。或者你知道了jvm內存幾個區域,有的地方不涉及到共享問題,也不會線程不安全。多線程可以看看java高并發程序設計這本書。jvm可以看看深入java虛擬機這本書。有條件的話,經常用生產上的機器解決一些問題,比如內存滿了用jmap和mat分析,這樣能加強你對jvm熟悉,同時也可以對生產環境進行jvm調優。如果出現應用卡死,可能有死鎖,大事物,死循環這樣的,你可以用jstack和jstat去分析線程棧,會學到一些多線程的知識。同時你可以用gceasy這個在線工具把你的堆棧上傳上去,有個可視化的分析。另外阿里的arthas是個調試神器,jprofiler可以可視化很多東西。xxfox也是個在線學習jvm的好網站。
如果你愿意的話,當你想深入線程的話,可以看看posix線程規范pthread和linux內核的一些知識,能加強你對java線程的理解以及java內存分配的理解。
除了書,推薦你極客時間的java并發https://www.52fb.cn實戰,深入拆解jvm虛擬機。如果你還想對jvm再深入的話,可以看看openjdk源碼,需要有c的底子,還有自己動手寫java虛擬機這本書。