日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Hi,运维,你懂Java吗--No.4:JVM-概述

發布時間:2023/12/20 java 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hi,运维,你懂Java吗--No.4:JVM-概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? 作為運維,你不一定要會寫Java代碼,但是一定要懂Java在生產跑起來之后的各種機制。

? ? ? ? 本文為《Hi,運維,你懂Java嗎》系列文章 第四篇,敬請關注后續系列文章

? ? ? ? 歡迎關注 ?龍叔運維(公眾號) ?持續分享運維經驗

前言

????????本篇對java的JVM進行初步的拆分講解,希望大家可以有一個整體概念,JVM是java運維工作中很重要的點哦。

1、JVM組成

????????JVM核心內容一共分為四大塊:類加載器,運行時數據區,本地方法庫接口,執行引擎

? ? ? ? 而對運維來說最重要的就是要掌握運行時數據區。

2、類加載器

????????類加載器的作用就是將class文件字節碼內容加載到JVM的運行時數據區中。

????????類加載器按照加載的內容來看可以分為:????????

  • 啟動類加載器(Bootstrap ClassLoader): 負責加載存放在 <JAVA_HOME>\lib 目錄中的核心類庫,如rt.jar、resources.jar等(或者被 -Xbootclasspath 參數所指定的路徑中的,并且是虛擬機識別的類庫)。這個加載器是 C++ 編寫的,隨著JVM啟動。
  • 擴展類加載器(Extension ClassLoader): 負責加載<JAVA_HOME>\lib\ext 目錄中的類庫,(同樣也可以用 java.ext.dirs 系統變量來指定路徑)。
  • 應用程序類加載器(Application ClassLoader): 負責加載用戶類路徑 classpath 上所有的 jar 包和 .class 文件。
  • 自定義類加載器: 可以支持一些個性化的擴展功能。

3、運行時數據區

????????對于運維來講,運行時數據區是最需要掌握的知識點

????????分為 方法區(元空間)、堆、虛擬機棧、本地方法棧、程序計數器

????????這里不多講,回單開章節詳細講解

4、本地方法庫接口

????????首先,什么是本地方法?

????????一個Native Method 就是一個java調用非java代碼的接口。該方法的實現由非java語言實現,比如C 。定義一個native method時,并不提供實現體,因為由非java實現。


????????本地方法庫接口的作用是融合不同的編程語言為java所用。

5、執行引擎

????????類加載器只負責加載,而class文件是否可以執行,這里就要看執行引擎的了。

????????????????執行引擎的任務就是將字節碼指令解釋/編譯為對應平臺上的本地機器指令才可以。簡單來說,JVM中的執行引擎充當了將高級語言翻譯為機器語言的譯者。

????????執行引擎在執行的過程中究竟需要執行什么樣的字節碼指令完全依賴于JVM中的程序計數器。每當執行完一項指令操作后,程序計數器就會更新下一條需要被執行的指令地址。

————完

總結

以上是生活随笔為你收集整理的Hi,运维,你懂Java吗--No.4:JVM-概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。