Java学习Day16
Java 设计模式是解决软件设计问题的通用方案,分三大类:
创建型模式
单例:确保类仅有一个实例(如 ServletContext)。
工厂:通过工厂类创建对象,解耦实例化逻辑(如 JDBC 的DriverManager)。
建造者:分步构建复杂对象,避免构造器参数过多(如StringBuilder)。
原型:通过复制现有对象创建新实例(clone()方法)。
结构型模式
代理:通过代理对象控制对原对象的访问(如 Spring AOP)。
装饰器:动态添加功能而不改变原类(如 Java IO 流的嵌套)。
适配器:将不兼容的接口转换为客户端期望的接口(如InputStreamReader)。
组合:将对象组织成树形结构(如文件系统)。
行为型模式
观察者:对象间一对多依赖,状态变化时通知所有观察者(如 Swing 事件模型)。
策略:定义算法族并可互换(如排序算法的选择)。
模板方法:定义骨架流程,子类实现具体步骤(如 JUnit 测试框架)。
迭代器:提供统一方式遍历集合(如Iterator接口)。
核心原则:依赖倒置、开闭原则、单一职责,通过接口与抽象类解耦,提升代码复用性与可维护性。实际开发中需避免过度设计,根据场景选择合适模式。
Java的多线程编程总结200字
Java 多线程编程用于并发执行任务,核心总结如下:
线程创建
继承Thread类并重写run()
实现Runnable接口(推荐,避免单继承限制)
实现Callable接口(可返回结果,配合Future)
核心机制
生命周期:新建→就绪→运行→阻塞→终止
同步控制:synchronized(锁对象 / 方法)、Lock(显式锁,如ReentrantLock)
通信方式:wait()/notify()、Condition、阻塞队列(ArrayBlockingQueue)
高级工具
线程池(ExecutorService):控制线程数量,避免频繁创建销毁
并发容器:ConcurrentHashMap、CopyOnWriteArrayList
原子类:AtomicInteger(无锁线程安全)
注意点
避免死锁(按序加锁、设置超时)
减少同步范围,优先使用并发工具而非原生同步
通过ThreadLocal实现线程私有变量
多线程提升程序效率,但需妥善处理同步与通信,确保线程安全。
浙公网安备 33010602011771号