当前位置: 首页 > news >正文

数据结构(Java实现)-字符串常量池与通配符

字符串常量池
在Java程序中,类似于:1, 2, 3,3.14,“hello”等字面类型的常量经常频繁使用,为了使程序的运行速度更快、更节省内存,Java为8种基本数据类型和String类都提供了常量池。


“池” 是编程中的一种常见的, 重要的提升效率的方式, 我们会在未来的学习中遇到各种 “内存池”, “线程池”, “数据库连接池” …
比如:家里给大家打生活费的方式

  1. 家里经济拮据,每月定时打生活费,有时可能会晚,最差情况下可能需要向家里张口要,速度慢
  2. 家里有矿,一次性打一年的生活费放到银行卡中,自己随用随取,速度非常快
    方式2,就是池化技术的一种示例,钱放在卡上,随用随取,效率非常高。常见的池化技术比如:数据库连接池、线程池等。

字符串常量池(StringTable)
字符串常量池在JVM中是StringTable类,实际是一个固定大小的HashTable(一种高效用来进行查找的数据结构)
在这里插入图片描述


再谈String对象创建
直接使用字符串常量进行赋值
在这里插入图片描述
在这里插入图片描述


通过new创建String类对象
在这里插入图片描述只要是new的对象,都是唯一的。


intern方法
该方法的作用是手动将创建的String对象添加到常量池中。
在这里插入图片描述在这里插入图片描述


通配符
? 用于在泛型的使用,即为通配符
可以接收所有的泛型类型,但是又不能够让用户随意修改。这种情况就需要使用通配符"?"来处理
在这里插入图片描述


在"?"的基础上又产生了两个子通配符:
? extends 类:设置通配符上限
? super 类:设置通配符下限


通配符上界
在这里插入图片描述
在这里插入图片描述
通配符的上界,不能进行写入数据,只能进行读取数据。
在这里插入图片描述


通配符下界
在这里插入图片描述
在这里插入图片描述
通配符的下界,不能进行读取数据,只能写入数据。


http://www.lryc.cn/news/152428.html

相关文章:

  • python强化学习--gym安装与使用
  • 105. 从前序与中序遍历序列构造二叉树
  • (第六天)初识Spring框架-SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录
  • 如何使用『Nginx』配置后端『HTTPS』协议访问
  • Git仓库简介
  • TensorRTC++ | INT8量化
  • VS + qt环境使用QCustomPlot等三方库如何配置
  • OS 段页结合的实际内存管理
  • 一种改进多旋翼无人机动态仿真的模块化仿真环境研究(Matlab代码实现)
  • 02-请解释一下Java的内存模型和happens-before规则?【Java面试题总结】
  • PVE 8 出现CPU 100% 冻结(卡死)
  • 【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?
  • 继承【C++】
  • ORB-SLAM3复现过程中遇到的问题及解决办法
  • vue开发桌面exe应用
  • C# 实现PictureBox从随机选择的文件夹内对图像进行随机播放
  • 腾讯云国际代充-GPU服务器安装驱动教程NVIDIA Tesla
  • 【python爬虫】9.带着小饼干登录(cookies)
  • 原神剑冢三层封印怎么解开 原神剑冢三层封印在哪里打
  • Papers with Semi-supervised Learning for Medical Image Segmentation(SSL4MIS)
  • c#继承(new base)的使用
  • 【办公自动化】使用Python批量处理Excel文件并转为csv文件
  • 手机怎么剪视频?分享一些剪辑工具和注意事项
  • 面试题汇总
  • LLVM系列:1.设计思想和LLVM IR简介
  • mysql中间件Atlas
  • ChatGPT 实现动态地图可视化展示
  • Vue.js安装步骤和注意事项
  • IDEA中Run/Debug Configurations添加VM options和Program arguments
  • 信息技术03--初/高中--简答题(73道知识简答)