自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 rabbitmq常见问题

1、RabbitMQ如何保证消息不丢失2、RabbitMQ消息的重复消费问题如何解决3、RabbitMQ的死信交换机和延迟队列4、RabbitMQ消息堆积如何解决5、RabbitMQ的高可用机制

2024-02-03 22:11:58 585 1

原创 ArrayList常见问题

ArrayList常见问题

2024-02-03 21:57:49 234

原创 数据库分表分库的原则

数据库分表是将一个大表按照某种规则拆分成多个小表存储在不同的物理表中的技术。通常,拆分规则是基于某个列的值进行拆分,例如根据用户ID或日期范围等进行拆分。每个小表只包含部分数据,从而减少了单个表的数据量,提高了查询性能和并发处理能力。此外,使用数据分表还可以更好地利用硬件资源,如磁盘和内存。

2024-01-28 23:40:42 1032 1

原创 Threadlocal对象的使用

ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。这里有几点需要注意:因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。

2024-01-28 23:37:53 617

原创 ConcurrentHashMap和HashMap的区别

(1)HashMap 是基于 Map 接口的非同步实现,线程不安全,是为了快速存取而设计的;它采用 key-value 键值对的形式存放元素(并封装成 Node 对象),允许使用 null 键和 null 值,但只允许存在一个键为 null,并且存放在 Node[0] 的位置,不过允许存在多个 value 为 null 的情况。

2024-01-19 22:43:11 927

原创 Java之CAS

它是一种乐观锁机制,通过比较内存中的值与预期值是否相等来判断是否发生了并发冲突,从而决定是否更新内存中的值。:CAS操作只能检测共享变量的值是否发生了变化,无法感知到值的变化过程中是否经历了其他操作,可能导致ABA问题。:虽然CAS操作避免了使用锁带来的性能开销,但在高并发场景下,仍可能存在竞争和冲突,导致CAS操作频繁失败。:CAS操作适用于读多写少的并发场景,特别是在没有竞争或竞争较少的情况下,可以提供较好的性能。:CAS操作只能保证对单个共享变量的原子操作,无法保证多个共享变量之间的原子性。

2024-01-19 22:38:55 396

原创 数据库常用锁

数据库常用锁

2023-12-11 21:27:17 986 1

原创 CPU密集型和IO密集型对 CPU内核之间的关系

CPU密集型与I/O密集型是在计算机上执行任务的两种策略,在并发执行任务场景下,我们需要选择使用多线程或多进程;如果是I/O密集型任务,使用多线程,线程越多越好;如果是CPU密集型任务,使用多进程,线程数量与CPU核心数匹配。我们了解这些概念有助于在资源分配和性能优化等方面有很大的帮助。我们在选择线程池的时候,我们需要知道某一个任务是否是CPU消耗型的任务,还是说I/O类型的任务,以便充分的调用CPU资源。

2023-12-07 20:01:28 984

原创 ELK的日志解决方案

ELK的日志解决方案

2023-12-06 20:28:49 887 1

原创 线程池,及7大参数,4大拒绝策略详解

线程池是管理线程的一种机制,它维护着一个线程池集合,用来存储线程并重复利用这些线程来执行任务。线程池可以提高应用程序性能和响应速度,减少线程的创建和销毁所带来的开销。

2023-12-05 20:49:50 803

原创 三种定时任务总结

Schedule适用于简单的定时任务,无需引入额外依赖,但功能有限。Quartz是功能强大的任务调度框架,适用于复杂的任务调度逻辑和高可用性要求较高的场景。xxl-job是一个轻量级的分布式任务调度平台,适用于企业级任务调度和管理,提供了简便的Web界面。根据具体需求和项目规模,选择适合的任务调度框架。当任务调度需求较为简单时,可以使用Schedule;当需要更灵活和复杂的任务调度功能时,可以选择Quartz;而对于分布式任务调度和企业级任务管理,xxl-job可能更适合一些。

2023-12-04 19:48:52 817

原创 java中的synchronized

synchronized是Java中的关键字,用于实现线程之间的同步。它提供了一种独占锁的机制,确保在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中存在共享数据的操作),同时我们还应该注意到synchronized另外一个重要的作用,synchronized可保证一个线程的变化(主要是共享数据的变化)被其他线程所看到(保证可见性,完全可以替代Volatile功能),这点确实也是很重要的。

2023-11-30 21:23:36 1157

原创 代理的三种方式,静态,动态,cglib

代理的三种方式,静态,动态,cglib

2023-11-28 19:36:56 362

原创 Spring是如何解决循环依赖的

Spring是如何解决循环依赖的

2023-11-27 20:38:12 945 1

原创 java建造者模式builder

java建造者模式builder

2023-11-23 19:45:27 764

原创 http协议和websocket协议的区别

http协议和websocket协议的区别

2023-11-22 20:41:28 128

原创 网络七层模型OSI

网络七层模型OSI

2023-11-20 20:35:02 33 1

原创 gitlab搭建

gitlab搭建

2023-11-19 21:09:53 30 1

原创 redis安装与五大数据类型

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。

2023-10-19 21:17:31 22

原创 springboot RBAC,jpa与 缓存机制浅析

springboot RBAC,jpa与 缓存机制浅析

2023-10-18 21:05:14 187 1

原创 springmvc的工作流程

Spring MVC是Spring Framework提供的Web组件,全称是Spring Web MVC,是目前主流的实现MVC设计模式的框架,提供前端路由映射、视图解析等功能,是Java Web开发者必须要掌握的技术框架。

2023-10-17 21:35:47 28

原创 mysql数据库引擎-Innodb,MyISAM

mysql数据库引擎-Innodb,MyISAM

2023-10-16 22:23:48 79 1

原创 JAVA开发常用测试工具

JAVA开发常用测试工具

2023-10-11 20:59:04 803

原创 springboot整合Dockerfile

springboot整合Dockerfile

2023-10-10 21:32:25 2413 5

原创 linux下的MySQL主从数据库的搭建

linux下的MySQL主从数据库的搭建

2023-10-09 20:21:17 108 2

原创 docker常用命令总结

docker常用命令总结

2023-10-08 21:19:41 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除