线程3 + IO流
用户线程和守护线程: 用户线程:也叫工作线程,当线程的任务执行完或通知方式结束 守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束 常见的守护线程:垃圾回收机制 将一个线程设置成守护线程: public static void main(…
线程2
静态代理和动态代理 代理模式可以在不修改被代理对象的基础上,通过扩展代理类,进行一些功能的附加与增强。 静态代理 代理类和被代理类应该共同实现一个接口,或者是共同继承某个类。 优点: 可以在不修改目标对象的前提下扩展目标对象的功能。 缺点: 冗余:由于代理对象…
线程
习题: 定义一个泛型类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: Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。 Nacos启动:启动非常简单,进入bin目录,然后打开cmd执行命令即可: startup.cmd -m standalo…
集合2
深拷贝与浅拷贝 ##### 引用拷贝: 引用拷贝不会在堆上创建一个新的对象,只会在栈上生成一个新的引用地址,最终指向依然是堆上的同一个对象。 ##### 浅拷贝 : 浅拷贝会在堆上创建一个新的对象,新对象和原对象不等,但是新对象的属性和老对象相同。 其中: 如…
请求响应 + 分层解耦
枚举类和反射: 使用枚举实现单例模式,防止反射攻击私有构造器 public enum EnumSingleton{ INSTANCE; public EnumSingleton getInstance(){ return INSTANCE; } } publi…
常用类
注解的理解: 注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包、类、方法、属性、构造器、局部变量等数据信息 和注释一样,注解不影响程序逻辑,但注解可以被编译或者运行,相当于嵌入在代码中的补充信息 在javaSE中,注解的使用目的…