ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-07-22

2021-07-22 20:02:52  阅读:152  来源: 互联网

标签:07 String 22 字符 回收 引用 CharSequence 字符串 2021


1.replace和replaceAll区别
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:
  1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
  2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\d", “*”)把一个字符串所有的数字字符都换成星号;
  相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用
replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串;

2 Java中四种引用,参考地址 https://jingyan.baidu.com/article/11c17a2ca3d0beb447e39d1a.html
1).强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收。即使当前内存空间不足,JVM也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止。如果想中断强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样一来的话,JVM在合适的时间就会回收该对象
Object obj =new Object();
String str =“hello”;
2).软引用:在使用软引用时,如果内存的空间足够,软引用就能继续被使用,而不会被垃圾回收器回收,只有在内存不足时,软引用才会被垃圾回收器回收。
3).弱引用:具有弱引用的对象拥有的生命周期更短暂。因为当 JVM 进行垃圾回收,一旦发现弱引用对象,无论当前内存空间是否充足,都会将弱引用回收。不过由于垃圾回收器是一个优先级较低的线程,所以并不一定能迅速发现弱引用对象
4).虚引用:顾名思义,就是形同虚设,如果一个对象仅持有虚引用,那么它相当于没有引用,在任何时候都可能被垃圾回收器回收。
在这里插入图片描述

3.J.U.C中的reentrantlock

4.垂直扩展(Scale Up)与水平扩展(Scale Out)
互联网分布式架构设计,提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。

垂直扩展:提升单机处理能力。垂直扩展的方式又有两种:

(1)增强单机硬件性能,例如:增加CPU核数如32核,升级更好的网卡如万兆,升级更好的硬盘如SSD,扩充硬盘容量如2T,扩充系统内存如128G;

(2)提升单机架构性能,例如:使用Cache来减少IO次数,使用异步来增加单服务吞吐量,使用无锁数据结构来减少响应时间;

水平扩展:只要增加服务器数量,就能线性扩充系统性能。

5.CharSequence 和 String 区别 char(Character包装类)
CharSequence和String是Java中两个不同的基本概念。本篇将介绍它们之间的差异与共性。CharSequenceCharSequence是一个表示字符序列的接口。这个接口不强制实现可变性;因此,可变类和不可变类都实现了这个接口。String、StringBuilder和StringBuffer都实现了这个接口。当然,一个接口不能直接实例化,它需要一个实现来实例化一个变量:

在这里,charSequence被一个String实例化。 实例化其他实现:

CharSequence接口定义了四种方法:

char charAt(int):返回指定位置的字符。

int length():返回序列的长度。

subSequence(int start, int end):返回由开始和结束参数指示的子字符串。

toString():返回String序列的表示。

如果使用CharSequence作为一个方法的参数类型,则对于这个方法,可以传递String、StringBuilder和StringBuffer作为参数。

CharSequence是一个接口,String是一个具体的类。CharSequence与String都能用于定义字符串。但CharSequence的值是可读可写序列,而String的值是只读序列,即String类是不可变的。

6.Java中new int[128]的使用
ascii码字符只有128种取值 ASCII码的取值范围是0~127
中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符,控制字符的用途主要是用来操控已经处理过的文字,在33个字符之外的是95个可显示的字符

7.MVVM框架
Vue中的MVVM框架 :
Model:数据
view:视图
ViewModel:数据双向绑定

标签:07,String,22,字符,回收,引用,CharSequence,字符串,2021
来源: https://blog.csdn.net/qq_36434219/article/details/119007688

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有