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
Java字符串常量池
jvm 什么是
常量池
,
常量池
定义 class
常量池
首先需要理解下Java的class文件,以及class文件结构:1.Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8个字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8个字节进行存储注:任何一个Class文件都对应着唯一的一
qq_33919114
·
2023-08-25 20:57
jvm
Java基础类库
常用类库1、StringBufferString类是在所有项目开发之中一定会使用到的一个功能类,并且这个类拥有如下的特点:每一个字符串的常量都属于一个String类的匿名对象,并且不可更改String有两个
常量池
六十岁敲代码
·
2023-08-25 12:23
Java基础类库
java
开发语言
JVM核心原理解读(一)---执行引擎
的差异性,使得编写的代码无差别的在各个平台运行;JVM运行时内存结构运行时栈帧局部变量表---方法的局部变量的值操作数栈--方法运行时子节码指令的操作参数动态链接--方法运行时在栈帧中保存该方法在运行时
常量池
的引用
wesen12
·
2023-08-25 07:29
jvm
Java字符串
日期和时间如何比较“大小“
1.Java比较两个字符串日期前后(大小)//开始日期("2019-08-07")StringstartDate=dailyEvent.getStartDate();//开始日期("2019-08-07")StringendDate=dailyEvent.getEndDate();//校验:开始日期必须小于结束日期intdateFlag=endDate.compareTo(startDate);.
程序员向阳
·
2023-08-25 01:52
Java
Java
Java多线程基础-11:工厂模式及代码案例之线程池
在Java中,xx池的概念是很常见的,比如之前遇到过的
常量池
、数据库连接池等等。线程池是一种常用的多线程处理方式,它可以重复利用已创建的线程,从而减少线程的创建和销毁开销,并提高程序的性能。
碳基肥宅
·
2023-08-24 13:49
#
SSM
Java
java
开发语言
JavaWeb
线程池
多线程编程
final修饰的变量就是常量?
常量在类编译时期载入类的
常量池
中。即final修饰的成员变量(实例变量)和静态变量(静态变量也只能是用static修饰的成员变量),那么用final修饰的局部变量(方法内)我们也可以称之为不可变变
Outsider_in
·
2023-08-24 10:02
java
java
【JVM】运行时数据区域
文章目录说明程序计数器虚拟机栈本地方法栈Java堆方法区运行时
常量池
直接内存说明Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。
秃头披风侠.
·
2023-08-24 09:29
JVM
jvm
java字符串
转对象_son字符串转换为java对象的各种实现方法
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition-December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,Jav
锺一勺
·
2023-08-24 08:57
java字符串转对象
jvm-类加载子系统
文件在文件开头有特定的文件标识ClassLoader只负责class文件的加载,至于它是否运行,则由ExecutionEngine决定加载的类信息存放于一块称为方法区的内存空间,除了类的信息外,方法区中还会存放运行时
常量池
信息
highly2009
·
2023-08-24 04:52
jvm
垃圾回收(GC) 很干,很全
说一下垃圾回收机制垃圾回收主要针对的是JVM的堆内存,我讲一下我了解的hotspot实现的jvm,分为新生代和老年代,按照以前的说法,还有一个永久代,永久代在方法区里(物理上跟老年代相连),保存了class信息,静态变量,
常量池
等
浩展
·
2023-08-24 03:09
JVM
jvm
java
算法
理解JVM运行时数据区域,看这一篇文章就够了
Java虚拟机栈每个Java方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、
常量池
引用等信息。从方法调用直至执行完成的过程,就对应着一个栈帧在Java虚拟机栈中入栈和出栈的过程。
java高并发
·
2023-08-24 02:02
JVM——类加载与字节码技术—字节码指令
2ab70001b1this.init()return准备了System.out对象,准备了参数“helloworld”,准备了对象的方法println(String)V,并return2.2javap工具这里
常量池
直接把查询结果放在了右边
北岭山脚鼠鼠
·
2023-08-24 00:23
JVM
jvm
JVM——类加载与字节码技术—类文件结构
1.类文件结构根据下面规范,魔数,两个版本,
常量池
信息,访问修饰,类名信息,父类信息,接口信息,类中成员变量,方法信息,类的附加属性信息。
北岭山脚鼠鼠
·
2023-08-24 00:50
JVM
jvm
14.VisualVM使用详解、15.VisualVM堆查看器使用的内存不足、19.class文件--文件结构--魔数、20.文件结构--
常量池
、21.文件结构访问标志(2个字节)、22.类加载机制概
14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足16.性能调优概述17.性能调优–案例118.性能调优—案例三19.class文件–文件结构–魔数20.文件结构–
常量池
21.文件结构访问标志
涂作权的博客
·
2023-08-23 23:47
#
JVM
11.JDK8内存模型、本地方法栈、虚拟机栈、栈帧结构(局部变量表、操作数栈、方法出口、虚拟机栈与本地方法栈的关系、寄存器、方法区、堆(Heap)、jvm中的
常量池
、Metaspace(元空间))
11.JDK8内存模型11.1.本地方法栈(NativeMethodStacks)11.2.虚拟机栈(JavaVirtualMachineStacks)11.3.栈帧结构11.3.1.局部变量表11.3.2.操作数栈11.3.3.方法出口11.4.虚拟机栈与本地方法栈的关系11.5.寄存器(ThepcRegister)11.6.方法区(MethodArea)11.7.堆(Heap)11.8.jvm
涂作权的博客
·
2023-08-23 23:47
#
JVM
12.JDK1.8 JVM运行时数据区域概览、各区域介绍、程序计数器、Java虚拟机栈、本地方法栈、堆、堆空间内存分配(默认情况下)、字符串
常量池
、元数据区、jvm参数配置
12.2.各区域介绍12.3.各区域介绍12.3.1.程序计数器12.3.2.Java虚拟机栈12.3.3.本地方法栈12.3.4.堆12.3.4.1.堆空间内存分配(默认情况下)12.3.4.2.字符串
常量池
涂作权的博客
·
2023-08-23 23:47
#
JVM
3.内存分配、逃逸分析与栈上分配、直接内存和运行时
常量池
、基本类型的包装类和
常量池
、TLAB、可达性分析算法(学习笔记)
3.JVM内存分配3.1.内存分配概述3.2.内存分配–Eden区域3.3.内存分配–大对象直接进老年代3.3.1.背景3.3.2.解析3.4.内存分配–长期存活的对象进去老年代3.5.内存分配–空间分配担保3.5.1.堆空间参数3.5.2.-XX:HandlePromotionFailure3.6.内存分配–逃逸分析与栈上分配3.6.1.逃逸分析3.6.1.1.方法逃逸3.6.1.2.线程分配3
涂作权的博客
·
2023-08-23 23:46
#
JVM
5.避免创建不必要的对象
String对象的创建Strings=newString("string");//不要这么做Strings="string"//应该这么做第一种方法会创建两个对象而第二种只会创建一个对象,并且字符类型会保存在
常量池
里面
哲学与豆包
·
2023-08-23 07:38
Java中的经典面试题之==运算符与equals方法
特殊情况:在Java中,String类型是引用数据类型,但是有一个特殊的性质,即字符串
常量池
。当我们使用双引号创建一个字符串时,J
WM之辈
·
2023-08-23 05:54
java
开发语言
【深入理解jvm读书笔记】运行时数据区域有哪些
运行时数据区域有哪些一、程序计数器二、java虚拟机栈三、本地方法栈四、java堆五、方法区六、运行时
常量池
一、程序计数器是当前线程所执行的字节码的行号指示器,它是程序控制流的指示器,分支、循环、跳转、
Ez4Sterben
·
2023-08-23 04:40
读书笔记
jvm
栈
堆
内存
常量池
Java虚拟机JVM简介与理解(三)
Java虚拟机JVM简介与理解(三)问题背景PC程序计数器虚拟机栈本地方法栈堆元空间方法区运行时
常量池
直接内存Lyric:彻底把我囚禁在你的呼吸问题背景Java虚拟机JVM简介与自己的一些理解,只写一篇太长了
时间是一种解药
·
2023-08-22 23:09
JVM开发常遇问题
jvm
java
面试
类的加载器及类加载过程
除了类的信息外,方法区中还会存放运行时
常量池
信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中
常量池
部
丁总学Java
·
2023-08-22 23:55
#
类加载子系统
java
jvm
类加载器
方法调用
解析所有方法调用中的目标方法在Class文件里面都是一个
常量池
中的符号引用,在类加载的解析阶段,会将其中的一部分符号引用转化
Samlen_Tsoi
·
2023-08-21 15:06
JVM(六)JVM
常量池
1.
常量池
类型Java中的
常量池
分为三种:类文件
常量池
(静态
常量池
)(TheConstantPool)运行时
常量池
(TheRun-TimeConstantPool)String
常量池
在JDK1.7前,运行时
常量池
逻辑包含字符串
常量池
hadoop_a9bb
·
2023-08-21 15:40
和
常量池
有什么关系?问倒一大片!
这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种
常量池
的概念。
常量池
就类似一个JAVA系统级别提供的缓存。8种基本类型的
常量池
都是系统协调的,String类型的
常量池
比较特殊
·
2023-08-21 09:41
java
Java字符串
模板解析
最近遇到一个需求,就是给出一个Object列表,Object类型只在A、B、C、D、E、F、G这七个类中,这七个类各自有着不同的属性,甲方要求根据这个列表生成一段文字,来描述这个列表中各个对象的信息,同一个类的信息格式一样就可以。比如:1.水果名称:苹果类型:红富士来源:烟台//水果时2.蔬菜名称:白菜类型:大叶类保鲜期:5天3.蔬菜名称:大葱类型:章丘大葱保鲜期:7天4.商品名称:紫米面包保质期
水晶心泉
·
2023-08-21 08:06
后端
java
开发语言
Java基础之String漫谈(三)
@[toc]1.导读这期主要分享下String的
常量池
以及intern方法的使用;2.JVM内存模型的简介在介绍String的
常量池
之前,先插播下JVM的内存模型,以便能更好地理解后面的内容;这是一张经典的
java菜鸟进阶
·
2023-08-21 05:02
JVM调优
内存结构image.pngimage.png每起一个线程,都会在栈内存中开辟一块专属于该线程的空间,该线程每调用一个方法就会启动一个栈帧方法区在JDK8中改名叫永久区,存放Class文件,静态变量,常量,
常量池
等
万物归于简
·
2023-08-20 23:21
转载:JAVA中intern()方法的详解
考试中或者笔试中遇到String字符串比较相等的问题,今天就来谈一谈在JAVA虚拟机中,有运行时数据区,包含线程共享的:堆,方法区和线程隔离的:程序计数器,Java虚拟机栈,本地方法栈.其中方法区包含一块取域,叫做
常量池
Pisces_224
·
2023-08-20 18:56
Java
java
开发语言
JVM——StringTable面试案例+垃圾回收+性能调优+直接内存
这里
常量池
是运行时
常量池
。方法区面试题intern()方法intern()方法用于在运行时将字符串添加到内部的字符串池stringtable中,并返回字符串池stringtable中的引用。
北岭山脚鼠鼠
·
2023-08-20 06:58
JVM
jvm
java字符串
是否是全为数字的判断
明明是一个很简单的程序,但是却卡了我几个小时,果然不好好学习的后果就是这样。偏偏旁边就是很有好感的小姐姐,她在看内存运行机制,而我还在学习方法的使用。不好意思去问别人,不想让她知道我是菜鸡,虽然总有一天她会知道。但是在她知道之前我一定要追赶到与她差不多才行。程序的本体是,输入成绩,根据成绩评定等级。但是如果用Scanner的nextInt,在控制台输入字符时,程序会崩溃,于是想办法判断输入的是否是
谭二皮
·
2023-08-20 02:24
第二节、对象的创建
对象的创建过程这里所说的是普通的对象(不包括数组、Class对象等)当虚拟机遇到new指令时,首先检查这个指令的参数是否能在
常量池
中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过
最美下雨天
·
2023-08-18 22:34
intern()的使用和理解
如果不是用双引号声明的String对象,可以使用String提供的intern方法:intern方法会从字符串
常量池
中查询当前字符串是否存在,若不存在就会将当前字符串放入
常量池
中。
丁总学Java
·
2023-08-18 20:23
#
StringTable
java
前端
服务器
intern
jvm
String
开发语言
JVM——类文件结构
文章目录一概述二Class文件结构总结2.1魔数2.2Class文件版本2.3
常量池
2.4访问标志2.5当前类索引,父类索引与接口索引集合2.6字段表集合2.7方法表集合2.8属性表集合一概述在Java
挨打且不服66
·
2023-08-18 19:13
java笔记整理
java
“深入解析JVM内部机制:探索Java虚拟机的奥秘“
堆内存主要用于存储对象实例,而非堆内存用于存储类信息、
常量池
爱编程的小土豆
·
2023-08-18 18:56
jvm
java
开发语言
java字符串
中的字符替换(replace方法)
java中String类提供原生方法replace方法用于字符替换publicclassTest{publicstaticvoidmain(String[]args){Stringstr1="aabbabbaa";Stringret1=str1.replace('a','b');//将字符串中所有a替换为bSystem.out.println(ret1);Stringret2=str1.repla
baixian110
·
2023-08-18 17:28
JavaSE
java
jvm
开发语言
字符串拼接操作的面试题讲解
1、字符串拼接操作常量与常量的拼接结果在
常量池
,原理是编译期优化。Strings1="a"+"b"+"c";
常量池
中不会存在相同内容的常量。只要其中有一个是变量,结果就在堆中。
丁总学Java
·
2023-08-18 13:52
#
StringTable
jvm
字符串拼接
常量池
StringPool
StringTable
串池
Java基础(六)
Java字符串
String:1、实例化String对象的方式:直接赋值、使用关键字new;2、对于new关键字,我们不常用,会产生一个垃圾空间:new3、String内容比较:“==”比较的是地址;“equals
尘濯
·
2023-08-18 07:06
java
常量池
1.字面量创建字符串会先在字符串池中找,看是否有相等的对象,没有的话就在堆中创建,把地址驻留在字符串池;有的话则直接用池中的引用,避免重复创建对象。2.new关键字创建时,前面的操作和字面量创建一样,只不过最后在运行时会创建一个新对象,变量所引用的都是这个新对象的地址。
NeverSettl_4d81
·
2023-08-18 04:34
Java字符串
格式化:日期和事件字符串格式化
日期和事件字符串格式化日期和时间信息转换符说明示例c包括全部日期和时间信息星期六十月2714:21:20CST2007F“年-月-日”格式2007-10-27D“月/日/年”格式10/27/07r“HH:MM:SSPM”格式(12时制)02:25:51下午T“HH:MM:SS”格式(24时制)14:28:16R“HH:MM”格式(24时制)14:28代码:publicstaticvoidmain(
Seth_1x1y
·
2023-08-18 00:07
先打好基础,阿里架构师一文带你深入理解JVM内存回收机制
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等一、垃圾回收发生的区域堆是java创建对象的区域(String对象在
常量池
中),也是垃圾回收最多的地方。
来壹杯卡布奇诺
·
2023-08-17 16:40
Java字符串
去掉空格的几种方法
去掉首尾空格Stringstr="Hellojava!";System.out.println(str.trim());去掉所有空格,包括中间Stringstr="Hellojava!";Stringstr2=str.replaceAll("","");System.out.println(str2);替换大部分空白字符,不限于空格Stringstr="Hellojava!";Stringstr3
讓丄帝愛伱
·
2023-08-17 13:54
编程语言
java
python
开发语言
金九银十面试题之《JVM》
Q7:运行时
常量池
的作用是什么?Q8:直接内存是什么?Q9:内存溢出和内
牛一头
·
2023-08-17 11:39
牛的面试
jvm
【JVM】JVM内存结构之——方法区(元空间)
6.2字符串
常量池
为什么要调整位置?
超级码里喵
·
2023-08-17 07:16
JVM
java
JVM
方法区
元空间
类加载过程和类加载器
验证主要验证二进制字节流的格式符合规范,不会危害计算机安全准备为类变量分配空间并使用默认值初始化解析解析阶段是虚拟机将
常量池
内的符号引用替换为直接引用的过程,也就是得到类或者字段
yszdzjt
·
2023-08-17 00:08
java
jvm
java
Java虚拟机中对象的创建过程(深入理解java虚拟机的读书笔记)
一、整体流程类加载检查——〉分配内存——〉初始化零值——〉设置对象头——〉执行init方法虚拟机遇到一条new指令时,首先会去检查这个指令的参数是否能在
常量池
中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载
吐泡泡的喵_33ea
·
2023-08-16 16:57
Java内存模式是什么?
方法区中有一个比较重要的一部分为运行时
常量池
(RuntimeConstantPool)。Class文件中除了有类的版本、字段、方法
java伯爵
·
2023-08-16 15:49
Java String的intern()方法
String.intern()是Java中的一个方法,它用于将字符串对象添加到字符串
常量池
中,并返回一个指向
常量池
中该字符串的引用。
FLGB
·
2023-08-16 04:13
java基础
开发语言
java
Java字符串
替换的方法
java中字符串替换方法主要有三种,分别是replace()、replaceAll()和replaceFirst(),这三种方法可以在三种不同情况应用,下面就由我来具体说明这三种方法的应用情况吧。replace()replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串)Stringtest0
0nePiece
·
2023-08-15 14:09
java知识
java
开发语言
Python之引用
文章目录1、知识铺垫1.1、内置函数id()1.2、操作符is1.2.1、
常量池
和对象池1.3、sys模块的getrefcount()函数1.3.1、作用1.3.2、语法1.3.3、注意事项:2、引用1
Yong_zhi
·
2023-08-15 14:36
python
jvm
java
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他