- 博客(31)
- 收藏
- 关注
原创 设计模式之中介者模式
中介者模式是一种行为设计模式,用于通过集中化处理对象之间的交互来减少对象之间的直接耦合。中介者模式通过引入一个中介者对象,使各个对象不再直接相互引用,而是通过中介者对象进行通信。这有助于降低系统的复杂性,并使对象之间的关系更加灵活。
2024-02-13 15:36:38
771
原创 设计模式之观察者模式
观察者模式是一种行为设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象,当主题对象发生变化时,它的所有依赖者(观察者)都会收到通知并自动更新。这种模式又被称为发布-订阅模式。
2024-02-08 12:23:49
958
原创 设计模式之迭代器模式
迭代器模式是一种行为设计模式,提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部表示。迭代器模式将遍历元素的责任交给迭代器,而不是聚合对象,从而简化了聚合对象的接口和实现。
2024-02-08 12:23:30
333
原创 设计模式之装饰器模式
装饰器模式允许行为在运行时被附加到对象,而不会影响其他对象。它是继承关系的一个替代方案,通过这种方式可以使每个类的功能保持独立并且不受其他类的影响。
2024-02-03 00:00:00
362
原创 设计模式之责任链设计模式
责任链设计模式是一种通过一系列处理器组成的链,每个处理器能够处理特定类型的请求。请求沿着链传递,直到有一个处理器处理它为止。这种模式允许你将处理请求的对象链接在一起,形成一条链。
2024-01-28 15:36:44
323
原创 数据库范式及函数依赖
数据库设计是数据库系统中至关重要的一环,而范式理论是数据库设计中的基础概念之一。在数据库设计中,我们通常使用范式来规范数据库中的关系模式,以减少数据冗余、提高数据一致性,并保证数据的完整性。在这篇博客中,我们将介绍数据库设计中的三种主要范式,以及与之相关的函数依赖。
2024-01-28 15:16:32
712
原创 LeetCode No.739 每日温度 Java题解
在这个示例中,dailyTemperatures 方法接收一个整数数组 temperatures,返回一个数组,表示每天下一个更高温度出现在几天后。我们通过维护一个递减栈,来找到每天的下一个更高温度位置。天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用。,表示每天的温度,返回一个数组。
2024-01-19 18:00:10
387
原创 LeetCodeNo.503 下一个更大元素II Java解法
遍历数组时,对于每个元素,将其与栈顶索引对应的元素进行比较,如果当前元素更大,则更新栈顶索引对应的结果,并继续弹出栈顶,直到栈为空或者当前元素不再比栈顶元素大。单调栈是一种特殊类型的栈,它的元素保持单调递增或单调递减的顺序。是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。在单调递增栈中,栈内元素从栈底到栈顶呈递增顺序。当新元素要入栈时,需要将栈内比它小的元素都弹出,以保持递增的顺序。当新元素要入栈时,需要将栈内比它大的元素都弹出,以保持递减的顺序。
2024-01-19 17:50:54
399
原创 数据库常用锁
共享资源管理:数据库中的数据是共享资源,需要确保并发访问时不会导致数据不一致或损坏。锁用于管理这些共享资源的访问。实现并发控制:锁机制是实现并发控制的重要手段之一,它允许多个事务同时对数据库进行访问,但又确保了数据的正确性。锁的类型和级别:锁可以分为共享锁和排他锁,以及不同级别的锁,如行级锁、表级锁等,每种锁都有自己的应用场景和特点。影响性能:锁机制在提供数据一致性的同时,也可能降低系统的并发性能。过度的加锁可能导致阻塞和等待,影响系统的响应速度和吞吐量。并发控制和锁机制的重要性。
2023-12-11 21:26:00
61
原创 你想要的docker常用命令和参数
整理Docker中常用命令以及相关参数用法示例,比较详细。如果需要进一步查看省略的细节和使用方法,请自行查询。
2023-12-02 17:57:40
83
1
原创 Spring MVC工作流程
Spring MVC 的核心机制中每个组件,各自承担不同的角色和功能,协同工作以处理和响应用户请求,实现了清晰的分层结构和代码解耦,提高了系统的可维护性和扩展性。
2023-11-27 20:38:29
76
1
原创 HTTP 协议 vs WebSocket 协议
HTTP(Hypertext Transfer Protocol)是用于传输超文本的应用层协议。它最初由蒂姆·伯纳斯-李(Tim Berners-Lee)在1989年提出,并于1991年发布第一个版本。WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许客户端和服务器之间进行实时、低延迟的双向通信。这些协议的发展促进了 Web 技术的不断进步和应用场景的扩展,为用户和开发者带来了更好的体验和更多可能性。
2023-11-22 21:10:40
90
原创 ConcurrentHashMap Vs HashMap
如果你需要在多线程环境下进行并发操作,提供了更好的线程安全性和性能。但如果在单线程环境下,或者可以确保同步控制的情况下,HashMap也可以很好地工作。在写入操作较多的情况下,的性能可能会受益更多。在读取操作较多的情况下,两者的性能差异可能不太明显。
2023-11-21 18:44:51
113
1
原创 计算机网络7层模型
OSI(Open Systems Interconnection)七层模型是一个重要的概念,它定义了网络通信的七个抽象层。这个模型帮助我们理解网络通信的不同部分和它们之间的交互方式
2023-11-20 20:20:43
84
1
原创 经典面试题之整数缓存池问题
在面试中经常会被问到Integer a = 127;Integer b = 127; a==b是true还是false的问题
2023-10-24 15:54:22
68
原创 搭建Nexus私服部署项目
Nexus Repository Manager 是一个受欢迎的工具,可以用于创建和管理私有 Maven 仓库。本篇博客文章将指导你如何搭建 Nexus 私服并部署项目,以更有效地管理你的构建过程。
2023-10-23 20:21:42
86
原创 RBAC-基于角色权限的模型
公司作为一个系统,10个人作为用户,分别有不同的工作,按照身份划分为不同角色,干一行爱一行,每个角色有不同的工作,也就有不同的权限。基于角色权限的访问控制模型(Role-Based Access Control,RBAC)是一种常见的访问控制策略,角色是一组用户,这些用户在组织中拥有相似的职责、职位或权限。到此,5张表,可以实现基本的角色权限模型,还可以简化权限表,然会加上菜单表,以及权限和菜单的关联表。那么用户根据自己的角色获取属于自己对系统的操作访问权限,这就是基于角色权限的访问。
2023-10-21 17:30:38
203
1
原创 设计模式之适配器模式
适配器模式(Adapter Pattern)是一种用于将一个类的接口转换成客户端期望的另一个接口。它允许已存在的类协同工作而无需修改其源代码,通常用于解决接口不兼容性的问题。
2023-10-21 15:38:25
72
原创 Dockerfile快速部署SpringBoot
1. 手工操作2.Idea插件~~Docker 高端选择如果想要在Linux配置1、上传jdk压缩安装包到自定义文件夹 /usr/local/software/jdk3、配置环境变量编辑/etc/profile文件重新加载最后 测试jdk
2023-10-10 22:56:56
189
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人