日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Android 逆向】类加载器 ClassLoader ( 类加载时机 | 隐式加载 | 显示加载 | 类加载步骤 | 装载 | 链接 | 初始化 )

發布時間:2025/6/17 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 逆向】类加载器 ClassLoader ( 类加载时机 | 隐式加载 | 显示加载 | 类加载步骤 | 装载 | 链接 | 初始化 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、類加載時機
    • 1、隱式加載
    • 2、顯式加載
  • 二、類加載步驟





一、類加載時機




1、隱式加載


類加載 的 隱式加載 , 沒有明確的說明加載某個類 , 但是進行了如下操作 :

  • 使用 new 關鍵字 直接 創建類的實例對象 ;
  • 使用 new 關鍵字 直接 創建類的 子類 實例對象 ;
  • 通過 反射方式 創建 類 / 子類 實例對象 ;
  • 訪問 類的 靜態變量 , 對靜態變量 進行 讀 或者 寫 操作 都會觸發 隱式加載 ;
  • 訪問 類的 靜態函數 ;

2、顯式加載


顯式加載 : 明確的說明要加載某個類 ,

  • 使用 Class.forName() 加載指定的類 ;
  • 使用 ClassLoader.loadClass 加載指令的類 ;




二、類加載步驟



參考 【Java 虛擬機原理】Java 類加載過程 ( 加載 | 連接 - 驗證 準備 解析 | 初始化 | 使用 | 卸載 ) 博客 ;


類加載步驟 :

  • ① 裝載 : 加載某個類時 , 首先要 查找 并 導入 Class 字節碼文件 ;
  • ② 鏈接 : 該階段 , 可以分為以下 333 個子階段 ;
    • 驗證 : 驗證字節碼文件是否正確 ;
    • 準備 : 為 靜態變量 劃分內存空間 , 并進行默認值賦值 ;
    • 解析 : 將 " 常量池 " 中的 " 符號引用 " 轉為 " 直接引用 " ;
  • ③ 初始化 : 調用 clinit 函數 , 初始化 靜態變量 靜態代碼塊 ;

總結

以上是生活随笔為你收集整理的【Android 逆向】类加载器 ClassLoader ( 类加载时机 | 隐式加载 | 显示加载 | 类加载步骤 | 装载 | 链接 | 初始化 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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