java常量池是如何存放基本类型字面量的?和String 的处理方式是一样的吗?常量池的设计原则是什么?

问题描述

public class Test {public final int a=5;public final int b=5;public final int c=5;String d="abc";String e="abc";String f="abc";}常量池在存储 基本类型的字面量 ,和存储字符串 的存储方式是否一样,比如说 字符串"abc" ,在常量池中只存储一份, 那么基本类型 字面量 比如说上面定义的 5 , 他会在编译 在常量池中存储几个?java常量池有什么设计原则吗?希望看懂我的意思,真正研究过jvm 的高手回答问题,谢谢!

解决方案

字符串常量 可参考http://www.iteye.com/topic/1122533#2337877比如说上面定义的 5 , 他会在编译 在常量池中存储几个 因为不是对象 而是值 所以每次都是一个 如int型 那么就是占4个字节存储

时间: 2024-11-03 22:10:08

java常量池是如何存放基本类型字面量的?和String 的处理方式是一样的吗?常量池的设计原则是什么?的相关文章

《21天学通Java(第7版)》—— 2.4 字面量

2.4 字面量 除变量外,还可以在Java语句中使用字面量.字面量可以是任何直接表示一个值的数字.文本或其他信息. 下面的赋值语句使用了字面量: int year = 2016; 其中的字面量2016表示整数值2016.数字.字符和字符串都是字面量.Java有一些特殊类型的字面量,它们表示各种数字.字符.字符串和布尔值. 2.4.1 数字字面量 Java有几种整型字面量.例如,数字4是一个int类型的整型字面量,可将其赋给byte或short类型的变量,因为它足够小,在这些整数类型的取值范围内.

《21天学通Java(第6版)》—— 2.4 字面量

2.4 字面量 21天学通Java(第6版) 除变量外,还可以在Java语句中使用字面量.字面量可以是任何直接表示一个值的数字.文本或其他信息. 下面的赋值语句使用了字面量: 其中的字面量2012表示整数值2012.数字.字符和字符串都是字面量.Java有一些特殊类型的字面量,它们表示各种数字.字符.字符串和布尔值. 2.4.1 数字字面量 Java有几种整型字面量.例如,数字4是一个int类型的整型字面量,可将其赋给byte或short类型的变量,因为它足够小,在这些整数类型的取值范围内.位于

JAVA 入坑教程 | 章节三 变量类型

从上篇文章中我们可以知道,java中的数据类型分为基本数据类型和引用数据类型. Java的面向对象的原则是:数据和数据之上的操作要绑定在一起,这就是类,即引用数据类型.因此,类也是一种类型.Java本来可以不设置基本类型,只是为了提高操作效率,才设置了基本类型.基本类型和引用类型的最主要区别是: 基本类型的变量名是变量本身. 引用类型变量的名字是复杂数据的存储地点. 我们知道,Java语言支持的变量类型有三大类: 局部变量 成员变量 类变量(静态变量) 本篇章节其实是从作用域出发,讲解了变量类型

JAVA 【引用类型】和【对象类型】在【继承】中的异同

介绍     JAVA [引用类型]和[对象类型]在[继承]中的异同,这个问题自己整理过N次,也被人当菜鸟问过N次.所以,在此简单整理一下,以供大家分享. 在继承关系中,一般成员变量是根据引用类型 在继承关系中,静态成员变量是根据引用类型 在继承关系中,一般方法是根据对象类型 在继承关系中,静态方法是根据引用类型 注意     静态成员变量,静态方法是基于类的,本文为了测试观察,所以,会用对象去引用静态成员变量和静态方法.      Super Class: package shuai.stud

java-请教大神,再JAVA里 怎么把rgba转换成#类型呢??

问题描述 请教大神,再JAVA里 怎么把rgba转换成#类型呢?? 我现在得到的是一个 string 类型 rgba(102 0 255 0.506)怎么把这个转换成 # 这样的类型呢?我的意思是转换成 #33333 这样的? 解决方案 RGBA你有没有查过资料?最后的那个数值是alpha.是透明度.这个alpha和RGB本身是相互独立的.rgb(abc)对应的是(a<<16 | b<<8 | c)得到的表达式应该是:#ffffff 这样的,6个十六进制数表示的. 你写的#3333

求解答java通过请求头如何得到文件类型后缀

问题描述 求解答java通过请求头如何得到文件类型后缀 java中,上传一个文件,首先要从文件的请求头中得到文件的内容类型,然后判断文件的扩展名,请知道的大神详细解答! 解决方案 貌似httpservletRequest'类能够获取请求头,查查api有你要的一切 解决方案二: 上传文件,直接从请求体中得到文件的全部信息啊,什么名字,内容,大小都能得到了 解决方案三: 直接使用httprequest就行,具体的方法可以查一下api 解决方案四: 使用commo-fileupload.jar 大概步

简要分析Java的Hibernate框架中的自定义类型_java

最近看到hibernate的自定义类型,这个以前没接触过,在这里记录一下,当是对自己知识的巩固,也让没有接触过的朋友一起学习研究一番.  1)自定义类型,顾名思义,当然就是由于内部的类型不满足需求,而自己来进行实现的类型.这种情况不多,但我们还是有必要学习一下,技多不压身嘛.也学习一下,别人在做框架的时候是怎么去考虑的,怎么去思考扩展性的.  自定义类型有两个方法来实现,一种是实现UserType,另外一种实现CompositeUserType,另外可能还有一些方法,但我暂时没用到,先不讲了.

WPF中 我自定义了一个模板列用于存放datetime类型并定义好显示格式,但是无法获取值

问题描述 我在dategrid控件中自定义了模板,用于存放datetime类型的数据,并固定好其显示格式!<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup

谈谈Java中整数类型(short int long)的存储方式_java

在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解. 其他的三种类型如下: 1. 基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此方) 最大值:Short.MAX_VALUE=32767 (2的15次方-1) 2. 基本类型:int 二进制位数:32 包装类:java.lang.Integer 最小值:Integer.M