JavaSE-String疑难点

1. ==和equals

==:比较引用类型比较的是地址值是否相同
equals:比较引用类型默认比较的是地址值是否相同,但是String类重写了equals()方法,比较的是内容是否相同。
在这里插入图片描述

2. String、StringBuffer和StringBuilder

String:字符串对象一旦被初始化就不会改变
StringBuffer

  • 长度可变
  • 可以存储不同类型的数据
  • 最终要转换成字符串使用
  • 可以对字符串进行修改
  • 线程同步,用于多线程

StringBuilder

  • 线程不同步,用于单线程,用于提高效率

3. 自动装箱和自动拆箱

深入剖析Java中的装箱和拆箱
详解Java的自动装箱与拆箱(Autoboxing and unboxing)

3.1 定义

自动装箱 基本类型->包装类型 Integer num2 = 99;
自动拆箱 包装类型->基本类型 int num3 = num2;

3.2 ==和equals判断

在这里插入图片描述
(1)创建对象

public static void main(String[] args) {
		// Integer
		Integer i1 = 100;
        Integer i2 = 100;
        Integer i3 = 200;
        Integer i4 = 200;  
        System.out.println(i1==i2);// true 在[-128,127]范围内,使用已有对象
        System.out.println(i3==i4);// false,超出范围,每次都new新对象
        // Double
        Double i1 = 100.0;
        Double i2 = 100.0;
        Double i3 = 200.0;
        Double i4 = 200.0;
        System.out.println(i1==i2);// false 无缓存
        System.out.println(i3==i4);// false 无缓存
        // Boolean
        Boolean i1 = false;
        Boolean i2 = false;
        Boolean i3 = true;
        Boolean i4 = true; 
        System.out.println(i1==i2);//true
        System.out.println(i3==i4);//true
        
//        public static final Boolean TRUE = new Boolean(true);
//        public static final Boolean FALSE = new Boolean(false);
//        public static Boolean valueOf(boolean b) {
//            return (b ? TRUE : FALSE);
//        }

(2)比较

  • equals比较的是内容本身(包括内容和类型),并且我们也可以看到equal的参数是一个Object对象,我们传入的是一个int类型,所以首先会进行装箱,然后比较
  • 当一个基础数据类型封装类进行==、+、-、*、/运算时,会将封装类进行拆箱,对基础数据类型进行运算。
  • “==”运算符的两个操作数都是 包装器类型的引用,则是比较指向的是否是同一个对象,而如果其中有一个操作数是表达式(即包含算术运算)则比较的是数值(即会触发自动拆箱的过程)。

总结
equals比对象; "=="比数值,仅在两边都是包装类型时才比较对象;四则运算算基础

	Integer a = 1;
	Integer b = 2;
	Integer c = 3;
	Integer d = 3;
	Integer e = 321;
	Integer f = 321;
	Long g = 3L;
	Long h = 2L;
	 
	System.out.println(c==d);//true 缓存范围内相同对象
	System.out.println(e==f);//false 缓存范围外不同对象
	System.out.println(c==(a+b));//true  比数值,触发自动拆箱
	System.out.println(c.equals(a+b));//true 比对象,先触发自动拆箱过程,再触发自动装箱,对象相同
	System.out.println(g==(a+b));//true 比数值,数值相等
	System.out.println(g.equals(a+b));//false 比对象,不同的装箱方法
	System.out.println(g.equals(a+h));//true 比对象,相同
数据中心机房是现代信息技术的核心设施,它承载着企业的重要数据和服务,因此,其基础设计与规划至关重要。在制定这样的方案时,需要考虑的因素繁多,包括但不限于以下几: 1. **容量规划**:必须根据业务需求预测未来几年的数据处理和存储需求,合理规划机房的规模和设备容量。这涉及到服务器的数量、存储设备的容量以及网络带宽的需求等。 2. **电力供应**:数据中心是能源消耗大户,因此电力供应设计是关键。要考虑不间断电源(UPS)、备用发电机的容量,以及高效节能的电力分配系统,确保电力的稳定供应并降低能耗。 3. **冷却系统**:由于设备密集运行,散热问题不容忽视。合理的空调布局和冷却系统设计可以有效控制机房温度,避免设备过热引发故障。 4. **物理安全**:包括防火、防盗、防震、防潮等措施。需要设计防火分区、安装烟雾探测和自动灭火系统,设置访问控制系统,确保只有授权人员能进入。 5. **网络架构**:规划高速、稳定、冗余的网络架构,考虑使用光纤、以太网等技术,构建层次化网络,保证数据传输的高效性和安全性。 6. **运维管理**:设计易于管理和维护的IT基础设施,例如模块化设计便于扩展,集中监控系统可以实时查看设备状态,及时发现并解决问题。 7. **绿色数据中心**:随着环保意识的提升,绿色数据中心成为趋势。采用节能设备,利用自然冷源,以及优化能源管理策略,实现低能耗和低碳排放。 8. **灾难恢复**:考虑备份和恢复策略,建立异地灾备中心,确保在主数据中心发生故障时,业务能够快速恢复。 9. **法规遵从**:需遵循国家和地区的相关法律法规,如信息安全、数据保护和环境保护等,确保数据中心的合法运营。 10. **扩展性**:设计时应考虑到未来的业务发展和技术进步,保证机房有充足的扩展空间和升级能力。 技术创新在数据中心机房基础设计及规划方案中扮演了重要角色。例如,采用虚拟化技术可以提高硬件资源利用率,软件定义网络(SDN)提供更灵活的网络管理,人工智能和机器学习则有助于优化能源管理和故障预测。 总结来说,一个完整且高效的数据中心机房设计及规划方案,不仅需要满足当前的技术需求和业务目标,还需要具备前瞻性和可持续性,以适应快速变化的IT环境和未来可能的技术革新。同时,也要注重经济效益,平衡投资成本与长期运营成本,实现数据中心的高效、安全和绿色运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值