- 博客(104)
- 收藏
- 关注
原创 Spring Cloud Gateway 介绍
Spring Cloud Gateway 是 Spring Cloud 社区官方推出的一个基于 Spring Framework 5、Project Reactor 和 Spring Boot 2.x 的下一代 API 网关(API Gateway)解决方案。它旨在为微服务架构提供统一、简洁、高效的 API 网关层。你可以把它想象成一个大门口的智能保安和交通枢纽。所有外部客户端(如Web浏览器、移动App)对微服务集群的请求,都需要先经过这个网关。
2025-06-12 19:52:02
338
原创 Sentinel介绍
Sentinel 是由阿里巴巴开源的一款综合性的流量控制(Traffic Shaping)、熔断降级(Circuit Breaking & Degradation)组件。它旨在为分布式服务架构提供实时、高效、灵活的流量管理能力,保障系统在复杂多变的流量冲击下(如流量高峰、异常请求等)能够稳定、可靠地运行。
2025-06-11 20:02:19
642
原创 XSS攻击和CSRF攻击
XSS攻击是指攻击者将恶意编写的脚本代码(通常是JavaScript)注入到目标网站或其服务上。当其他正常用户访问这个被污染的页面时,这些恶意脚本会在用户的浏览器中执行。由于浏览器会信任来自目标网站的代码,所以这些脚本就如同网站本身的一部分一样运行,从而可能窃取用户信息、篡改页面内容或进行其他恶意操作。CSRF攻击是指攻击者诱导已登录某个网站的用户的浏览器,向该网站发送一个非预期的请求。
2025-06-10 21:19:47
546
原创 HTTPS加密的介绍
用于生成数据的固定长度摘要(指纹)。即使数据有微小变化,摘要也会完全不同。在握手过程中用于验证消息的完整性(Finished消息)。数据保密性: 加密传输,防止窃听。数据完整性: 通过哈希校验,防止数据被篡改。身份认证: 通过证书验证,确认网站的真实身份,防止钓鱼。提升搜索引擎排名: Google等搜索引擎优先推荐使用HTTPS的网站。增强用户信任: 浏览器地址栏显示安全锁标志,让用户更放心。
2025-06-06 16:34:01
539
原创 Swagger介绍
Swagger(及其背后的 OpenAPI 规范)是一个强大的工具集,它通过标准化的方式描述 RESTful API,并能自动生成文档、客户端代码和提供调试工具。它极大地提高了 API 的开发、文档化和使用的效率,是现代 Web 服务开发中不可或缺的一部分。虽然需要投入一些精力来维护规范文件,但其带来的收益通常远超成本,特别是在团队协作和大型项目中。
2025-06-04 17:56:49
631
原创 燃尽图和甘特图
燃尽图是一种图表,用于跟踪项目进度,并显示随着时间推移剩余工作的量。它通常用于敏捷软件开发项目中,如Scrum,但也可以应用于其他类型的项目管理。甘特图是一种条形图,用于展示项目进度,包括各个任务的计划开始和结束日期,以及它们之间的依赖关系。甘特图广泛应用于传统项目管理中,如瀑布模型,但也适用于敏捷和其他迭代方法。燃尽图主要用于跟踪项目的剩余工作量,特别是在敏捷项目中,它帮助团队了解他们是否按计划进行,并预测可能的完工时间。甘特图。
2025-06-03 21:13:54
513
原创 OSI七层网络结构和TCP/IP四层结构
OSI(Open Systems Interconnection)七层网络模型是一个理论上的框架,用于理解和设计网络体系结构。TCP/IP模型比OSI模型更为简洁实用,它去掉了会话层和表示层,将它们的功能合并到应用层中。HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)IP(互联网协议)、ICMP(互联网控制消息协议)IP(互联网协议)、ICMP(互联网控制消息协议)TCP(传输控制协议)、UDP(用户数据报协议)TCP(传输控制协议)、UDP(用户数据报协议)
2025-03-05 15:20:53
641
原创 SpringMVC的执行流程
用户发送请求至前端控制器DispatcherServlet。DispatcherServlet请求HandlerMapping查找Handler(可以根据xml配置、注解进行查找)。HandlerMapping向DispatcherServlet返回Handler。DispatcherServlet调用HandlerAdapter执行Handler。HandlerAdapter执行Handler,并返回ModelAndView。
2025-02-25 19:21:49
505
原创 Spring框架支持的bean作用域
在整个Spring IoC容器中,一个Bean定义对应一个唯一的实例。每次请求Bean时,Spring容器都会创建一个新的Bean实例。在单个HTTP请求的生命周期内,一个Bean定义对应一个唯一的实例。在HTTP会话的生命周期内,一个Bean定义对应一个唯一的实例。在ServletContext的生命周期内,一个Bean定义对应一个唯一的实例。除了内置的作用域,Spring还允许开发者通过实现Scope接口来自定义作用域。
2025-02-14 17:24:30
432
原创 Spring框架核心之IoC
容器读取配置元数据,并将这些信息转换为内部结构(BeanDefinition)。定义应用程序中的Bean以及它们之间的依赖关系。
2025-02-10 17:07:33
720
原创 什么是依赖注入DI?
依赖注入是一种将依赖关系的管理从类内部转移到类外部的方法。这意味着,类不再负责创建它们所依赖的对象,而是由外部系统(通常是框架或容器)在运行时提供这些依赖。
2025-02-08 13:59:13
393
原创 雪花算法是什么?
雪花算法因其简单、高效、可靠的特点,在分布式系统中生成唯一标识符方面得到了广泛的应用。它能够满足高并发场景下的性能需求,同时保证了ID的唯一性和有序性。
2025-02-07 12:43:05
402
原创 RabbitMQ是什么?
RabbitMQ是一个强大的消息队列系统,它通过提供可靠的消息传递、灵活的路由和丰富的特性,帮助开发者构建可扩展、可维护的分布式系统。由于其稳定性和易用性,RabbitMQ在许多不同的应用场景中都得到了广泛的应用。
2025-02-07 12:21:42
646
原创 Happens-Before是什么?
"Happens-Before"关系定义了两个操作之间的偏序关系,如果操作A "happens-before" 操作B,那么操作A的结果对操作B可见,也就是说,操作B可以看到操作A的效果。"Happens-Before"是理解和设计并发和分布式系统的一个重要概念。它提供了一种形式化的方法来描述操作之间的可见性和顺序关系,从而帮助开发者构建正确的并发程序。在Java等编程语言中,"Happens-Before"规则被用来保证内存操作的顺序性和可见性,是并发编程的基础之一。
2025-02-07 11:10:48
756
原创 什么是ZooKeeper?
ZooKeeper是一个用于构建分布式应用的强大工具,它通过提供协调服务来简化分布式系统中的复杂问题。由于其高可用性、一致性和可靠性,ZooKeeper被广泛用于各种分布式系统和大数据技术中,如Hadoop、HBase和Kafka。ZooKeeper的设计使其成为处理分布式协调问题的首选解决方案之一。
2025-02-07 09:45:30
625
原创 什么是Kafka?
Kafka是一个强大的、可扩展的、高吞吐量的数据流平台,适用于构建高性能的数据处理管道和实时分析系统。它的设计考虑了易用性、可伸缩性和容错性,使其成为处理大规模数据流的首选平台之一。Kafka在许多大型企业中都有广泛的应用,包括Netflix、Twitter、LinkedIn等。
2025-02-07 09:26:35
1129
原创 什么是Netty?
Netty因其高性能、易用性和可靠性,在Java网络编程领域有着广泛的应用。它是许多知名框架和中间件底层的网络通信组件,如Apache Kafka、RocketMQ、Dubbo等。对于需要高性能网络通信的开发者来说,Netty是一个非常好的选择。
2025-02-07 09:03:26
416
原创 最左前缀匹配原则
最左前缀匹配原则指的是,在多列索引中,查询条件必须从索引的最左边的列开始匹配,才能有效地使用该索引。这意味着,只有当查询条件中包含索引最左边的列时,索引才会被数据库查询优化器考虑使用。
2025-01-14 17:22:05
718
原创 什么是索引下推
是MySQL 5.6版本引入的一个查询优化技术。它可以在某些情况下提高查询性能,尤其是在使用复合索引进行查询时。在解释索引下推之前,我们先了解一下在没有索引下推的情况下,MySQL是如何使用索引进行查询的。
2025-01-13 21:05:44
340
原创 MyISAM介绍
MyISAM是MySQL数据库中的,它在MySQL 5.5及之前的版本中是默认的存储引擎。MyISAM以其高速读取和全文搜索的能力而闻名,但它在某些方面与InnoDB等其他存储引擎相比有所不足。
2025-01-11 14:54:12
313
原创 MySQL的三大日志
Undo Log 是用于事务回滚的日志,它记录了事务发生之前的数据状态,用于在事务执行失败或用户执行ROLLBACK时,将数据恢复到事务开始前的状态。Redo Log 是一种用于保证事务持久性的日志,它记录了事务对数据所做的修改。在系统崩溃恢复时,Redo Log 用来恢复尚未写入磁盘的数据。Binlog 是MySQL数据库的另一种日志,它记录了数据库的所有更改操作,包括数据修改和数据库结构变更。Binlog主要用于数据备份、恢复和主从复制。Undo Log:用于事务回滚和MVCC,记录。
2025-01-06 16:54:53
291
原创 Java的值传递
基本数据类型传递的是值的副本,方法内部对副本的操作不会影响原始变量。引用数据类型传递的是引用的副本,但这个副本和原始引用指向同一个对象,因此方法内部对对象的操作会影响原始引用所指向的对象。这就是Java中的值传递机制。需要注意的是,尽管引用类型的传递看起来像是“传递引用”,但实际上传递的仍然是引用的一个副本,这符合值传递的定义。
2025-01-03 17:16:13
384
原创 StringBuffer和StringBuilder的区别
选择还是主要取决于你的应用场景。如果你在多线程环境中操作字符串,或者你不确定你的代码是否会在多线程环境中运行,那么应该选择StringBuffer。然而,如果你可以保证字符串操作是在单线程环境中进行的,那么选择StringBuilder将会带来更好的性能。在Java 5之后,StringBuilder通常是构建字符串的首选,因为它在大多数情况下都更高效。
2025-01-02 09:03:16
422
原创 Java常用包
Java 的标准库包含了许多包(package),每个包都包含了一系列相关的类和接口,用于处理不同的任务。以下是一些常用的 Java 包及其简要介绍:核心包:不需要显式导入,默认就包含在所有的 Java 程序中。功能:提供了构成 Java 编程语言核心的类,如 Object, String, Math, 基本数据类型的包装类(如 Integer, Double),以及线程管理(Thread)等。功能:包含集合框架、事件模型、日期和时间设施、国际化和各种实用工具类。重要类/接口:List, Set, Map,
2024-12-30 17:02:42
556
原创 IBatis与MyBatis的区别
MyBatis 可以看作是 iBatis 的一个全面升级版,它保留了 iBatis 的核心思想,同时在配置、动态 SQL、性能、插件系统等方面进行了大量的改进和增强。MyBatis 的目标是简化数据库操作,提高开发效率,同时保持足够的灵活性和扩展性。因此,对于新的项目,推荐使用 MyBatis 而不是 iBatis。
2024-12-25 17:06:33
936
原创 什么是MVCC?
MVCC是一种强大的数据库并发控制技术,它通过提供数据的多版本视图,使得数据库能够支持高并发访问,同时保持事务的一致性和隔离性。虽然实现MVCC的系统可能会面临一些挑战,但它在提高数据库性能和用户体验方面发挥了重要作用。
2024-12-24 20:15:32
640
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人