为什么重写 equals 时必须重写 hashCode

1 equals 的作用 equals() 方法,用于判断两个对象是否相等。 未重写 equals 方法时,使用 Object 类的 equals,等效于 ==,即判断两个对象是否为同一个对象(内存地址相同)。 当我们需要比较两个对象的内容是否相等时,要重写 equals 方法。例如 String 类中的 equals: 2 hashCode 的作用 hashCode() 的作用是获取哈希码,也称

为什么 String 是不可变的

1 为什么 String 是不可变的 查看源码,发现 String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value,所以 String 对象是不可变的。 2 这样设计的好处 可以视为常量,这样 Java Runtime 可以节省大量的 Java 堆空间,因为不同的 String 变量可以在 String Pool 中引用相同的 Strin

k8s 开放服务端口的两种方法

场景 在 k8s 上部署了后端服务,只有 k8s 集群内部可以访问,外面的机器无法访问。必须开放端口(把服务的端口映射到k8s机器上)。 方法一 port-forward 实例 kubectl port-forward --address 0.0.0.0 svc/tomcat 8079:8079 # 后台运行 kubectl port-forward --address 0.0.0.0 svc/t