2025年10月14日

迭代器模式Iterator

摘要: 定义迭代器的接口,以及对应的hasNext以及next方法 注意定义的时候使用泛型,不然接口方法的返回值只能是Object,实际使用的时候还需要强制转换 在被迭代的接口里面定义获取迭代器的方法 注意使用泛型 在需要被迭代的对象里面实现一个具体迭代器,专属于这个对象的迭代器以及对应的迭代方法,每一个对 阅读全文

posted @ 2025-10-14 23:02 chuchengzhi 阅读(4) 评论(0) 推荐(0)

访问者Visitor

摘要: 在结构不变的情况下动态改变内部元素的动作 适合用在接口结构基本固定不变的 实现案例 package com.deltaqin.designPattern.d04_visitor; // 根据不同的访问者访问的不同商品,给不同的价格 // 计算的规则定义在访问者上面,不同访问者对从商品获得的相同的信息 阅读全文

posted @ 2025-10-14 23:02 chuchengzhi 阅读(9) 评论(0) 推荐(0)

代理模式Proxy

摘要: 问题提出:benchMark 性能测试,不修改原来代码,记录代码的运行时间: 继承实现:类爆炸 手动组合:自己使用代理类包装,代理类里面调用被代理对象,附加上自己的事情。 实现同一个接口可以实现代理的嵌套,当需要实现多个代理功能的时候 限制就****是要实现同一个接口 全能代理:不同接口,解耦,动态 阅读全文

posted @ 2025-10-14 23:01 chuchengzhi 阅读(6) 评论(0) 推荐(0)

单例模式完全版

摘要: 应用 资源管理器 属性管理器 多例是为了存储数据的,单例是为了共享可以减少资源消耗 饿汉式--JVM保证线程安全(简单推荐) 因为JVM可以保证每个类只加载一次,所以设置为static就可以保证对象只会被new一次,static是在加载链接初始化中的初始化就会赋值的,只执行一次。 多线程都没关系 但 阅读全文

posted @ 2025-10-14 23:01 chuchengzhi 阅读(4) 评论(0) 推荐(0)

备忘录模式memento

摘要: 序列化反序列 使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象。必须注意地是,对象序列化保存的是对象的"状态",即它的成员变量。由此可知,对象序列化不会关注类中的静态变量。 除了在持久化对象时会用到对象序列化之外,当使用RMI(远程方法调用),或在网络中 阅读全文

posted @ 2025-10-14 23:00 chuchengzhi 阅读(7) 评论(0) 推荐(0)

策略设计模式Strategy

摘要: Comparable 是被比较对象和比较策略没有解耦 Comparator 是被比较对象和比较策略解耦了,在真正要比较的时候才会定义比较策略。这就是策略模式****(实现比较策略和被比较对象的解耦) 相比于策略模式,非策略模式不符合开闭原则,比如Comparable想要修改比较方法,必须修改实现类的 阅读全文

posted @ 2025-10-14 23:00 chuchengzhi 阅读(6) 评论(0) 推荐(0)

OAuth2.0思维导图总结以及认证平台流程图

摘要: 思维导图 https://www.processon.com/view/link/60ef1b9307912906d901ab44 Oauth2 能力平台授权登录流程 https://www.processon.com/view/link/60ef1bf27d9c0806dcefa2f7 阅读全文

posted @ 2025-10-14 22:57 chuchengzhi 阅读(8) 评论(0) 推荐(0)

必先利其器,常用工具分享

摘要: Chrome 插件 效率 Workspaces 网页有用但是要关闭浏览器了,想下次打开恢复现场,这个插件很合适。 借助工作空间的概念,可以不同窗口放置不同类型的内容。 GitHub加速 Octotree - GitHub code tree github 目录 JSON-handle json 格式 阅读全文

posted @ 2025-10-14 22:51 chuchengzhi 阅读(22) 评论(0) 推荐(0)

接口幂等方案

摘要: 对于一个接口而言,无论调用了多少次,最终得到的结果都是一样的。 幂等性的实现与判断需要消耗一定的资源,因此不应该给每个接口都增加幂等性判断,要根据实际的业务情况和操作类型来进行区分。 在进行查询操作和删除操作时就无须进行幂等性判断。查询操作查一次和查多次的结果都是一致的,因此我们无须进行幂等性判断。 阅读全文

posted @ 2025-10-14 22:49 chuchengzhi 阅读(11) 评论(0) 推荐(0)

IDE热加载与热部署

摘要: 热加载则是在运行时通过重新加载class改变类信息,直接改变程序行为。 主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起一条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则将类重新载入。对比反射机制,反射是在运行时获取类信息,通过动态的调用来改变程序行为; 热部署 阅读全文

posted @ 2025-10-14 22:48 chuchengzhi 阅读(42) 评论(0) 推荐(0)

ApacheMapStruct常用总结

摘要: Apache MapStruct 常用总结 只是简单使用还是比较简单的,但是有一些细节还是要注意的,不然会不知不觉出错 MapStruct 是一个用于生成类型安全的 bean Mapper类。也就是不同类型对象之间的转换器,一般的assembler以及convertor,不用手动写实现避免错误。 h 阅读全文

posted @ 2025-10-14 22:47 chuchengzhi 阅读(17) 评论(0) 推荐(0)

雪花算法

摘要: 原文连接: https://blog.csdn.net/lq18050010830/article/details/89845790 SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式 阅读全文

posted @ 2025-10-14 22:46 chuchengzhi 阅读(20) 评论(0) 推荐(0)

UML总结

摘要: 统一建模语言,一整套图表组成的标准化建模语言。方便开发人员之间的交流 类图 面向对象方法的核心建模工具,用来表示类、接口以及它们之间的静态结构和关系。 面向对象设计中对象之间的关系。(低耦合) 泛化|纵向(继承) Generalization:继承之后自己增加一些功能,就是泛化 代码实现 接口之间的 阅读全文

posted @ 2025-10-14 22:44 chuchengzhi 阅读(17) 评论(0) 推荐(0)

用例图+用例描述表

摘要: 描述 用户、需求、系统功能单元 之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 帮助开发团队以一种可视化的方式理解系统的功能需求。 参与者,Actor,一般一个小人 用例,Use Case , 外部用户可见的系统功能,对系统的功能进行描述,椭圆表示 子系统, (模块)展示系统的一部分功 阅读全文

posted @ 2025-10-14 22:43 chuchengzhi 阅读(14) 评论(0) 推荐(0)

序列图

摘要: 展示对象之间的交互顺序 纵向是时间轴,时间沿竖线向下延伸。 横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。生命线代表一个类的特定实体。 生命线:每一个类元角色延伸出来的竖线 同步消息:发送人在它继续之 阅读全文

posted @ 2025-10-14 22:43 chuchengzhi 阅读(9) 评论(0) 推荐(0)

JSON字符串转换为Map

摘要: 利用阿里巴巴封装的FastJSON来转换json字符串 package com.zkn.newlearn.json; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.util. 阅读全文

posted @ 2025-10-14 22:42 chuchengzhi 阅读(6) 评论(0) 推荐(0)

fastjson

摘要: alibaba出品 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>x.x.x</version> </dependency> String text = JSON.toJS 阅读全文

posted @ 2025-10-14 22:41 chuchengzhi 阅读(7) 评论(0) 推荐(0)

git思维导图总结

摘要: 导图有笔记 https://www.processon.com/view/link/60ab180a5653bb690f73a0fa 新建仓库 新建的时候最好有文件 合并分支 merge dev和master分支都有修改的话,使用git log只能看到自己的分支的log git merge dev 阅读全文

posted @ 2025-10-14 22:38 chuchengzhi 阅读(4) 评论(0) 推荐(0)

HEAD以及分离头指针

摘要: HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。 HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的 阅读全文

posted @ 2025-10-14 22:36 chuchengzhi 阅读(6) 评论(0) 推荐(0)

git快捷命令配置

摘要: vim ~/.gitconfig 1 [user] 2 name = deltaqin 3 email = delta_qin@163.com 4 [core] 5 autocrlf = input 6 [alias] 7 co = checkout 8 br = branch 9 ci = com 阅读全文

posted @ 2025-10-14 22:35 chuchengzhi 阅读(8) 评论(0) 推荐(0)

指定哈希与相对引用

摘要: 指定hash 通过指定提交记录哈希值的方式在 Git 中移动不太方便。 用 git log 来查查看提交记录的哈希值。哈希值在真实的 Git 世界中也会更长(基于 SHA-1,共 40 位)。可以仅输入fed2 而不是 fed2da64c0efc5293610bdd892f82a58e8cbc5d8 阅读全文

posted @ 2025-10-14 22:34 chuchengzhi 阅读(11) 评论(0) 推荐(0)

远程仓库操作

摘要: git clone 远程仓库: git clone 远程使用虚线表示 本地仓库多了一个名为 o/master 的分支, 这种类型的分支就叫远程分支。远程分支反映了远程仓库(在你上次和它通信时)的状态。 远程分支有一个特别的属性,在你检出时自动进入分离 HEAD 状态。Git 这么做是出于不能直接在这 阅读全文

posted @ 2025-10-14 22:34 chuchengzhi 阅读(11) 评论(0) 推荐(0)

2025年10月13日

netty思维导图总结

摘要: https://www.processon.com/view/link/610420f01e0853746618739d 阅读全文

posted @ 2025-10-13 17:44 chuchengzhi 阅读(5) 评论(0) 推荐(0)

gitreset、revert

摘要: git reset、revert git reset git reset 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。 git reset HEAD~1 Git 把 master 分支移回到 阅读全文

posted @ 2025-10-13 17:43 chuchengzhi 阅读(16) 评论(0) 推荐(0)

git:rebase、merge

摘要: git:rebase 、merge git merge--会有新的提交 在 Git 中合并两个分支时会产生一个特殊的提交记录,它有两个父节点。翻译成自然语言相当于:“我要把这两个父节点本身及它们所有的祖先都包含进来。” # 在master分支上 git merge bugFix # 会生成一个新的提 阅读全文

posted @ 2025-10-13 17:43 chuchengzhi 阅读(19) 评论(0) 推荐(0)

导航

杭州技术博主,专注分享云计算领域实战经验、技术教程与行业洞察, 打造聚焦云计算技术的垂直博客,助力开发者快速掌握云服务核心能力。

褚成志 云计算 技术博客