自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 啥时候会锁表

在InnoDB中,锁定的粒度比较细,因此在大多数情况下,锁定的是表中的一部分数据,而不是整个表。MyISAM是MySQL中另一个常用的存储引擎,它不支持事务,也不支持行级锁定,因此在MyISAM中锁定的粒度比较粗,通常是锁定整个表。如果有其他事务正在等待获取排他锁,而当前事务又需要对同一个表进行写操作,则InnoDB会自动锁定整个表,以保证数据的一致性和正确性。如果有其他事务正在等待获取排他锁,而当前事务又需要对同一个表进行写操作,则MyISAM会自动锁定整个表,以保证数据的一致性和正确性。

2024-07-04 18:51:34 521

原创 核心线程数为什么不被释放

当有新任务来的时候,先看看当前的线程数有没有超过核心线程数,如果没超过就直接新建一个线程来执行新的任务,如果超过了就看看缓存队列有没有满,没满就将新任务放进缓存队列中,满了就新建一个线程来执行新的任务,如果线程池中的线程数已经达到了指定的最大线程数了,那就根据相应的策略拒绝任务。当程序启动时,线程池会预先创建一定数量的线程,并将这些线程存储在线程池中,这些线程被称为核心线程。当缓存队列中的任务都执行完了的时候,线程池中的线程数如果大于核心线程数,就销毁多出来的线程,直到线程池中的线程数等于核心线程数。

2024-07-03 19:00:16 547

原创 Kafka为什么吞吐量大、速度快?

通过这种分区分段的设计,Kafka的message消息实际上是分布式存储在一个一个小的segment中的,每次文件操作也是直接操作的segment。最明显的就是使用批次。Kafka速度的秘诀在于,它把所有的消息都变成一个批量的文件,并且进行合理的批量压缩,减少网络IO损耗,通过mmap提高I/O速度,写入数据的时候由于单个Partition是末尾添加所以速度最优;通过操作系统的Page Cache,Kafka的读写操作基本上是基于内存的,读写速度得到了极大的提升。Kafka数据读写也是批量的而不是单条的。

2024-07-02 18:31:22 966

原创 回收收益最大的收集器——G1

虽然G1也仍是遵循分代收集理 论设计的,但其堆内存的布局与其他收集器有非常明显的差异:G1不再坚持固定大小以及固定数量的 分代区域划分,而是把连续的Java堆划分为多个大小相等的独立区域(Region),每一个Region都可以。从上述阶段的描述可以看出,G1收集器除了并发标记外,其余阶段也是要完全暂停用户线程的, 换言之,它并非纯粹地追求低延迟,官方给它设定的目标是在延迟可控的情况下获得尽可能高的吞吐量,所以才能担当起“全功能收集器”的重任与期望,它默认的停顿目标为两百毫秒。

2024-07-01 17:22:33 355

原创 Redis 主从复制

相反,如果偏移量之后的数据已经不存在于复制积压缓冲区,那么主服务器将对从服务器执行完整重同步操作。当从服务器断线并重新连上一个主服务器时,从服务器将向当前连接的主服务器发送之前保存的运行ID: ·如果从服务器保存的ID和当前连接的主服务器的运行ID相同,那么说明从服务器断线之前复制的就是当前连接的这个主服务器,主服务器可以尝试执行部分重同步操作;·如果从服务器保存的ID和当前连接的主服务器的运行ID不同,则从服务器断线之前复制的不是当前连接的这个主服务器,主服务器就将对从服务器执行完整重同步操作。

2024-06-30 09:00:00 857

原创 ThreadLocal为什么会引发内存泄漏呢?

不设置为弱引用,是因为不清楚这个Value除了map的引用还是否还存在其他引用,如果不存在其他引用,当GC的时候就会直接将这个Value干掉了,而此时我们的ThreadLocal还处于使用期间,就会造成Value为null的错误,所以将其设置为强引用。threadLocal对象设null了,开始发生“内存泄露”,然后使用线程池,这个线程结束,线程放回线程池中不销毁,这个线程一直不被使用,或者分配使用了又不再调用get,set方法,那么这个期间就会发生真正的内存泄露。

2024-06-29 09:00:00 285

原创 select,poll和epoll其实都是操作系统中IO多路复用实现的方法

select,poll是基于轮询实现的,将fd_set从用户空间复制到内核空间,然后让内核空间以poll机制来进行轮询,一旦有其中一个fd对应的设备活跃了,那么就把整个fd_set返回给客户端(复制到用户空间),再由客户端来轮询每个fd的,找出发生了IO事件的fd。

2024-06-28 18:31:37 389

原创 phpstudy 无法启动mysql

3.必须要卸载掉本地的mysql,在终端执行 ms delete mysql 命令,通过管理员的身份去执行。2.如果本地安装了mysql,并且在启动中,phpstudy的mysql启动不了的。4.然后再次启动phpstudy 的mysql,即可成功。1.如果本地没有安装mysql,是可以启动的。

2024-06-28 18:23:12 251

原创 Spring aop 和 ioc 介绍一下

1.ioc容器:实际上就是map(key,value),里面存放的是各种对象(在xml里面配置的bean节点、@repository,@service,@controller,@compent)在项目里启动的时候会读取配置文件里面的bean节点,创建对象到map里面。

2024-06-27 11:02:09 994

原创 Hashmap和ConcurrentHashMap区别

-3.链表和红黑树也是一样的,equals 相等就覆盖,不相等就直接插入,同是判断是否要扩容(也就是说,默认情况下,数组大小为16,那么当hashmap中元素个数超过16*0.75=12的时候,就把数组的大小扩展为2*16=32,即扩大一倍,然后重新计算每个元素在数组中的位置)及链表转成红黑树,或者是红黑树退化成链表。1> 不能存储null键和null值,线程安全,null值会产生歧义,到底是没有值还是值就是null,在containsKey的时候,有个线程写入key,就会产生歧义了。

2024-06-26 17:10:08 557

空空如也

空空如也

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

TA关注的人

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