Java生産環境JVM設置成固定堆大小深層原理-編程思維

  可能很多人都知道Java程序上生産後,運維人員都會設定好JVM的堆大小,而且還是把最大最小設置成一樣的值。那究竟是為什麼呢?一般而言,Java程序如果你不顯示設定該值得話,會自動進行初始化設定。   -Xmx 的默認值為你當前機器最大内存的 1/4   -Xms 的默認值為你當前機器最大内存的 1/64    顯然這樣配置的意義是希望JVM可以根據當前運行的環境,動态伸縮堆内存大小。之所以生

mysql變長類型字段varchar值更新變長或變短底層文件存儲原理-編程思維

  為了搞清楚MySQL對于可變長度字段值修改時,如何高效操作數據文件的機制。之前一直模糊不清,網上也搜不到現成的答案。經過多方資料搜集整理。寫出此文供大家一起參閱。由于涉及衆多非常底層的知識,我假設讀者已經對操作系統和磁盤存取有一定的基礎知識。文中如有疏漏,還請大佬指正。   為了探究這個問題,我們要先來回顧一下我之前的一篇文章《文件随機或順序讀寫原理深入淺出》講的文件存儲的底層原理知識。如下