java常量池在哪里_Java常量池详细说明

article/2025/9/23 23:42:48

java常量池技术

java中的常量池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复创建相等变量时节省了很多时间。常量池其实也就是一个内存空间,常量池存在于方法区中

3f1642d9890548df2051a8cbd448473a.png

Java是一种动态链接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值外,还包含一些以文本形式出现的符号引用,比如:

类和接口的全限定名;

字段的名称和描述符;

方法的名称和描述符。

3ed6146861288db983c122de21eaa5c0.png

Constant pool:

#1 = Methodref#32.#86 // java/lang/Object."":()V

#2 = Fieldref #31.#87 // com/bookStore/commons/beans/User.id:Ljava/lang/Integer;

#3 = Fieldref #31.#88 // com/bookStore/commons/beans/User.username:Ljava/lang/String;

#4 = Fieldref #31.#89 // com/bookStore/commons/beans/User.password:Ljava/lang/String;

#5 = Fieldref #31.#90 // com/bookStore/commons/beans/User.gender:Ljava/lang/String;

#6 = Fieldref #31.#91 // com/bookStore/commons/beans/User.email:Ljava/lang/String;

#7 = Fieldref #31.#92 // com/bookStore/commons/beans/User.telephone:Ljava/lang/String;

#8 = Fieldref #31.#93 // com/bookStore/commons/beans/User.introduce:Ljava/lang/String;

#9 = Fieldref #31.#94 // com/bookStore/commons/beans/User.activeCode:Ljava/lang/String;

#10 = Fieldref #31.#95 // com/bookStore/commons/beans/User.state:I

#11 = Fieldref #31.#96 // com/bookStore/commons/beans/User.registTime:Ljava/util/Date;

#12 = Fieldref #31.#97 // com/bookStore/commons/beans/User.role:Ljava/lang/String;

#13 = Class#98 // java/lang/StringBuilder

#14 = Methodref#13.#86 // java/lang/StringBuilder."":()V

#15 = String #99 // User{id=

#16 = Methodref#13.#100// java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;

#17 = Methodref#13.#101// java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;

#18 = String #102// , username=\'

#19 = Methodref#13.#103// java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;

#20 = String #104// , password=\'

#21 = String #105// , gender=\'

#22 = String #106// , email=\'

#23 = String #107// , telephone=\'

#24 = String #108// , introduce=\'

#25 = String #109// , activeCode=\'

#26 = String #110// , state=

#27 = Methodref#13.#111// java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;

#28 = String #112// , role=\'

#29 = String #113// , registTime=

#30 = Methodref#13.#114// java/lang/StringBuilder.toString:()Ljava/lang/String;

#31 = Class#115// com/bookStore/commons/beans/User

#32 = Class#116// java/lang/Object

#33 = Utf8 id

#34 = Utf8 Ljava/lang/Integer;

#35 = Utf8 username

#36 = Utf8 Ljava/lang/String;

#37 = Utf8 password

#38 = Utf8 gender

#39 = Utf8 email

#40 = Utf8 telephone

#41 = Utf8 introduce

#42 = Utf8 activeCode

#43 = Utf8 state

#44 = Utf8 I

#45 = Utf8 role

#46 = Utf8 registTime

#47 = Utf8 Ljava/util/Date;

#48 = Utf8

#49 = Utf8 ()V

#50 = Utf8 Code

#51 = Utf8 LineNumberTable

#52 = Utf8 LocalVariableTable

#53 = Utf8 this

#54 = Utf8 Lcom/bookStore/commons/beans/User;

#55 = Utf8 getId

#56 = Utf8 ()Ljava/lang/Integer;

#57 = Utf8 setId

#58 = Utf8 (Ljava/lang/Integer;)V

#59 = Utf8 getUsername

#60 = Utf8 ()Ljava/lang/String;

#61 = Utf8 setUsername

#62 = Utf8 (Ljava/lang/String;)V

#63 = Utf8 getPassword

#64 = Utf8 setPassword

#65 = Utf8 getGender

#66 = Utf8 setGender

#67 = Utf8 getEmail

#68 = Utf8 setEmail

#69 = Utf8 getTelephone

#70 = Utf8 setTelephone

#71 = Utf8 getIntroduce

#72 = Utf8 setIntroduce

#73 = Utf8 getActiveCode

#74 = Utf8 setActiveCode

#75 = Utf8 getState

#76 = Utf8 ()I

#77 = Utf8 setState

#78 = Utf8 (I)V

#79 = Utf8 setRegistTime

#80 = Utf8 (Ljava/util/Date;)V

#81 = Utf8 getRole

#82 = Utf8 setRole

#83 = Utf8 toString

#84 = Utf8 SourceFile

#85 = Utf8 User.java

#86 = NameAndType#48:#49 // "":()V

#87 = NameAndType#33:#34 // id:Ljava/lang/Integer;

#88 = NameAndType#35:#36 // username:Ljava/lang/String;

#89 = NameAndType#37:#36 // password:Ljava/lang/String;

#90 = NameAndType#38:#36 // gender:Ljava/lang/String;

#91 = NameAndType#39:#36 // email:Ljava/lang/String;

#92 = NameAndType#40:#36 // telephone:Ljava/lang/String;

#93 = NameAndType#41:#36 // introduce:Ljava/lang/String;

#94 = NameAndType#42:#36 // activeCode:Ljava/lang/String;

#95 = NameAndType#43:#44 // state:I

#96 = NameAndType#46:#47 // registTime:Ljava/util/Date;

#97 = NameAndType#45:#36 // role:Ljava/lang/String;

#98 = Utf8 java/lang/StringBuilder

#99 = Utf8 User{id=

#100 = NameAndType#117:#118 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;

#101 = NameAndType#117:#119 // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;

#102 = Utf8 , username=\'

#103 = NameAndType#117:#120 // append:(C)Ljava/lang/StringBuilder;

#104 = Utf8 , password=\'

#105 = Utf8 , gender=\'

#106 = Utf8 , email=\'

#107 = Utf8 , telephone=\'

#108 = Utf8 , introduce=\'

#109 = Utf8 , activeCode=\'

#110 = Utf8 , state=

#111 = NameAndType#117:#121 // append:(I)Ljava/lang/StringBuilder;

#112 = Utf8 , role=\'

#113 = Utf8 , registTime=

#114 = NameAndType#83:#60 // toString:()Ljava/lang/String;

#115 = Utf8 com/bookStore/commons/beans/User

#116 = Utf8 java/lang/Object

#117 = Utf8 append

#118 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder;

#119 = Utf8 (Ljava/lang/Object;)Ljava/lang/StringBuilder;

#120 = Utf8 (C)Ljava/lang/StringBuilder;

#121 = Utf8 (I)Ljava/lang/StringBuilder;


http://chatgpt.dhexx.cn/article/FQpheKUm.shtml

相关文章

java中常量池存的是什么_Java中常量池是什么?Java常量池的介绍

本篇文章给大家带来的内容是关于Java中常量池是什么?Java常量池的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Java当中的常量池 在Java虚拟机jvm中,内存分布为:虚拟机堆,程序计数器,本地方法栈,虚拟机栈,方法区。 程序计数器是jvm执行程序的…

java long常量池_Java-常量池

Java-常量池 常量池是类文件中最复杂的数据结构。对于JVM字节码来说,如果操作数是很常用的数字,比如 0,这些操作数是内嵌到字节码中的。如果是字符串常量和较大的整数等,Class文件则会把这些操作数存储到常量池中,当使…

Java常量池原理以及垃圾回收

Java常量池 常量池:用于存放编译期间生成的各种字面量和符号引用 字面量:由字母数字等构成的字符串或数值常量,如int a 1中 1就是字面量 符号引用:编译原理中的概念;是相对直接引用来说的,主要包括三类常…

Java 常量池详解(一)字符串常量池

在Java的内存分配中,总共3种常量池: Java 常量池详解(二)class文件常量池 和 Java 常量池详解(三)class运行时常量池 1.字符串常量池(String Constant Pool) 在JDK1.7之前运行时常量池逻辑包含…

Java常量池储存什么_JAVA常量池中存储的常量是什么

展开全部 我当初也存在这样一个疑问,下面我把e69da5e887aa3231313335323631343130323136353331333262356165当初所搜集的一些资料以及自己的理解贴出来给你看看(比较多,需要耐心点看,呵呵): 理解Java常量池 JVM运行时数据区的内存…

深度剖析Java常量池

Class常量池 class常量池可以理解为是Class文件中的资源仓库。Class文件中除了包含类的版本、字段、方法、接口等描述信息外,还有一项信息就是常量池(constant pool table),用于存放编译期生成的各种字面量和符号引用。 一个Class文件的16进制大体结构如…

Java常量池

Java常量池 一.相关知识 1.何为常量 第一种常量:是一个值,我们将这个值本身称为常量。比如: 整型常量:1024 实型常量:1.024 字符常量:g c w 字符串常量:"gcw" 逻辑常量:t…

Java 常量池

常量池分为 Class 常量池常量池、运行时常量池、字符串常量池。 1、 Class 常量池常量池(静态常量池) Java 文件被编译成 Class 文件,Class 文件中除了包含类的版本、字段、方法、接口等描述信息外,还有一项就是 Class 常量池&am…

JAVA常量池,一篇文章就足够入门了。(含图解)

前言 一直在《深入理解JVM》对常量池只有一个浅薄的了解,之前也遇到过这种题目,今天还是要挑出来进行一次全方位的了解。 常量池分类 常量池大体可以分为:静态常量池,运行时常量池。 静态常量池 存在于class文件中&#xff0c…

基于Elman神经网络的刀具剩余使用寿命预测(初学者+matlab代码实现)

1.Elman介绍 Elman神经网络是 J. L. Elman于1990年首先针对语音处理问题而提出来的,是一种典型的局部回归网络( global feed forward local recurrent)。Elman网络可以看作是一个具有局部记忆单元和局部反馈连接的递归神经网络 它的主要结构是前馈连接, 包括输入层、…

通过模拟退火改进的Elman神经网络(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 神经网络是一个庞大的体系和概念,根据处理信息的不同方式来区分不同的network。比如根据处理信息结果的传递方向&am…

基于遗传算法优化的Elman神经网络数据预测-附代码

基于遗传算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于遗传算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于遗传优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要:针…

【预测模型-ELAMN预测】基于海鸥算法优化ELMAN神经网络实现数据回归预测

1 简介 风能,作为一种重要,有潜力,无污染,可再生、可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐。近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世界各国纷纷大力发展风能资源。然而,在实际操作中,风能固有的波动性和间歇…

MATLAB神经网络应用之Elman神经网络

Elman神经网络通常由输入层、隐含层和输出层构成,它存在从隐含层的输出到隐含层输入的反馈。这种反馈连接的结构使得被训练后不仅能识别和产生空域模式,还能够识别和产生时域模式,在此只介绍创建Elman网络的newelm函数,该函数用于…

基于粒子群算法优化的Elman神经网络数据预测-附代码

基于粒子群算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于粒子群算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于粒子群优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&#x…

elman神经网络的实现

在看文章时,一篇文章提到了使用elman神经网络来对癫痫病人的脑电信号与正常人的脑电信号进行区分,并且取得了较好的分类结果。于是就想自己写一个elman神经网络demo看看效果。 elman神经网络和感知机的差别通过下面的图片可以很明显的看出哪里不一样&am…

【预测模型-ELAMN预测】基于遗传算法优化ELMAN神经网络实现数据回归预测matlab代码

1 简介 风能,作为一种重要,有潜力,无污染,可再生、可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐。近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世界各国纷纷大力发展风能资源。然而,在实际操作中,风能固有的波动性和间歇…

【预测模型】基于Elman神经网络预测电力负荷matlab代码

​1 简介 为提高甘肃电网负荷预测精度,提出了一种基于神经网络的负荷预测方法.针对甘肃电力系统负荷数据的非线性和动态特性,在多层前向BP网络中引入特殊关联层,形成有"记忆"能力的Elman神经网络,从而可以映射系统的非线性和动态特性.在网络训练算法中,采用自适应学…

粒子群算法优化BP和Elman神经网络-matlab源码

粒子群优化算法是一种智能优化算法,又称微粒群算法,它通过模拟自然界鸟群捕食和鱼群捕食的过程。通过群体中的协作寻找到问题的全局最优解。 收敛性的数学证明帮助了PSO的发展和应用,但此内分析具有很大的局限性。为PSO加入正交学习后&#…

基于鲸鱼算法优化的Elman神经网络数据预测-附代码

基于鲸鱼算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于鲸鱼算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于鲸鱼优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要:针…