30s速通String——从JVM内存 到相关方法

0.深度理解String(初学者可后面再看)

1.JVM理解两种初始化String方式

1.1直接初始化

栈中保存变量s1,s2,而变量保存“abc”在方法区的地址

这里当“abc”具有唯一性,字符串常量区无此字符串,我们就产生一个新内存“abc”,若有则直接找到该地址

如s1="a",s2="b",s3=s1+s2这种,“ab”是不同于"a"与“b”的必须重新创一块内存给“ab”

1.2使用 new构造器初始化

常用三种——new出来的放“堆”空间

//先在堆里开辟内存,等会再给内存值

String s1 = new String()

//堆开辟内存,字符串常量池也开辟内存,后者存original,前者存original的地址

String s2 = new String(String original)

String s2 = new String(char[] a)

//同上,只是这里字符串常量池存的a数组一部分,从startIndex索引开始取count个值存入

String s3 = new String(char[] a,int startIndex,int count)

内存图展示—s3,s4就是new初始化的,所以开辟堆空间,而字符串必须存入字符串常量池,因此堆空间 存常量池地址,栈中变量 存堆空间内存的地址

补充,进一步深刻理解

一个类同样,保存字符串必定在方法区,new对象一定在堆空间

2.String常用方法(持续更新中)

具体解释下最后一个substring方法,是左开右闭区间,如"周俊798".substring(1,3),只会得到“俊9”,因为“周俊798”在字符串常量区按char[]保存,索引从0开始,到3时结束且不取3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/671669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI数字人训练数据集汇总

唇读(Lip Reading),也称视觉语音识别(Visual Speech Recognition),通过说话者口 型变化信息推断其所说的内容,旨在利用视觉信道信息补充听觉信道信息,在现实生活中有重要应用。例如&…

QT Linux下无法使用CTRL+ALT+P快捷键,不生效

文章目录 一、背景二、排查(1)检查创建,发现没问题。(2)查看 shortcutMap 是否注册(3)排查xcb有没有获取到该事件(4)排查是否是系统的问题(5)www.…

2024.1.28力扣每日一题——水壶问题

2024.1.28 题目来源我的题解方法一 深度搜索(DFS)/广度搜索(BFS)方法二 数学 题目来源 力扣每日一题;题序:365 我的题解 方法一 深度搜索(DFS)/广度搜索(BFS&#xff…

反射的理解

反射是指在运行时动态地获取和操作类的信息(如类的属性、方法、构造函数等),以及对对象进行动态调用和操作的能力。通过反射,可以在编译时无法确定的情况下,获取、操作和创建类的实例。 适用场景: 编写通用…

Kafka下载(kafka和jdk、zookeeper、SpringBoot的版本对应关系)

文章目录 一、准备工作1、必须环境2、kafka使用自带的zookeeper还是自己单独部署zookeeper?二、下载一、准备工作 1、必须环境 kafka本身的开发语言是Scala,而Scala是基于jdk开发的,所以要先安装jdk kafka版本jdk版本kafka使用jdk版本官网说明1.0建议使用1.8https://kafka.…

TCP 粘包/拆包

文章目录 概述粘包拆包发生场景解决TCP粘包和拆包问题的常见方法Netty对粘包和拆包问题的处理小结 概述 TCP的粘包和拆包问题往往出现在基于TCP协议的通讯中,比如RPC框架、Netty等 TCP 粘包/拆包 就是你基于 TCP 发送数据的时候,出现了多个字符串“粘”…

前端页面禁止debugger调试并跳转空白页面----文心一言官网实现方式

技术点:setInterval定时器Object.defineProperty 背景: 某天打开文心一言想看看接口返回结构是怎样的,熟练的打开浏览器开发者工具查看网络请求。 发现出现了以下debugger断点 这难不倒我,去掉断点调试,继续下一步不…

MyBatis多数据源以及动态切换实现(基于SpringBoot 2.7.x)

MyBatis多数据源以及动态切换实现可以实现不同功能模块可以对应到不同的数据库&#xff0c;现在就让我们来讲解一下。 目录 一、引入Maven二、配置文件三、实现多数据源四、动态切换数据源 一、引入Maven 注意&#xff1a;博主这边使用的springboot版本是2.7.14的 <!-- htt…

正则表达式 regex

文章目录 参考 参考 https://blog.csdn.net/Conradine_Lian/article/details/108890595 regex可以很简单 也可以很复杂 /* 限定符 修饰前面的一个字符,可以是元字符* 重复0次或更多次 重…

计算机系统基本概念白话解释

时钟&#xff08;Clock&#xff09; 时钟是计算机系统中的一个关键组件&#xff0c;它负责生成一系列的定时信号&#xff0c;以驱动计算机的各种操作和组件。时钟通常以固定的频率发出脉冲信号&#xff0c;这个频率称为时钟频率。时钟频率决定了计算机系统的运行速度。CPU、内…

Python脚本之操作Elasticsearch【二】

本文为博主原创&#xff0c;未经授权&#xff0c;严禁转载及使用。 本文链接&#xff1a;https://blog.csdn.net/zyooooxie/article/details/124640467 之前分享过 使用elasticsearch库【一】https://blog.csdn.net/zyooooxie/article/details/109588072 &#xff0c; 继续分享…

查询每张表占用磁盘空间大小(达梦数据库)

查询每张表占用磁盘空间大小 环境介绍 环境介绍 在迁移准备工作中,为了更好评估迁移时间,可以统计大表数量与大表的实际大小,为迁移规划做准备 --查看用户下面每张表占用的磁盘空间SELECT T.OWNER,T.SEGMENT_NAME,T.SEGMENT_TYPE,T.TABLESPACE_NAME,T.BYTES,T.BYTES/1024 BYT…

OpenHarmony开源鸿蒙开发之旅

文章目录 一、op系统架构二、op系统构建1. op源代码目录2. op系统构建3. op开发环境搭建 三、op系统的子系统四、op系统芯片移植五、op系统启动流程六、op系统组件七、驱动框架 一、op系统架构 二、op系统构建 1. op源代码目录 2. op系统构建 3. op开发环境搭建 三、op系统…

4、安全开发-Python-蓝队项目流量攻击分析文件动态监控图片隐写技术

用途&#xff1a;个人学习笔记&#xff0c;有所借鉴&#xff0c;欢迎指正&#xff01; 总结&#xff1a; &#xff08;1&#xff09;使用python脚本Scapy库实现指定网卡的流量抓包分析 &#xff08;2&#xff09;使用python脚本Watchdog实现指定目录文件行为监控 &#xff08;…

LeetCode:26.删除有序数组中的重复项

26. 删除有序数组中的重复项 - 力扣&#xff08;LeetCode&#xff09; 目录 题目&#xff1a; 思路&#xff1a; 代码注释&#xff1a; 每日表情包&#xff1a; 题目&#xff1a; 思路&#xff1a; 没啥特殊的&#xff0c;老老实实双指针遍历数组&#xff0c;&#xff0…

获取旁站 / C 段:第三方网站(附链接)

一、介绍 1.1 旁段 在网络安全的上下文中&#xff0c;"旁段"&#xff08;Pivot&#xff09;是指攻击者通过入侵一个网络中的一台计算机&#xff0c;然后利用该计算机作为跳板&#xff08;或者称之为“旁道”&#xff09;来访问其他计算机或网络资源的行为。 攻击者…

如何启动若依框架

Mysql安装 一、下载 链接&#xff1a;https://pan.baidu.com/s/1s8-Y1ooaRtwP9KnmP3rxlQ?pwd1234 提取码&#xff1a;1234 二、安装(解压) 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MySQL 5.7.24的软件本体了(就是一个文件夹)&…

虚幻5源码版打包服务端

适用情况&#xff0c;windows系统&#xff0c;已经安装vs2022之类的&#xff0c;和UE5适配的版本 源码版使用 1.下载源码版&#xff0c;推荐下载 压缩包 tar.gz那个&#xff0c;zip和git clone我老是下载不下载来&#xff0c;只是这个压缩包要解压1个多小时… 2.点击 源码的…

【RT-DETR有效改进】利用SENetV1重构化网络结构 (ILSVRC冠军得主)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文给大家带来的改进机制是SENet(Squeeze-and-Excitation Networks)其是一种通过调整卷积网络中的通道关系来提升性能的网络结构。SENet并不是一个独立的网络模型,而是一个可以和现有的任何一个模型相结合…

自动暂停和恢复网页中的视频播放

序言 在日常开发中&#xff0c;有时候一级栏目可能是个H5页面&#xff0c;当切换到其他栏目的时候需要自动暂停H5中的视频&#xff0c;切换回来以后需要自动恢复播放。实现的思路是通过JS来操作&#xff0c;难点是感知fragment的可见状态。还有js代码的编写。 比如下面这个页…