从JVM指令看String对象的比较

在翻看各类 java 知识中,总会提到如下知识:比较 String 对象,例如:

String a1=new String("10");
String a2="10";
String a3="1"+"0";

//结果
System.out.println(a1==a2); //false
System.out.println(a2==a3); //true

23种设计模式总结

设计模式的本质是:“找到变化,封装变化” 设计模式的类型分为: 创建型:负责提供创建对象的机制 结构型:将对象或类组合成更大的结构,同时保持对外结

代理模式

代理模式的定义是:为其他对象提供一种代理以控制对这个对象的访问。

因为代理类与服务类实现同样的接口,所以代理类能代替服务类提供给客户端。当客户端使用代理类时,代理类能对请求进行处理(例如增加访问控制、缓存请求结果、隐藏对服务类的网络请求、日志记录等),并将请求转发给服务类来处理。

状态模式

状态模式的定义是:当一个对象内在状态改变时允许其改变行为,这个对象看起来像是改变了自身所属的类。

该模式适合于对象具有有限的状态,并且在状态之间相互切换。