java自動部署項目到虛擬機 《深入理解Java虛擬機》過時了嗎?
《深入理解Java虛擬機》過時了嗎?其實這個問題需要客觀看待。我覺得只要java虛擬機過時了《深入理解java虛擬機》 ;的書不會過時。Java并不是唯一運行在JVM上的編程語言。JPython、J
《深入理解Java虛擬機》過時了嗎?
其實這個問題需要客觀看待。我覺得只要java虛擬機過時了《深入理解java虛擬機》 ;的書不會過時。Java并不是唯一運行在JVM上的編程語言。JPython、JRuby、Groovy等語言都運行在java虛擬機上,這是合理的。只要使用這些編程語言,java虛擬機就不會過時。很多C和C程序員抱怨java虛擬機的GC機制導(dǎo)致了在JVM上運行的編程語言編寫的程序性能差、執(zhí)行慢的缺點。我贏了。;不否認這一點。GC在垃圾收集方面確實有很長的停頓,但是事物總是有兩面性,需要客觀看待。c追求性能,不得不犧牲便攜性。java在極致性能和跨平臺的平衡下選擇了后者,而java虛擬機是Java跨平臺的核心。而且,JVM是隨著技術(shù)的發(fā)展而不斷進化的。從G1的CMS到還在java11實驗階段的ZGC,java虛擬機的GC暫停時間越來越短,ZGC官方暫停時間不到10ms。我們在做性能測試的時候,ZGC的停頓時間遠遠小于10ms,大多數(shù)情況下在一兩毫秒之內(nèi)。而且10ms的暫停時間對大部分程序的性能影響不大。相比之前400-500毫秒的停頓時間,即使是10ms的停頓時間也是幾何級的突破。我相信JVM的性能在未來會不斷提高。所以,java虛擬機在未來很長一段時間內(nèi)都不會過時。另外《深入理解java虛擬機》的書自出版以來就被業(yè)界奉為經(jīng)典,也是程序員了解JVM的必讀書籍。雖然這本書是基于JavaSE7的規(guī)范,但這并不妨礙我們學(xué)習(xí)JVM。一般最底層的核心內(nèi)容變化不大。雖然本書提到的CMS垃圾收集器目前已經(jīng)放棄了維護,官方的重點是維護G1和ZGC,但是原則和思路永遠不會變。之所以長期被奉為經(jīng)典,是因為有參考價值。因此,《深入理解java虛擬機》在未來很長一段時間內(nèi)都不會過時。
javaapplication是什么?
在Java語言中,可以獨立運行的程序稱為Java應(yīng)用程序。Java語言還有一個程序——applet程序。Applet程序(也叫Java applet)是運行在各種web文件中,用于增強人機交互、動畫顯示、聲音回放等功能的程序。Java Applet和Java Application在結(jié)構(gòu)上的主要區(qū)別如下:
(1)操作不同。Java小程序可以 t單獨運行,它必須附加在一個用HTML語言編寫的網(wǎng)頁上并嵌入其中,它的執(zhí)行由一個兼容Java的瀏覽器控制。
Java應(yīng)用是一個完整的程序,可以獨立運行。只要有一個支持Java的虛擬機,它就可以獨立運行,不需要其他文件的支持。
(2)不同的運行工具。
運行Java Applet程序的解釋器不是獨立的軟件,而是作為瀏覽器軟件的一部分嵌入在瀏覽器中。
Java應(yīng)用程序編譯后,可以用普通的Java解釋器解釋和執(zhí)行,而Java小程序只能通過web瀏覽器或小程序查看器執(zhí)行。