- 博客(290)
- 收藏
- 关注
原创 【设计模式-组合】
*Composite Pattern(组合模式)**是一种结构型设计模式,旨在将对象组合成树形结构,以表示“”的层次结构。这种模式允许客户端以统一的方式处理单个对象和对象集合,从而简化了树形结构的处理。
2024-09-18 11:38:42 474
原创 【面向对象】
面向对象编程通过对象和类的概念,将现实世界中的实体及其行为映射到程序中,增强了程序的模块化、灵活性和可维护性。通过封装、继承、多态等特性,面向对象编程使得开发人员可以更加高效地设计复杂系统。随着OOP的普及,Java、C++、Python等语言广泛采用了这种编程范式,推动了软件开发的现代化进程。
2024-09-16 16:08:34 769
原创 【创建谷歌浏览器账号踩坑之路】
找解决方案的时候要耐心点,不要没有经过筛选甄别就去实验,很可能会走很多弯路相信自己一定可以解决,相信一定有更方便快捷的方式,不要灰心,信仰和心态很重要。
2024-09-12 09:38:50 315
原创 可扩展性、可维护性和可复用性
可扩展性指的是系统在面对新增功能或增长需求时,能够方便地扩展、改进而无需大规模修改已有的代码。可维护性指的是软件能够方便地进行修复、改进和优化的能力,通常包括修复错误、优化性能和增强功能等方面。可复用性指的是软件组件(如类、函数、模块等)能够在多个不同场景或项目中被重复使用,而无需进行大量修改。可扩展性:通过接口、继承、组合等方法,实现对新功能的开放而不改变已有系统的设计。可维护性:通过模块化、低耦合、高内聚的设计原则,确保代码容易理解、修改和改进。
2024-09-10 09:31:17 329
原创 【算法-希尔】
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位;希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。
2024-08-29 23:02:43 484
原创 【Istio】
服务网格是用于处理服务间通信的基础设施层,通常由一组代理(如 Envoy)组成,这些代理负责捕获和管理微服务之间的网络流量。服务网格的核心思想是将服务间通信的控制逻辑从服务本身抽离出来,交给网格来处理,从而简化开发过程,并增强系统的安全性和可管理性。Istio 是一个功能强大的服务网格平台,特别适用于复杂的微服务架构。通过提供统一的流量管理、安全性和可观测性功能,Istio 帮助开发者和运维人员更好地管理分布式系统,提升系统的可靠性和安全性。
2024-08-29 17:40:53 651
原创 【高性能、高并发、高可用】
高性能、高并发、高可用是构建现代大规模系统的三个关键目标,它们各自解决不同的问题,但在实际系统中往往需要综合考虑,互为补充。例如,高并发可能会带来性能瓶颈,而高可用需要在性能和资源消耗之间找到平衡。通过合理的架构设计和技术选型,可以构建出既能应对大量并发请求,又具有快速响应和高可用性的系统。
2024-08-29 14:07:46 763
原创 【面向对象-基础知识】
面向对象编程(Object-Oriented Programming,简称 OOP)是一种编程范式,它通过将程序组织为对象的集合来建模现实世界中的实体及其行为。面向对象编程强调数据和操作数据的方法封装在一起,从而提高代码的重用性、可维护性和扩展。
2024-08-29 13:03:30 339
原创 【JAVA并发包】
Java 并发包是 Java 标准库中提供的一套用于支持多线程编程的类和接口。这些工具帮助开发者更容易地编写、调试和维护并发程序。Java 并发包位于 java.util.concurrent 及其子包中,包含了用于线程管理、任务调度、同步控制、并发数据结构等多种功能。
2024-08-29 12:53:50 527
原创 【RPC基础知识】
RPC的核心原理在于将复杂的网络通信过程隐藏在调用机制之下,使开发者可以像调用本地函数一样调用远程函数。通过序列化、反序列化、网络传输、代理机制,RPC实现了跨网络的过程调用,从而支持分布式系统和服务的构建。
2024-08-28 12:45:03 1068
原创 【算法-快排】
快速排序在多数情况下都非常高效,特别适合处理大规模数据。它的平均时间复杂度为 O(n log n),但在最差情况下会退化为 O(n²)。为了避免最坏情况,可以随机选择基准或采用“三数取中”法来选择基准元素。
2024-08-27 23:55:08 370
原创 【Dubbo基础知识】
Dubbo 是一款高性能的 RPC 框架,是阿里巴巴公司开源的产品,用于提供高性能的分布式服务框架和面向服务的架构。Dubbo 的主要作用是帮助分布式应用程序进行服务治理,如服务注册、服务发现、负载均衡、容错等。
2024-08-25 22:39:19 303
原创 JAVA IO模型
同步阻塞 I/O: 简单易用,但效率较低,容易造成线程阻塞。同步非阻塞 I/O: 允许线程在 I/O 操作期间执行其他任务,但需要显式轮询。I/O 多路复用: 提高了对多个 I/O 操作的处理能力,适合高并发场景。信号驱动 I/O: 使用信号通知 I/O 状态变化,但在不同操作系统上可移植性较差。异步 I/O: 非常高效,通过回调机制处理 I/O 操作,适合处理大量并发任务。程序员应该这样理解IO如何完成一次IOIO模型知多少10 分钟看懂, Java NIO 底层原理。
2024-08-21 21:48:09 902
原创 JAVA IO之基础知识
Java I/O 是 Java 应用程序处理数据输入和输出的关键机制。掌握字节流和字符流的基本操作,理解文件操作、数据流处理、I/O 性能优化技巧以及 NIO(New I/O)技术,能够帮助开发者更高效地进行文件和数据处理,并提升应用程序的性能和响应速度。
2024-08-21 18:47:48 401
原创 JVM垃圾回收
哪些对象可以作为 GC Roots 呢?虚拟机栈(栈帧中的局部变量表)中引用的对象本地方法栈(Native 方法)中引用的对象方法区中类静态属性引用的对象方法区中常量引用的对象所有被同步锁持有的对象JNI(Java Native Interface)引用的对象对象可以被回收,就代表一定会被回收吗?即使在可达性分析法中不可达的对象,也并非是“非死不可”的,这时候它们暂时处于“缓刑阶段”,要真正宣告一个对象死亡,至少要经历两次标记过程;
2024-08-19 20:57:27 593
原创 设计模式类型
创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。创建型模式在创建什么(What),由谁创建(Who),何时创建(When)等方面都为软件设计者提供了尽可能大的灵活性。创建型模式隐藏了类的实例的创建细节,通过隐藏对象如何被创建和组合在一起达到使整个系统独立的目的。
2023-11-08 17:30:27 309
原创 行为型模式-命令模式
将一个 请求封装为一个 对象,可以使用不同的请求进行参数化;对请求排队或者记录请求日志以及 支持可撤销的操作。别名动作模式或事务模式在命令模式中,将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作模式或事务模式。命令模式包含四个角色:抽象命令类中声明了用于执行请求的execute()等方法,通过这些方法可以调用请求接收者的相关操作;
2023-11-08 16:53:35 573
原创 RestTmplate
发送 http 请求,估计很多人用过 httpclient 和 okhttp,确实挺好用的,而 Spring web 中的 RestTemplate 和这俩的功能类似,也是用来发送 http 请求的,不过用法上面比前面的 2 位要容易很多。spring 框架提供的 RestTemplate 类可用于在应用中调用 rest 服务,它简化了与 http 服务的通信方式,统一了 RESTful 的标准,封装了 http 链接, 我们只需要传入 url 及返回值类型即可。
2023-09-22 10:36:37 265
原创 如何设计API接口
why:有时,API接口直接传递非常重要的数据 ,比如,用户的银行卡号,身份证号等,如果直接将这些参数直接明文暴露到公网上是非常危险的事情,因此我们需要对数据加密。也就是说要支持在极短的时间内,第三方平台用相同的参数请求API接口多次,第一次请求数据库会新增数据,但第二次请求以后就不会新增数据,但也会返回成功。之前虽说对API接口做了限流,但是实际上API接口是否能够达到限制的阀值,这是一个问号,如果不做压力测试,是有很大风险的。统一字段的类型和长度,比如:id字段用Long类型,长度规定20。
2023-09-15 09:52:00 193
原创 微服务之流控、容错组件sentinel
请求沿着处理者链进行发送,每个处理者都可以对请求进行处理,或者将台传递给恋上的下一个 处理者sentinel 是流量整形,提升服务容错能力的组件。
2023-09-11 21:29:40 375
原创 微服务之架构演变
随着互联网的发展,网站应用规模不断扩大,网站架构随之不断演变,演变历史大致分为单体应用架构-垂直应用架构-分布式架构-SOA架构-微服务架构-云原生架构。
2023-09-01 09:39:52 1009
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人