摘要: # 引言 在当今互联网时代,数据的规模和复杂性不断增长,传统关系型数据库面临着无法满足高并发和大规模数据存储需求的挑战。为了解决这一问题,开源社区涌现出了一系列分布式数据库解决方案,其中TiDB作为一种新兴的分布式数据库引起了广泛的关注。本文将介绍TiDB的基本概念、特点以及适用的应用场景。 TiD 阅读全文
posted @ 2023-06-21 22:06 心若向阳花自开 阅读(298) 评论(0) 推荐(0) 编辑
摘要: # 简介 ![](https://img2023.cnblogs.com/blog/951914/202306/951914-20230620162302787-1054331181.png) 在计算机网络中,TCP(传输控制协议)和UDP(用户数据报协议)是两个常用的传输层协议。它们分别提供了可靠 阅读全文
posted @ 2023-06-20 17:16 心若向阳花自开 阅读(478) 评论(1) 推荐(2) 编辑
摘要: 简介 编程是一门艺术,就像绘画和音乐一样,需要创造力和想象力。编程的艺术在于它可以创造出独特的、精美的、功能强大的程序。 在编程中,结构是一种重要的美学概念。好的结构可以使程序更加清晰、易于理解和维护。结构设计是通过分解问题和组织代码来创造良好的程序结构的过程。 良好的程序结构需要满足以下几个方面: 阅读全文
posted @ 2023-03-10 11:46 心若向阳花自开 阅读(150) 评论(0) 推荐(1) 编辑
摘要: 消息队列是一种重要的分布式系统组件,可用于异步通信、削峰填谷、解耦系统、数据缓存等多个方面。在选择消息队列时,需要考虑诸多因素,包括性能、可靠性、可用性、扩展性、可维护性、社区支持等等。 一、MQ介绍 1. Kafka Kafka 是一种高吞吐量、分布式的消息队列系统。它以日志为基础,支持高吞吐量、 阅读全文
posted @ 2023-03-08 13:39 心若向阳花自开 阅读(1546) 评论(0) 推荐(4) 编辑
摘要: #简介 Java Agent是Java虚拟机提供的一项高级功能,它允许在程序运行时动态地修改字节码和操作Java应用程序。Java Agent通常用于以下场景: 进行代码性能分析和调试。 动态地修改Java字节码,以实现AOP(面向切面编程)等功能。 在应用程序运行时动态地修改应用程序的行为。 Ja 阅读全文
posted @ 2023-02-23 16:27 心若向阳花自开 阅读(1192) 评论(3) 推荐(0) 编辑
摘要: #需求背景 在JAVA应用开发过程中,越来越多的项目采用了微服务架构,而采用微服务架构最直接作用是可以实现业务层解耦,有利于研发团队可以从业务层面进行划分,比如某几个人的小团队负责某几个微服务,总之,从业务角度来讲的话,让专业的人做专业的事。而同时由于部署了微服务后,经常需要保证业务的高可用,就有了 阅读全文
posted @ 2022-06-04 13:17 心若向阳花自开 阅读(941) 评论(0) 推荐(0) 编辑
摘要: #引言 InnoDB一棵3层B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。 在计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是512字节,而文件系统(例如XFS/EXT4)他 阅读全文
posted @ 2021-08-06 23:02 心若向阳花自开 阅读(844) 评论(0) 推荐(1) 编辑
摘要: #引言 垃圾回收(GC,Garbage Collection) 在笔者上一篇文章中(JVM内存模型),介绍了JVM内存模型以及JVM运行时的数据区,堆是JVM内存区域里面最大的一块区域,用于存放实例数据,因此这一块区域是垃圾回收的重点区域,而堆为了提高垃圾回收效率,又被分为了年轻代和老年代,年轻代又 阅读全文
posted @ 2021-05-13 22:04 心若向阳花自开 阅读(1774) 评论(0) 推荐(0) 编辑
摘要: #引言 作家作品打分 题目源自:力扣上的分享 https://leetcode-cn.com/circle/discuss/pUA0mL/ #题目描述 某某作家有n本小说,评委会要对该作家的写作进行打分。需要从中挑选两本小说进行计分,计分规则如下: 每本小说有5个方面的评价指标 两本小说进行合并计分 阅读全文
posted @ 2021-05-13 16:17 心若向阳花自开 阅读(272) 评论(0) 推荐(0) 编辑
摘要: #引言 将两个已经排好序的数组进行合并,使得合并后的数组也是有序 示例: int a[] = {1, 3, 5, 11, 20}; int b[] = {1, 2, 3, 4, 7, 8, 11, 25, 30}; 排好序的结果 1 1 2 3 3 4 5 7 8 11 11 20 25 30 #代 阅读全文
posted @ 2021-05-13 14:59 心若向阳花自开 阅读(266) 评论(0) 推荐(0) 编辑
摘要: #引言 JVM是运行在操作系统之上,而JVM是要想了解JVM虚拟机运行的内幕,必须要先知道其内存模型 根据JVM规范,JVM内存共分为五块区域 本文围绕这个几个区域,剖析JVM运行时数据区 #JVM运行时数据区 ##1.程序计数器 程序计数器是线程私有的,也就是意味着,每一个线程都有自己的一个独立程 阅读全文
posted @ 2021-05-13 09:39 心若向阳花自开 阅读(2105) 评论(0) 推荐(0) 编辑
摘要: #引言 在开发过程中,因为编程经验不足,经常会导致各种各样的溢出,今天本文就举例说明几种常见的溢出 ##堆溢出 堆溢出是最常见的一种溢出。 导致原因:堆中没有足够的空间储存新生成的实例对象 public static void main(String[] args) { List<TestCase> 阅读全文
posted @ 2021-05-12 23:53 心若向阳花自开 阅读(464) 评论(0) 推荐(0) 编辑
摘要: #引言 作为Java开发人员,我们每天都会代码中创建对象,但我们通常使用依赖管理系统,比如Spring框架,然后,这里有很多种创建对象的方式,本文就对Java创建对象的几种方式进行总结 #五种创建方式 | 创建方式 | 特点 | | | | | 使用new关键字 | } → 调用了构造函数 | | 阅读全文
posted @ 2021-05-12 22:11 心若向阳花自开 阅读(634) 评论(0) 推荐(0) 编辑
摘要: #引言 生产者与消费者模型,是多线程编程中的经典问题。今天本文就来带大家手写一个生产者消费者模式 #1.阻塞队列 public class CustomBlockLinkedList<E> { //内部使用链表实现 private LinkedList<E> linkedList; //队列容量最大 阅读全文
posted @ 2021-05-10 17:34 心若向阳花自开 阅读(122) 评论(0) 推荐(0) 编辑
摘要: #引言 在工作中,经常会在本地搭建开发环境,而使用的基本都是Linux系统,本文就教大家如何安装一套Centos Linux系统 #准备 ##1.系统选择 系统:Centos 版本:7.9 ##2.镜像下载 下载地址:http://mirrors.aliyun.com/centos/7.9.2009 阅读全文
posted @ 2021-05-08 15:16 心若向阳花自开 阅读(2386) 评论(2) 推荐(1) 编辑
摘要: #引言 Java代码需要被使用,必须要经过类加载器加载到内存中,然后对应的类才能够被创建使用,这文对类加载和对象创建和过程进行分析。 #类加载 Java类通过懒加载的方式,经过了Loading、Linking、Initializing后加载到内存中,才能被进行使用。 ##Loading ###懒加载 阅读全文
posted @ 2021-05-07 21:42 心若向阳花自开 阅读(312) 评论(0) 推荐(1) 编辑
摘要: ##引言 Java的目标是跨平台,就是所谓的“一处编译、处处运行”,但是显然不同的运行环境需要的二进制代码是不一样的,怎么办呢?那就把源代码编译成针对一台抽象的计算机(虚拟机)的代码(.class文件),虚拟机对上的接口是一致的,让编译结果运行在虚拟机之上,再由这个虚拟机软件将程序转换成本地计算机所 阅读全文
posted @ 2021-05-07 20:43 心若向阳花自开 阅读(237) 评论(0) 推荐(0) 编辑
摘要: ##引言 在Spring中有许多Enable开头的注解,比如以下常见注解 @EnableTransactionManagement @EanbleAsync @EnableCache @EnableAspectJAutoProxy @EnableSchedulin 这些注解是在什么时候,什么地方被处 阅读全文
posted @ 2021-05-06 20:17 心若向阳花自开 阅读(729) 评论(0) 推荐(0) 编辑
摘要: ##引言 ###什么是事务? 在理解事务之前,我们要先了解事务的基本作用 比如在生活中有这样一个场景————取钱,每个人应该都干过的事 在ATM机上取钱,1.输入密码————2.输入金额————3.银行扣钱————4.ATM出钱 以上几个步骤中,3和4就是必须是一个事务,因为它们之间,要么都完成,要 阅读全文
posted @ 2021-05-06 18:24 心若向阳花自开 阅读(1330) 评论(0) 推荐(0) 编辑
摘要: ##引言 Spring AOP(Aspect Orient Programming),AOP翻译过来就是面向切面编程,它体现的是一种编程思想,是对面向对象编程(OOP)的一种补充。 在实际业务开发过程中,有一些代码,跟业务没有任何关系,但在很多地方又会用到,比如:记录日志、计算执行时间、事务、权限验 阅读全文
posted @ 2021-05-05 17:14 心若向阳花自开 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 前言 随着企业网络需求的不断增长和变化,SD-WAN作为一种现代网络技术,为企业提供了更灵活、高效的网络解决方案。在SD-WAN中,二层组网和三层组网是两种常见的部署模型,它们有着各自的特点和适用场景。本文将深入探讨SD-WAN二层组网与三层组网的区别以及它们在不同情境下的优势。 SD-WAN概述 阅读全文
posted @ 2024-03-07 14:50 心若向阳花自开 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 需求背景 XX需求,批量输入域名的时候,需要对域名字符串进行分隔,并去重,同时分隔后统一使用换行符进行保存,便于下一次批量展示 ##输入 www.baidu.com fdas.com google.com www.baidu.com; gool.com ##预期结果 www.baidu.com fd 阅读全文
posted @ 2022-07-01 12:22 心若向阳花自开 阅读(117) 评论(0) 推荐(0) 编辑
摘要: #引言 ##概念 缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频 运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中 率,而不用 阅读全文
posted @ 2021-08-10 11:56 心若向阳花自开 阅读(2868) 评论(0) 推荐(0) 编辑
摘要: #引言 唯一ID可以标识数据的唯一性,在分布式系统中生成唯一ID的方案有很多,常见的方式大概有以下三种: 依赖数据库,使用如MySQL自增列或Oracle序列等。 UUID随机数 snowflake雪花算法(本文将要讨论) 数据库和UUID方案的不足之处 1.采用数据库自增序列 读写分离时,只有主节 阅读全文
posted @ 2021-08-08 13:02 心若向阳花自开 阅读(1764) 评论(0) 推荐(0) 编辑