宏尘
简介
专注于技术知识和NAS笔记等内容分享
发布 238 篇文章
加入于 2023/09/25
设计模式 - 观察者模式
观察者模式是一种设计模式,用于在对象间建立一对多依赖关系,当主题状态变化时自动通知所有观察者。JAVA通过Observable类和Observer接口实现该模式。Observable类维护观察者列表,提供注册、注销及通知方法;Observer接口定义更新方法update()。示例代码展示了如何创建具体主题ConcreteSubject和具体观察者ConcreteObserver:主题状态改变时调用setChanged()和notifyObservers(),观察者通过update()方法响应状态变化。该模式实现了对象间的松耦合通信。
设计模式 - 单例模式
单例模式是确保类仅有一个实例并提供全局访问点的创建型设计模式,常用于控制对象创建及访问以维护系统稳定性。JAVA中常见的实现方式包括:饿汉式在类加载时初始化实例,速度快但类加载慢;懒汉式运行时创建实例,需同步保证线程安全;双重校验锁兼顾效率与安全;静态内部类利用类加载机制保障线程安全;枚举方式可防止多线程及反序列化问题。适用场景包括频繁创建/销毁对象、资源密集型对象及工具类等,但需注意避免过度使用导致耦合度增加与可维护性下降。
设计模式 - 策略模式
策略模式是一种行为设计模式,用于在运行时根据不同需求动态选择算法,避免使用条件语句导致代码复杂。该模式通过定义策略接口、具体策略类和上下文类实现算法的封装与互换。策略接口统一算法操作,具体策略类提供不同实现,上下文类负责策略选择与执行。适用于需动态切换算法、算法独立于客户端或避免条件分支的场景,如支付方式选择等。示例展示了信用卡和支付宝支付策略的实现及上下文调用方式。
什么是面向对象
JAVA是一种面向对象的编程语言,核心概念包括类和对象。类是对象的模板,定义属性和方法;对象是类的实例。例如,Person类可包含name、age属性和sayHello方法。通过new关键字创建对象并调用方法。JAVA支持继承与多态,子类可继承父类属性并扩展新功能,如Student类继承Person类并添加grade属性和study方法。多态允许父类引用指向子类对象,调用方法时需类型转换。这些特性体现了JAVA面向对象的设计思想。
Docker的基础命令
Docker是一款开源容器化平台,用于简化应用构建、部署与运行。其基础命令分为镜像与容器管理两类:镜像操作包括拉取(docker pull)、查看本地镜像(docker images)和删除(docker rmi);容器操作涵盖创建(docker run)、查看运行中容器(docker ps)、停止/启动(docker stop/start)及删除(docker rm)。此外还提供日志查看(docker logs)、进入容器终端(docker exec)和查看容器进程(docker top)等实用功能。这些命令是Docker使用的核心基础。
如何发布自己的 Docker 镜像
发布Docker镜像需遵循以下步骤:首先编写Dockerfile定义镜像内容,包括基础镜像、依赖与文件配置。接着使用docker build命令构建镜像并命名。若需共享至Docker Hub,需通过docker login登录账户,再使用docker tag为镜像添加含用户名的完整标签。最后通过docker push推送镜像至公共仓库。全程需确保镜像通过测试并符合规范,以便他人可直接部署使用。