- 博客(20)
- 收藏
- 关注
原创 Spring缓存
缓存是一种将数据存储在内存中的技术,方便在后续访问相同数据时能够更快地获取数据,而不必重新访问数据库或资源。Spring缓存是Spring框架提供的一个缓存抽象,用于简化缓存的管理。Spring缓存的主要目标是提高应用程序的性能,减少对耗时资源的访问,并减少响应时间。它通过将数据存储在内存中的缓存中,以加快对数据的访问,从而提高了应用程序的响应速度。这在处理频繁访问的数据或计算昂贵的数据时特别有用。
2025-01-08 16:34:57
1114
原创 布隆过滤器
布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,主要用于快速判断一个元素是否属于一个集合。它允许一定程度的误判,即有可能将不属于集合的元素误判为属于集合,但不会将属于集合的元素误判为不属于集合(即不存在假阴性)。
2025-01-08 16:00:58
407
原创 Java | 线程
Java中创建线程的主要方法有四种:继承Thread类、实现Runnable接口、使用Callable接口和Future对象,以及使用线程池(Executor框架)。每种方法都有其独特的特性和适用场景,开发者可以根据具体需求选择合适的方法来创建线程。
2025-01-08 15:36:30
659
原创 MySQL|回表
回表指的是在使用非聚簇索引(也称为二级索引或辅助索引)查询时,由于查询的列中有部分字段不包含在非聚簇索引的叶子节点中,因此无法直接从索引中获取所需的所有数据。此时,MySQL需要通过非聚簇索引查找到主键值,然后再去聚簇索引中根据主键值获取完整数据行的过程。
2025-01-07 16:54:38
655
原创 API接口限流
API接口限流,顾名思义,就是对API的访问频率进行限制。通过设定一定的规则,当某个客户端或应用在短时间内对API的访问次数超过预设阈值时,系统会拒绝或延迟处理后续的请求。
2025-01-06 16:07:10
1299
原创 Java中抽象类和普通类区别
1.普通类1).是最常见的类类型,用于创建对象和定义对象的属性和行为。2).可以直接实例化对象。2.抽象类1).使用abstract关键字修饰的类。2).不能直接实例化,必须通过其子类进行实例化。3).可以包含抽象方法和具体实现的方法。如果类中包含抽象方法,则该类必须声明为抽象类。但抽象类不一定非要包含抽象方法,也可以全是非抽象方法。
2025-01-06 15:49:51
452
原创 count(1)、count(*)与count(列名)区别
MySQL中,COUNT()函数是一个聚合函数,用于统计结果集中行的数量。count(1)count(*)与count(列名)在功能和性能上存在一些区别。
2025-01-06 15:35:19
744
原创 Java|语法糖
Java 语法糖是提高代码简洁性和可读性的重要手段。通过合理使用这些语法糖,开发者可以更加高效地编写和维护代码。然而,也需要注意避免过度使用语法糖导致代码难以理解和维护的问题。
2025-01-06 14:25:27
454
原创 Java|Map
Map是Java集合框架中的一个接口,它用于存储键值对(key-value pairs)。Map中的每个键都是唯一的,并且每个键都映射到一个值。Map接口提供了多种方法来操作这些键值对,如添加、获取、删除等。
2025-01-03 17:03:51
769
原创 分库分表后,如何处理全局ID
数据库架构设计中,分库分表是一种常见的优化策略,用于解决单表数据量过大导致的查询性能下降问题。然而,分库分表后如何处理主键ID成为了一个关键问题,因为每个表如果都从1开始累加,会导致主键冲突,因此需要生成全局唯一的ID来支持。
2025-01-03 16:52:38
577
原创 谈谈IOC和AOP
IoC是一种设计原则,其核心思想是将对象的创建和依赖关系的管理交给外部容器或框架来处理,而不是在对象内部进行。这意味着对象不再自己负责实例化其依赖对象,而是由容器在运行时动态地创建和注入这些依赖对象。
2025-01-03 16:23:15
1044
原创 MySQL|并发
MySQL的并发是指多个用户或应用程序在同一时间内对MySQL数据库进行读写操作的能力。这种能力直接影响到数据库的性能和响应速度,特别是在高并发场景下,如Web应用、电子商务系统和社交网络等。
2025-01-03 15:47:00
1086
原创 Java|锁
Java提供了多种锁的机制来满足不同的并发需求,通过提供互斥访问、保证内存可见性、保证原子性和线程同步等方式,确保了多线程环境下对共享资源的安全访问。开发者需要根据具体的应用场景和需求来选择合适的锁类型,并遵循相关的注意事项来确保程序的正确性和性能。
2025-01-03 15:00:53
806
原创 Java|AQS
AQS是包下的一个工具类,是一个用于构建锁和同步器的基础框架。AQS定义了一套多线程访问共享资源的同步器框架,许多同步器都是基于它来实现的,如ReentrantLock、Semaphore、CountDownLatch等。
2025-01-03 14:31:26
605
原创 Java|多线程
Java编程中,多线程提供了一种机制,允许程序在同一时间内执行多个任务。多线程编程可以提高应用程序的响应速度和性能,特别是在处理I/O操作、计算密集型任务或需要同时执行多个任务时。
2025-01-03 14:25:51
604
原创 System.out.println很多怎么办
使用日志框架(如Log4j、SLF4J结合Logback或Log4j2)可以更有效地管理日志输出。这些框架允许你设置不同的日志级别(如INFO、DEBUG、WARN、ERROR),并且可以根据需要启用或禁用这些级别的日志。考虑重构代码,将功能分解为更小、更易于管理的部分,并使用适当的抽象和封装。通过上述方法,可以更有效地管理代码中的输出语句,使代码更加整洁、易于维护,并提高开发效率。你可以在代码中添加条件语句来控制日志的输出。将输出语句封装到一个单独的方法或类中,这样你可以更容易地修改输出行为。
2025-01-03 13:27:58
387
原创 不懂索引,何谈SQL优化
MySQL官方对索引的定义为,索引(Index)是帮助MySQL高效获取数据的数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。
2025-01-03 11:52:27
787
原创 浅谈API
API(Application Programming Interface,应用程序编程接口),是用于构建应用程序软件的一组子程序定义,协议和工具,它定义了不同软件应用或组件之间如何相互沟通和交互的方法。API可以视为一个中间件,它允许开发者访问和使用某些功能或数据,而无需了解背后的详细实现。
2024-12-17 10:55:58
908
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅