最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中static和static?final的區(qū)別詳解

 更新時間:2023年10月26日 08:35:13   作者:碼農(nóng)回憶錄  
這篇文章主要介紹了Java中static和static?final的區(qū)別詳解,開發(fā)時我們經(jīng)常用到static以及static?final來修飾我們的字段變量,那么他們到底有什么區(qū)別呢?其實他們的區(qū)別可以用使用字節(jié)碼文件來解析,需要的朋友可以參考下

1. 準(zhǔn)備測試代碼

package com.hgy;

import java.util.Arrays;
import java.util.List;

public class hello {

	private static String name = "hello";
	private static final String finalName = "finalName";

	public static void main(String[] args) {
		System.out.println(name);

	}
}

2. 利用idea中的插件jclasslib查看字節(jié)碼文件

找到method下面的此方法不是我們編寫的,而是java自動給我們添加上的用于執(zhí)行類加載時靜態(tài)變量以及靜態(tài)代碼塊的內(nèi)容; 這里的字節(jié)碼命令很簡單,就是加載了hello然后賦值給了那么最后返回了;此處你會發(fā)現(xiàn)并沒有final修飾的字段的初始化。實際上final字段修飾的已經(jīng)在編譯期間就確定了值不需要在加載的時候賦值

在這里插入圖片描述

final字段的字節(jié)碼文件(刪除了其他干擾信息的字節(jié)碼文件)

  • 此處可以發(fā)現(xiàn)在字節(jié)碼文件中已經(jīng)寫明了ConstantValue: String finalName, 這也就代表編譯期間就已經(jīng)有值了
  • static塊的內(nèi)容也就是上圖看到的內(nèi)容
{
  public static final java.lang.String finalName;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: String finalName

  static {};
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: ldc           #6                  // String hello
         2: putstatic     #7                  // Field name:Ljava/lang/String;
         5: return
      LineNumberTable:
        line 8: 0
}
SourceFile: "hello.java"

3.總結(jié)

static修飾的字段的值,會在類加載階段的初始化階段進(jìn)行內(nèi)容初始化static final字段的初始化在編譯期間就已經(jīng)完成

到此這篇關(guān)于Java中static和static final的區(qū)別詳解的文章就介紹到這了,更多相關(guān)static和static final的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

到此這篇關(guān)于Java中static和static final的區(qū)別詳解的文章就介紹到這了,更多相關(guān)static和static final的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MybatisPlus處理大表查詢的實現(xiàn)步驟

    MybatisPlus處理大表查詢的實現(xiàn)步驟

    在實際工作中當(dāng)指定查詢數(shù)據(jù)過大時,我們一般使用分頁查詢的方式一頁一頁的將數(shù)據(jù)放到內(nèi)存處理,本文主要介紹了MybatisPlus處理大表查詢的實現(xiàn)步驟,感興趣的可以了解一下
    2024-08-08
  • Mybatis獲取參數(shù)值和查詢功能的案例詳解

    Mybatis獲取參數(shù)值和查詢功能的案例詳解

    這篇文章主要介紹了Mybatis獲取參數(shù)值和查詢功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • SpringCloud如何引用xxjob定時任務(wù)

    SpringCloud如何引用xxjob定時任務(wù)

    Spring?Cloud?本身不直接支持?XXL-JOB?這樣的定時任務(wù)框架,如果你想在?Spring?Cloud?應(yīng)用中集成?XXL-JOB,你需要手動進(jìn)行配置,本文給大家介紹SpringCloud如何引用xxjob定時任務(wù),感興趣的朋友一起看看吧
    2024-04-04
  • 使用shardingsphere對SQLServer坑的解決

    使用shardingsphere對SQLServer坑的解決

    本文主要介紹了使用shardingsphere對SQLServer坑的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • Netty實現(xiàn)簡易版的RPC框架過程詳解

    Netty實現(xiàn)簡易版的RPC框架過程詳解

    這篇文章主要為大家介紹了Netty實現(xiàn)簡易版的RPC框架過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java中Cookie和Session的那些事兒

    Java中Cookie和Session的那些事兒

    Cookie和Session都是為了保持用戶的訪問狀態(tài),一方面為了方便業(yè)務(wù)實現(xiàn),另一方面為了簡化服務(wù)端的程序設(shè)計。這篇文章主要介紹了java中cookie和session的知識,需要的朋友可以參考下
    2016-09-09
  • springboot臨時文件存儲目錄配置方式

    springboot臨時文件存儲目錄配置方式

    這篇文章主要介紹了springboot臨時文件存儲目錄配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot自動配置排除的五種方式

    SpringBoot自動配置排除的五種方式

    本文詳細(xì)介紹了SpringBoot自動配置排除的核心知識點,包括自動配置的基本邏輯、為何需要排除自動配置、五種排除自動配置的方式,需要的朋友可以參考下
    2026-04-04
  • java中Supplier知識點總結(jié)

    java中Supplier知識點總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于java中Supplier知識點總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-04-04
  • Java OpenCV4.0.0實現(xiàn)實時人臉識別

    Java OpenCV4.0.0實現(xiàn)實時人臉識別

    這篇文章主要為大家詳細(xì)介紹了Java OpenCV4.0.0實現(xiàn)實時人臉識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論

莱芜市| 航空| 津市市| 长治市| 蚌埠市| 岢岚县| 思茅市| 长岭县| 卓资县| 郸城县| 原平市| 呈贡县| 车致| 遂昌县| 武威市| 万安县| 泽普县| 乐清市| 遂宁市| 和田市| 响水县| 常宁市| 中超| 崇仁县| 江油市| 海原县| 阜城县| 翁牛特旗| 合肥市| 文水县| 如皋市| 库伦旗| 徐水县| 五原县| 淳化县| 忻城县| 普宁市| 南部县| 社旗县| 武宁县| 莱芜市|