Java防挨骂--01

news/2024/9/23 8:15:42/

在遇到字符拼接需求时,习惯使用StringBuilder,而不要使用String.

因为String是不可变字符序列,在拼接时会产生新的String对象来进行拼接
StringBuider是可变字符序列,在拼接时效率和对资源的占用都表现更优。

StringBuffer也是可变字符序列,它与StringBuider的区别有,它更安全(会做线程同步检查),但是效率较低(因为做了检查)。

java">package 常用类学习;public class SStringSsplicing {//记住养成习惯,遇到字符串拼接就用 StringBuilderpublic static void main(String[] args) {long num1 = Runtime.getRuntime().freeMemory();long time1 = System.currentTimeMillis();String S="";for (int j=1;j<=5000;j++){S=S+j; //因为String是不可变序列,故要拼接5000次就要产生5000个新对象,这对一个上线的系统而言是非常不利的}long num2 = Runtime.getRuntime().freeMemory();long time2 = System.currentTimeMillis();System.out.println("用String做拼接的后果");System.out.println("内存:"+(num1-num2));System.out.println("时间:"+(time2-time1));long num3 = Runtime.getRuntime().freeMemory();long time3 = System.currentTimeMillis();StringBuilder S2= new StringBuilder("");for (int j=1;j<=5000;j++){S2=S2.append(j);}long num4 = Runtime.getRuntime().freeMemory();long time4 = System.currentTimeMillis();System.out.println("用StringBuilder做拼接的后果");System.out.println("内存:"+(num3-num4));System.out.println("时间:"+(time4-time3));}
}

http://www.ppmy.cn/news/1459301.html

相关文章

kubernetes删除命名空间下所有资源

kubernetes强制删除命名空间下所有资源 在 Kubernetes 中&#xff0c;当一个命名空间处于 Terminating 状态但不会完成删除过程时&#xff0c;通常是因为内部资源没有被正确清理。要强制删除这个命名空间及其所有资源&#xff0c;你可以采取以下步骤&#xff1a; 1. 确认命名空…

算法第63天 单调栈3

84 柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 def largestRectangleArea(heights):res0for i in range(len(heights)):left…

能源系统升级BACnet IP分布式I/O边缘模块深度整合

能源管理系统(EMS)的高效运行成为了实现绿色建筑、节能减排的关键。而BACnet IP分布式远程I/O模块作为这一系统中的重要组件&#xff0c;正发挥着不可小觑的作用。本文将以某大型商业综合体为例&#xff0c;探讨BACnet IP I/O模块如何在能源管理中大显身手。 商业综合体涵盖办公…

powershell@管道符过滤的顺序问题@powershell管道符如何工作

文章目录 select 和 where谁先执行powershell管道符stop-service 为例查看文档中的典型参数介绍stop-process为例介绍管道符传参是怎么工作的Id参数InputObject 参数Name参数额外的试验反面例子应用:get-process 和stop-process配合 select 和 where谁先执行 在执行筛选时&…

linux学习笔记——硬盘原理以及linux中的sector与block

在计算机硬盘中&#xff0c;最小的存储单位叫做扇区sector&#xff0c;0.5kb&#xff0c;多个连续扇区组合在一起形成了块block&#xff0c;最小的块包含8个扇区&#xff0c;4kb 我们可以在linux中印证 创建一个新的文件2.txt&#xff0c;查看文件大小为0k 在文件中添加字符后…

[笔试训练](十八)

目录 052:字符串压缩 053:chika和蜜柑 054:01背包 052:字符串压缩 压缩字符串(一)_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 双指针模拟 class Solution { public:string compressString(string param) {int nparam.size();string ret;int num…

Middle for Mac:简洁高效的文本编辑软件

追求简洁与高效&#xff1f;Middle for Mac将是您文本编辑的最佳选择。这款Mac平台上的文本编辑器&#xff0c;以其独特的魅力和实用的功能&#xff0c;赢得了众多用户的喜爱。 Middle注重用户体验&#xff0c;采用简洁直观的界面设计&#xff0c;让您能够迅速上手并享受高效的…

IIS部署vue项目 IIS重写URL

【第一步】安装IIS {1&#xff09;打开控制面板 -> 打开程序和功能 -> 打开启用或关闭windows功能 &#xff08;2&#xff09;找到 Internet Information Services 勾选【web管理工具】和【万维网服务】&#xff0c;然后 确定 【第二步】安装URL重写模块 1). 安装URL …