溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM虛擬機中Class文件的訪問標志是什么

發布時間:2021-10-23 16:08:03 來源:億速云 閱讀:459 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關JVM虛擬機中Class文件的訪問標志是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

一、訪問標志的概念

常量池結束之后,緊接著的兩個字節代表訪問標志,這個標志用于識別一些類或者接口層次的訪問信息,包括:這個Class是接口還是類;是否被定義為public類型;是否定義為abstract類型;如果是類的話,是否被聲明為final等。

access_flages中共有兩個字節(16位)可以使用,沒有使用到的標志為要求一律為0。如果有多個訪問標志,那通過“OR”的方式組合在一起。

二、訪問標志具體含義

標志名稱標志值含義
ACC_PUBLIC0x00 01是否為Public類型
ACC_FINAL0x00 10是否被聲明為final,只有類可以設置
ACC_SUPER0x00 20是否允許使用invokespecial字節碼指令的新語義.
ACC_INTERFACE0x02 00標志這是一個接口
ACC_ABSTRACT0x04 00是否為abstract類型,對于接口或者抽象類來說,次標志值為真,其他類型為假
ACC_SYNTHETIC0x10 00標志這個類并非由用戶代碼產生
ACC_ANNOTATION0x20 00標志這是一個注解
ACC_ENUM0x40 00標志這是一個枚舉

三、實例分析

案例一

定義一個類:

public class HelloWord {}

JVM虛擬機中Class文件的訪問標志是什么

00 21可以推斷是由ACCPUBLIC和ACCSUPER通過OR組合而成。

通過命令javap -verbose HelloWord.class來查看,發現確實是 ACCPUBLIC, ACCSUPER組合而成:

JVM虛擬機中Class文件的訪問標志是什么JVM虛擬機中Class文件的訪問標志是什么

06 01又是怎么組合的呢?通過命令javap -verbose HelloWord.class來查看,發現是 ACCPUBLIC, ACCINTERFACE, ACC_ABSTRACT組合而成:

JVM虛擬機中Class文件的訪問標志是什么

關于JVM虛擬機中Class文件的訪問標志是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女