亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

<JVM規(guī)范>閱讀-instance of

AlexTuan / 2652人閱讀

摘要:操作決定對(duì)象是否是指定類型的實(shí)例指令格式指令碼指令執(zhí)行前后的棧頂狀態(tài)描述是線程棧頂部彈出的類型的引用無符號(hào)數(shù)和共同構(gòu)建成一個(gè)索引指向運(yùn)行時(shí)常量池中的類如果為如果為指定類數(shù)組接口的實(shí)例則否則舉例說明如果是所指向的類為指定類在下列情況下如果是一

instanceof 操作:
 決定對(duì)象是否是指定類型的實(shí)例
指令格式:
    instanceof
    indexbyte1
    indexbyte2
指令碼:
    instanceof = 193 (0xc1)
    
指令執(zhí)行前后的棧頂狀態(tài):
    ..., objectref →
    
    ..., result
描述:

objectref是線程棧頂部彈出的類型的引用,無符號(hào)數(shù)indexbyte1和indexbyte2共同構(gòu)建成一個(gè)索引(indexbyte1<<8|indexbyte2)指向運(yùn)行時(shí)常量池中的類.
如果objectref為null,result=0;
如果objectref為指定類(resolved class),數(shù)組,接口的實(shí)例,則result=1
否則result=0;

舉例說明:

如果S是objectref所指向的類,T為指定類(resolved class),在下列情況下result=1:

如果S是一個(gè)class:

如果T為class,則S extends T,或者S等于T

如果T為interface,則S implements T

如果S是一個(gè)class:

如果T為interface,則T為Object

如果T為interface,則S extends T,或者S等于T

如果S是一個(gè)array,SC[],數(shù)組元素為SC:

如果T為class,則T為Object

如果T為interface,則T 為數(shù)組的子類(見JLS4.10.3)

如果T是一個(gè)array,TC[],數(shù)組元素為TC

TC和SC是相同的原始類型

TC和SC都是class,SC可以在運(yùn)行時(shí)轉(zhuǎn)換為TC

JVM具體的實(shí)現(xiàn)

論文Fast subtype checking in the HotSpot JVM
問答請(qǐng)教一個(gè)share/vm/oops下的代碼做fast subtype check的問題

參考:
1.JLS
2.JVM
3.知乎

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67222.html

相關(guān)文章

  • Python類方法與靜態(tài)方法之間的區(qū)別

      小編寫這篇文章的主要目的,是講述一下關(guān)于Python的一些小技巧,包括類方法與靜態(tài)方法之間,存在一些什么區(qū)別呢?怎么從真正的意義上去理解關(guān)于其不同之間的區(qū)別呢?下面就給大家詳細(xì)的解答下。  前言  在python的類中不僅可以有methods,還可以有變量,這些變量稱為類屬性,例如如下代碼中Book類的TYPES即為類屬性。  類中的方法分為3類:  1.實(shí)例方法instance method...

    89542767 評(píng)論0 收藏0
  • 分布式NewSQL數(shù)據(jù)庫 TiDB

    摘要:指定及端口創(chuàng)建實(shí)例默認(rèn)情況下系統(tǒng)會(huì)自動(dòng)分配一個(gè)及一個(gè)端口用來訪問數(shù)據(jù)庫。跨可用區(qū)指同類服務(wù)的不同節(jié)點(diǎn)部署在至少三個(gè)以上的可用區(qū),可保證可用區(qū)級(jí)故障發(fā)生時(shí)服務(wù)繼續(xù)可用,但性能比同可用區(qū)有所下降。實(shí)例本篇目錄創(chuàng)建TiDB實(shí)例查看TiDB實(shí)例列表查看TiDB實(shí)例詳情刪除TiDB實(shí)例創(chuàng)建TiDB實(shí)例點(diǎn)擊【創(chuàng)建實(shí)例】選擇基礎(chǔ)配置版本根據(jù)需要選擇配置版本,默認(rèn)選擇旗艦版。 不同版本的說明請(qǐng)參考實(shí)例類型。...

    ernest.wang 評(píng)論0 收藏324
  • Django細(xì)膩解讀多對(duì)多使用through自定中間表方法

      大家在搭建網(wǎng)站時(shí),無可避免的必須設(shè)計(jì)方案完成頁面的用戶系統(tǒng),我們應(yīng)該完成包含新用戶注冊(cè)、賬號(hào)登錄、用戶認(rèn)證、銷戶等服務(wù),Django做為完美主義者最終架構(gòu),它默認(rèn)設(shè)置使用auth_user表來存儲(chǔ)用戶數(shù)據(jù)信息,下面我們就來看看Django多對(duì)多使用through自定中間表  多對(duì)多中間表詳細(xì)說明  眾所周知針對(duì)ManyToMany字段,Django使用的是下一張中間表的形式。依據(jù)這下一張表,來...

    89542767 評(píng)論0 收藏0
  • 詳實(shí)注解原生JS以后也支持類型意義

      知道嗎?在布達(dá)佩斯2022 JSConf會(huì)議上,tc39(ES標(biāo)準(zhǔn)委員會(huì))成員Gil Tayar介紹了一份當(dāng)前仍處于stage 1階段的提案 ——Type Annotations,意在讓原生JS支持類型注解?! 『芏喱F(xiàn)在盼到了,在.ts文件將后綴改為.js后就能直接在瀏覽器中運(yùn)行?! ∫环輙c39提案通常會(huì)經(jīng)歷5個(gè)階段:  stage 0:被提出  stage 1:接受審議  stage 2:...

    3403771864 評(píng)論0 收藏0
  • 關(guān)于package.json管理依賴包版本的詳解

      我們先說下,npm版本號(hào)定義  版本格式:X.Y.Z[-string]其含義為:  X:主版本號(hào)  Y:次版本號(hào)  Z:修正版本號(hào)  string: 先行版本號(hào)或版本編譯信息  舉個(gè)例子:  6.3.2-alpha的含義為:  主版本號(hào)6,有6次不可向下兼容的更新迭代?! 〈伟姹咎?hào)3,有3次小的功能迭代。6.*.* <=6.3.2的依賴聲明,都可以安裝此新包?! ⌒拚姹咎?hào)2,有2次bu...

    3403771864 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<