静态代理和动态代理 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。 静态代理 代理类和被代理类应该共同实现一个接口,或者是共同继承某个类。 优点: 可以在不修改目标对象的前提下扩展目标对象的功能。 缺点: 冗余:由于代理对象…
习题: 定义一个泛型类DAO<T>,在其中定义一个Map成员变量,Map的键为String类型,值为T类型 分别创建以下方法: 1、public void save(String id,T entity):保存T类型的对象到Map成员变量中 2、p…
class Apple<T,R,M>{ //自定义泛型类 public<E> void fly(E e){ //泛型方法 System.out.print(e.getClass().getSimpleName()); } public …
Nacos: Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。 Nacos启动:启动非常简单,进入bin目录,然后打开cmd执行命令即可: startup.cmd -m standalo…
深拷贝与浅拷贝 ##### 引用拷贝: 引用拷贝不会在堆上创建一个新的对象,只会在栈上生成一个新的引用地址,最终指向依然是堆上的同一个对象。 ##### 浅拷贝 : 浅拷贝会在堆上创建一个新的对象,新对象和原对象不等,但是新对象的属性和老对象相同。 其中: 如…
String翻转: 将字符串中指定部分进行翻转,比如将"abcdef"反转为"aedcbf" 编写方法 public static String reverse(String str,int statr,int end) 搞定 ``` public stati…
枚举类和反射: 使用枚举实现单例模式,防止反射攻击私有构造器 public enum EnumSingleton{ INSTANCE; public EnumSingleton getInstance(){ return INSTANCE; } } publi…
包装类: Double d = 100d; //自动装箱 Double.valueOf(100d); Float f = 1.5f; //自动装箱 Float.valueOf(1.5f); Object obj1 = true?new Integer(1)…
注解的理解: 注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息 和注释一样,注解不影响程序逻辑,但注解可以被编译或者运行,相当于嵌入在代码中的补充信息 在javaSE中,注解的使用目的…
成员内部类: 说明: 成员内部类是定义在外部类的成员位置,并且没有static修饰。 可以直接访问外部类的所有成员,包括私有的 可以添加任意访问修饰符(public、protected、默认、private),因为它的地位就是一个成员 作用域 和外部类的其他成…