E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
常量池
String存储原理
为了理解String的存储原理,我们需要分解几个关键概念:不可变性、堆内存、字符串
常量池
和垃圾回收机制。下面我将详细解释这些概念并举例说明。
程序员阿鹏
·
2024-09-14 23:27
Java面试八股文
java
jvm
开发语言
eclipse
intellij-idea
后端
Java Virtual Machine One
jvm结构类加载子系统:类加载器验证准备解析数据运行时数据区:1.方法区类信息方法信息
常量池
2.堆体系:线程共享区域堆存放new的对象3.栈线程私有的存放线程执行过程的方法信息(存储单位为栈帧)4.程序计时器执行线程的行号计时器
LongProgrammer
·
2024-09-07 02:07
jvm
【编程底层思考】字符串
常量池
随JDK版本的变化,及其与运行时
常量池
的区别
字符串
常量池
和运行时
常量池
是Java虚拟机中两个重要的概念,它们在不同的JDK版本中有着不同的表现和变化。JDK6字符串
常量池
位于方法区的永久代(PermGen)中。
Dylanioucn
·
2024-09-06 15:26
java
jvm
开发语言
java包装类型装箱拆箱踩坑
128L;System.out.println(l1==l2);//1System.out.println(l1==128);//21.Long包装类型常量cache为-128到127之间(维护在一个
常量池
中
郑捡书
·
2024-09-02 23:15
Java的内存管理机制
Java内存区域Java的内存主要分为几个区域:方法区(MethodArea):功能:存储每个类的结构信息,包括运行时
常量池
、字段和方法数据、构造函数和普通方法的字节码内容等。
纣王家子迎新
·
2024-08-29 06:20
java
jvm
内存机制
栈
堆
学习
Java重修笔记 第三十二天 String类
String类特性1.一个字符占两个字节,不管是英文还是中文2.字符串本质是由字符数组存储的一组数据privatefinalcharvalue[];3.通过双引号创建的字符串对象,其引用直接指向底层
常量池
中的地址
Super Minion
·
2024-08-26 17:01
笔记
深度剖析Java内存溢出:从堆到栈的全面解析
本文将深入探讨Java内存溢出的各种类型,包括堆溢出、栈溢出、运行时
常量池
溢出、元空间溢出、直接内存溢出等,并提供详细的示例代码和技术解析。
九转成圣
·
2024-08-25 00:49
Java高频面试栏
开发语言
java
后端
jvm
JVM 方法区存放那些内容
类的
常量池
:存储类中的常量值(如字符串常量、数值常量和面值),以及字面量
龙大.
·
2024-08-24 22:08
JVM
Java
jvm
方法区【JVM】
JVM-方法区1.方法区的作用当类加载器加载完成类之后,会将类信息、运行时
常量池
、静态变量(此处指的是指针,如果是一个对象对象的分配还是在堆中)等存储在方法区;但在JDK不同版本对字符串常量和静态变量的存储有所不同
码农回忆录
·
2024-08-24 21:35
JVM
方法区
常量池
JVM
JVM常见问题笔记分享
1.5.1概述1.5.2
常量池
1.5.3运行时
常量池
1.7你听过直接内存吗?1.8堆栈的区别是什么?2类加载器2.1什么是类加载器,类加载器有哪些?2.2什么是双亲委派模型?2
落雨既然
·
2024-02-20 13:40
JVM
jvm
笔记
JDK11新特性
二、DynamicClass-FileConstants类文件新添的一种结构Java的类型文件格式将被拓展,支持一种新的
常量池
格式:CONSTANT_Dynamic,加载CONSTANT_Dynamic
星梦客
·
2024-02-20 13:31
Java
java
jdk
深入浅出JVM(一)之Hotspot虚拟机中的对象
本篇文章思维导图对象的创建对象的创建可以分为五个步骤:检查类加载,分配内存,初始化零值,设置对象头,执行实例构造器类加载检查HotSpot虚拟机遇到一条new指令,会先检查能否在
常量池
中定位到这个类的符号引用
·
2024-02-20 12:31
后端
JVM-面试题
一、对象1、对象创建类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在
常量池
定位到类的符号引用,并且检查这个符号引用代表的类是否被加载、解析和初始化过。
HBryce24
·
2024-02-19 23:59
JVM
jvm
JVM-JVM中对象的生命周期
原资料地址:课程资料对象的创建
常量池
检查:检查new指令是否能在
常量池
中定位到这个类的符号引用,检查类之前是否被加载过。如果已经加载则直接使用,否则需要进行加载。
developer@liyong
·
2024-02-19 13:12
JVM虚拟机
jvm
年轻代
老年代
内存分配
内存担保
[Java] 线程池初识
线程池线程池前言线程池的参数介绍因为线程池过于复杂,于是Java标准库提供了更便捷的Executor类线程池的工作过程(模拟线程池)线程池前言池,我们听过有很多,诸如:
常量池
、数据库连接池、线程池、进程池
Prectie.RTE
·
2024-02-19 12:05
java
apache
开发语言
2019-12-29
packagecom.test.cn;//常量在编辑阶段存入到调用这个常量的方法所在的类的
常量池
中//本质上,调用类并没有直接引用到的定义常量的类,因此并不会触发//定义常量的类并没有初始化//注意:这里指的是常量存放到
两颗酸橙子
·
2024-02-19 12:11
JVM对象创建与内存分配机制深度剖析
对象的创建对象创建的主要流程:1.类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在
常量池
中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。
码界调试侠
·
2024-02-19 12:01
Java性能调优
jvm
java
【JVM篇】什么是运行时数据区
⭐堆⭐方法区什么是运行时数据区运行时数据区指的是jvm所管理的内存区域,其中分为两大类线程共享:方法区,堆线程不共享:程序计数器,栈(本地方法栈,虚拟机栈)方法区:存放每一个加载的类的基础信息,运行时
常量池
在下小吉.
·
2024-02-19 12:29
JVM
jvm
java
JVM内存模型和内存溢出
文章目录概念抽象模型模型通信的实现JVM内存程序计数器虚拟机栈本地方法栈堆方法区运行时
常量池
直接内存JAVA对象创建布局访问OutOfMemoryError异常内存相关参数硬件内存模型参考概念JMM,JavaMemoryModel
娟宝宝萌萌哒
·
2024-02-15 08:47
java
jvm
内存模型
溢出
String底层详解(包括字符串
常量池
)
JVM会使用
常量池
来管理字符串直接量。在执行这句话时,JVM会先检查
常量池
中是否已经存有"abc",若没有则将"abc"存入
常量池
,否则就复用
常量池
中已有的"abc",将其引用赋值给变量a。
拾光1024
·
2024-02-14 21:21
jvm
java
面试
Java基础-JVM内存管理-HotSpot对象
对象的创建首先我们虚拟机在遇到new的指令时会检查是否能在
常量池
中找到这个类的符号
HughJin
·
2024-02-13 19:25
Java基础类库
StringBuffer类String类特点:每一个字符串常量都属于一个String类的匿名对象,并且不可更改;String有两个
常量池
:静态
常量池
、运行时
常量池
;String类对象实例化建议使用直接赋值的形式完成
曾梦想仗剑天涯
·
2024-02-13 17:03
常量池
与Integer类的缓存机制
在说这些之前,先说一下在Java中,equals方法和==都有比较值的作用,具体区别如下:1)对于==,比较的是值是否相等如果作用于基本数据类型的变量,则直接比较其存储的值是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址是否相等。其实==比较的不管是基本数据类型,还是引用数据类型的变量,比较的都是值,只是引用类型变量存的值是对象的地址2)对于equals方法,比较的是是否是同一个对
Abeants
·
2024-02-13 07:36
从String.intern()方法浅谈堆中
常量池
在JDK7之前,字符串常量是存在永久带Perm区的,JDK7开始在将
常量池
迁移到堆中,这个变化也导致了String的新特性,下面我们慢慢进行介绍。
宸小朔
·
2024-02-13 06:06
图灵日记--Map&Set&字符串
常量池
&反射&枚举&Lambda表达式&泛型
类集的关系搜索概念及场景模型Map的使用Map常用方法Set的说明常见方法说明哈希表冲突-避免-负载因子调节冲突-解决-闭散列冲突-解决-开散列/哈希桶冲突严重时的解决办法实现和java类集的关系字符串
常量池
图梓灵
·
2024-02-12 19:34
数据结构
java
数据结构
java
jvm对象创建流程与内存分配机制
具体操作是在
常量池
找到对
AaronWang94
·
2024-02-12 07:25
java
java
jvm
“金9银10”2020年JVM高频率面试题整理,技术提升就差一个点!
JVM分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面,class类信息
常量池
(static常量和static变量)等放在方
竖笛大魔王
·
2024-02-10 17:31
字符串
常量池
文章目录String&StringTable一、String1、String的基本特性2、String的不可变性1)重新赋值2)拼接操作3)replace()方法4)方法参数传递二、StringTable1、基本概念2、内存位置3、大小设置4、StringTable不会存在相同的String5、运行时内存案例三、String的创建与内存分配1、字面量/双引号2、new关键字3、StringBuil
scj1022
·
2024-02-10 11:32
JVM
java
开发语言
Java String类详解
所以在Java中所有使用“双引号”括起来的字符串都会在“字符串
常量池
”中创建一份。字符串
常量池
在方法区中被存储。3.在程序执行过程中,如果程序用到某个字符串,例如"abc",
weixin_40273144
·
2024-02-09 13:42
java
Java String相关知识点
高效性字符串
常量池
可以被复用,使用更高效。
沉淀之际
·
2024-02-09 06:37
chap8 虚拟机字节码执行引擎
(用于暂存运算过程中的操作数)动态连接:字节码中的方法调用指令都是以
常量池
中的符号引用作为参
菜鸟乱撞
·
2024-02-08 16:34
jvm内存分区的变化
以下是主要的一些变化:JDK8之前:在JDK8之前,HotSpot虚拟机主要使用的是永久代(PermanentGeneration)和堆内存(HeapMemory),其中永久代主要用于存储类的元数据、方法区、
常量池
等
星光不问赶路人-
·
2024-02-07 14:09
面试
JVM
java
jvm
jvm体系结构
共享内存区共享内存区=持久带(方法区+其他)+堆(OldSpace+YoungSpace(den+S0+S1))持久代:JVM用持久带(PermanentSpace)实现方法区,主要存放所有已加载的类信息,方法信息,
常量池
等等
xmh-sxh-1314
·
2024-02-07 08:23
jvm
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
笔记+踩坑汇总】JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud+黑马旅游+谷粒商城+学成在线+设计模式+牛客面试题目录三、String3.1.String
常量池
程序员小海绵【vincewm】
·
2024-02-07 06:26
Java面试题汇总
Java学习路线
jvm
java
开发语言
【Java 数据结构】String进阶
字符串
常量池
1.创建对象的思考2.字符串
常量池
(StringTable)3.再谈String对象创建1.创建对象的思考下面两种创建String对象的方式相同吗?
山顶是一定要去的
·
2024-02-05 22:19
数据结构
java
数据结构
开发语言
intellij-idea
eclipse
爱上JVM(一):JVM内存结构学习笔记分享
文章目录程序计数器程序计数器作用程序计数器特点栈定义问题栈内存溢出线程诊断CPU占占用过多死锁本地方法栈堆定义堆内存诊断方法区定义方法区内存溢出
常量池
StringTable理解StringTable位置垃圾回收机制直接内存案例演示
落雨既然
·
2024-02-05 20:16
JVM
jvm
学习
笔记
【Java八股文面试系列】JVM-内存区域
目录Java内存区域运行时数据区域线程独享区域程序计数器Java虚拟机栈StackFlowError&OOM本地方法栈线程共享区域堆GCR-分代回收算法字符串
常量池
方法区运行时
常量池
HotSpot虚拟机对象探秘对象的创建对象的内存布局句柄
叮咚Zz
·
2024-02-05 12:39
python
开发语言
java
jvm
java-ee
intellij-idea
String s = new String(“xxx“);创建了几个对象?
分析//在
常量池
中Stringstr1="abc";//在堆上Stringstr2=newString("abc");当直接赋值时,字符串“abc”会被存储在
常量池
中,只有1份,此时的赋
zhouhuandev
·
2024-02-04 06:09
JVM方法区详解
主要就是存放已经被虚拟机加载的类型信息,常量以及一些静态变量等信息,另外对于方法区,还存储着非常重要的一类东西,叫做“
常量池
”。
创作小达人
·
2024-02-02 23:51
jvm
Java类加载机制
getstatic,putstatic或invokestatic这4条字节码指令时.分别对应常见的4种场景,new关键字实例化对象,读取或设置类的静态字段(不包括被final修饰的字段,已在编译期把结果放入
常量池
中
SherlockMo_cfe5
·
2024-02-02 04:13
22 字段表集合
fields:字段表是指向
常量池
索引集合,描述了每个字段的完整信息。image.png1,父类定义的变量是不会存在于子类的field表结构中的。
西西_20f6
·
2024-02-01 11:49
JAVA自动装箱拆箱与
常量池
java自动装箱与拆箱这个是jdk1.5以后才引入的新的内容java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装箱,解包装称为拆箱);其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合java的面向对象;例如用int来举例://声明一个Integer对象Integernum=10;//以上的声明就是用到了自动的装箱:解析为In
Zal哥哥
·
2024-02-01 03:59
JVM学习
本地方法栈:本地方法服务堆:所有线程共享方法区:存储已加载的类型信息:常量,静态变量,即时编译器编译后的缓存数据
常量池
:是方法区的一部分作用:减少重复创
一日三餐384
·
2024-01-31 18:26
jvm
学习
java
09_方法区
09_方法区1、栈、堆、方法区的交互关系2、方法区的理解3、设置方法区大小与OOM4、方法区的内部结构运行时
常量池
5、方法区使用举例6、方法区的演进细节7、方法区的垃圾回收8、总结1、栈、堆、方法区的交互关系运行时数据区结构图从线程共享与否的角度来看
小七学爪哇
·
2024-01-31 12:30
JVM_虚拟机
python
开发语言
【Tomcat与网络6】 Tomcat是如何扩展Java线程池的?
在开发中我们经常会碰到“池”的概念,比如数据库连接池、内存池、线程池、
常量池
纵横千里,捭阖四方
·
2024-01-31 11:16
一个项目征服Java
HTTP与Tomcat
java
tomcat
开发语言
java学习-day05
个人曾经学习java的一些记录,仅供参考java学习-day05常用系统包装类(每个基本数据类型都对应着一个包装类)String\StringBuilder\StringBuffer字符串
常量池
字符串的比较字符串常用
dst_
·
2024-01-31 06:06
java/数据库学习
java
【JVM】运行时数据区域,内存如何分配和对象在内存中的组成
空闲列表法3.TLAB三.对象在内存中的组成编辑1.对象头2.实例数据3.对齐填充一.运行时数据区域1.线程独享(1)栈虚拟机栈:每个Java方法在执行的同时,会创建一个栈帧,用于存储局部变量表、操作数栈、
常量池
引用等信息
王果冻ddd
·
2024-01-30 02:11
jvm
java
开发语言
安全
【JavaSE】数据类型与变量
数据类型与变量1.字面常量常量就是程序运行期间,保持不变的量,通常保存在
常量池
。
我焦虑的编程日记
·
2024-01-29 08:06
java
java
前端
数据库
带你学习如何排查和解决OOM
❤️文章目录带你学习如何排查和解决OOM1.Java堆区溢出2.虚拟机栈和本地方法栈溢出3.方法区和运行时
常量池
溢出4.直接内存溢出带你学习如何排查和解决OOM在面试的过程中,
欧克小奥
·
2024-01-28 20:09
JVM
Java
JVM
OOM
解读String的intern()
首先记住intern()的作用:如果SCP(字符串
常量池
)中存在与A内容一样的字符串对象C时,就返回C的地址;否则将A放入SCP中,返回A的地址。案例1:publicclassStringIntern
小明说Java
·
2024-01-28 04:06
java基础
java
intern
面试题目
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他