# 直接量
[TOC]
## 直接量
直接量是指在程序中直接通過源代碼的方式指定的值,有時也成為字面量。
>[info] 在編譯的時候,JVM 就定義到常量池中。
比如`int a = 5;`這里的 5 就是一個直接量。
在 Java 中可以定義的直接量包含:基本數據類型、字符串類型、null。
## 關于 String 類的特殊說明
String 類是一個不可改變類,意思就是在String 對象被創建出來后就不能被改變了。當程序第一次使用某個字符串直接量時,Java 會使用常量池來緩存該字符串直接量。如果后面程序用到了這個字符串直接量,Java 會直接引用常量池字符串。
>[info] 常量池指的是在編譯器就被確定,并被保存在已編譯的.class文件中的一些數據中。它包括類、接口、方法中的常量,也包括字符串直接量。
在常量池中不會存在兩個一樣的字符串字面量值。