摘要:操作決定對象是否是指定類型的實例指令格式指令碼指令執行前后的棧頂狀態描述是線程棧頂部彈出的類型的引用無符號數和共同構建成一個索引指向運行時常量池中的類如果為如果為指定類數組接口的實例則否則舉例說明如果是所指向的類為指定類在下列情況下如果是一
instanceof 操作:
決定對象是否是指定類型的實例指令格式:
instanceof indexbyte1 indexbyte2指令碼:
instanceof = 193 (0xc1)指令執行前后的棧頂狀態:
..., objectref → ..., result描述:
objectref是線程棧頂部彈出的類型的引用,無符號數indexbyte1和indexbyte2共同構建成一個索引(indexbyte1<<8|indexbyte2)指向運行時常量池中的類.
如果objectref為null,result=0;
如果objectref為指定類(resolved class),數組,接口的實例,則result=1
否則result=0;
如果S是objectref所指向的類,T為指定類(resolved class),在下列情況下result=1:
如果S是一個class:
如果T為class,則S extends T,或者S等于T
如果T為interface,則S implements T
如果S是一個class:
如果T為interface,則T為Object
如果T為interface,則S extends T,或者S等于T
如果S是一個array,SC[],數組元素為SC:
如果T為class,則T為Object
如果T為interface,則T 為數組的子類(見JLS4.10.3)
如果T是一個array,TC[],數組元素為TC
TC和SC是相同的原始類型
TC和SC都是class,SC可以在運行時轉換為TC
JVM具體的實現論文Fast subtype checking in the HotSpot JVM
問答請教一個share/vm/oops下的代碼做fast subtype check的問題
參考:
1.JLS
2.JVM
3.知乎
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67222.html
小編寫這篇文章的主要目的,是講述一下關于Python的一些小技巧,包括類方法與靜態方法之間,存在一些什么區別呢?怎么從真正的意義上去理解關于其不同之間的區別呢?下面就給大家詳細的解答下。 前言 在python的類中不僅可以有methods,還可以有變量,這些變量稱為類屬性,例如如下代碼中Book類的TYPES即為類屬性。 類中的方法分為3類: 1.實例方法instance method...
摘要:指定及端口創建實例默認情況下系統會自動分配一個及一個端口用來訪問數據庫。跨可用區指同類服務的不同節點部署在至少三個以上的可用區,可保證可用區級故障發生時服務繼續可用,但性能比同可用區有所下降。實例本篇目錄創建TiDB實例查看TiDB實例列表查看TiDB實例詳情刪除TiDB實例創建TiDB實例點擊【創建實例】選擇基礎配置版本根據需要選擇配置版本,默認選擇旗艦版。 不同版本的說明請參考實例類型。...
大家在搭建網站時,無可避免的必須設計方案完成頁面的用戶系統,我們應該完成包含新用戶注冊、賬號登錄、用戶認證、銷戶等服務,Django做為完美主義者最終架構,它默認設置使用auth_user表來存儲用戶數據信息,下面我們就來看看Django多對多使用through自定中間表 多對多中間表詳細說明 眾所周知針對ManyToMany字段,Django使用的是下一張中間表的形式。依據這下一張表,來...
知道嗎?在布達佩斯2022 JSConf會議上,tc39(ES標準委員會)成員Gil Tayar介紹了一份當前仍處于stage 1階段的提案 ——Type Annotations,意在讓原生JS支持類型注解。 很多現在盼到了,在.ts文件將后綴改為.js后就能直接在瀏覽器中運行。 一份tc39提案通常會經歷5個階段: stage 0:被提出 stage 1:接受審議 stage 2:...
我們先說下,npm版本號定義 版本格式:X.Y.Z[-string]其含義為: X:主版本號 Y:次版本號 Z:修正版本號 string: 先行版本號或版本編譯信息 舉個例子: 6.3.2-alpha的含義為: 主版本號6,有6次不可向下兼容的更新迭代。 次版本號3,有3次小的功能迭代。6.*.* <=6.3.2的依賴聲明,都可以安裝此新包。 修正版本號2,有2次bu...
閱讀 1818·2021-11-18 13:21
閱讀 1953·2021-10-18 13:30
閱讀 1539·2021-10-12 10:13
閱讀 906·2021-10-09 09:43
閱讀 5413·2021-09-22 15:13
閱讀 3583·2021-08-11 10:22
閱讀 936·2019-08-30 13:46
閱讀 3520·2019-08-30 13:21