自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数组2-二分查找

因为num数组是有序的,所以可以通过判断,改变左右区间,最后找到目标值在数组的下标。在整体解题的过程中,需要注意对于边界的定义。其实记得这个数轴 就能够把二分法写出来。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。写二分法,区间的定义一般为两种,二分法解法-左闭右闭写法。边界的定义也就决定了。

2024-03-29 22:28:48 241 1

原创 集合与HashMap

2.2 若K1,K2哈希值相同,则需要继续比较key1和key2的equals(),调用key1所在类的equals方法,传入的参数是key2。但是如果向jdk1.7中那样,不断去加后期查找起来,性能是比较差的,单向链表的时间复杂度是o(n)。过小,那么都没放几个数据就要扩容了,会造成空间的浪费,故经过实验后,选择0.75作为负载因子的默认值。过大,那么临界值出现的就晚,旧的数组使用时间就长,往一个哈希桶中放的数据就多,查找就慢。2、当集合容量小于64,但是哈希冲突很严重时,会优先扩容,再考虑红黑树。

2024-03-24 16:04:38 721 1

原创 乐观锁和悲观锁

悲观锁总是假设最坏的情况,认为共享资源每次被访问的时候就会出现问题(比如共享数据被修改),所以每次在获取资源操作的时候都会上锁,这样其他线程想拿到这个资源就会阻塞直到锁被上一个持有者释放。也就是说,共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程。像 Java 中和等独占锁就是悲观锁思想的实现。悲观锁缺点 高并发的场景下,激烈的锁竞争会造成线程阻塞, 大量阻塞线程会导致系统的上下文切换,增加系统的性能开销。并且,悲观锁还可能会存在死锁问题,影响代码的正常运行。

2024-03-24 15:56:54 750 1

原创 Spring循环依赖问题

所以有了三级缓存后,bean对象整体创建的一个大概流程会是这样的假设是对Aservice对象去进行创建,Asevice对象有属性Bservice需要注入实例化 得到普通的Aservice对象 ---> 把普通对象的lambda表达式存到三级缓存中进行属性注入流程,对Bservice属性注入(这一步会发生循环依赖 那怎么办?bservice也需要经过实例化 然后要注入aservice属性此时就会到一级缓存(单例池)里面去找,那肯定是没有的,因为aservice现在还没完全创建完成。

2024-03-24 15:46:01 668

原创 缓存和数据库一致性问题

好了,总结一下这篇文章的重点。1、想要提高应用的性能,可以引入「缓存」来解决2、引入缓存后,需要考虑缓存和数据库一致性问题,可选的方案有:「更新数据库 + 更新缓存」、「更新数据库 + 删除缓存」3、更新数据库 + 更新缓存方案,在「并发」场景下无法保证缓存和数据一致性,且存在「缓存资源浪费」和「机器性能浪费」的情况发生。

2024-03-24 15:42:18 583

原创 RocketMQ下载与部署

目前RocketMQ的版本主要分为4.x系列和5.x系列,多数用的是4.x系列,5.X增加了proxy模式,同时也正式在开源版本中增加了任意时间的延迟消息的支持,这个对我们来说是非常有用的。这里以Mac的环境为例,介绍RocketMQ5.1.3版本安装过程,当前安装的Mac Book Pro的电脑内存为16G,5.1.3虽然增加了proxy模块,但是我们启动的时候依然可以用4.x方式启动的,这里暂不详细说明。RocketMQ的物理架构中,都是需要先启动NameServer再启动Broker的。

2024-03-24 15:29:08 1053

原创 Redis 线程模型

Redis基于开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为4部分:多个套接字、IO多路复用程序、文件事件分派器、事件处理器。文件事件处理器使用I/O多路复用(multiplexing)程序来同时监听多个套接字, 并根据套接字目前执行的任务来为套接字关联不同的事件处理器。当被监听的套接字准备好执行连接accept、read、write、close等操作时, 与操作相对应的文件事件就会产生, 这时文件事件处理器就会调用套接字之前关联好的事件处理器来处理这些事件。

2024-03-24 15:22:17 483

空空如也

空空如也

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

TA关注的人

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