首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试
订阅
slccie
更多收藏集
微信扫码分享
微信
新浪微博
QQ
46篇文章 · 0订阅
java并发编程系列:牛逼的AQS(下)
看完了AQS中的底层同步机制,我们来简单分析一下之前介绍过的ReentrantLock的实现原理。先回顾一下这个显式锁的典型使用方式: ReentrantLock首先是一个显式锁,它实现了Lock接口。可能你已经忘记了Lock接口长啥样了,我们再回顾一遍: 也就是当一个线程因为…
Go gRPC 系列六:处理标准动作,实现一元/流拦截器
本章节将要介绍的拦截器(interceptor),就能帮你在合适的地方实现这些功能。 通过查看源码可得知,要完成一个拦截器需要实现 UnaryServerInterceptor 方法。形参如下: 关于这一点,你可以放心。采用开源项目 go-grpc-middleware 就可以…
看完这篇还不清楚缓存,求你打我😈(有彩蛋)
你是不是看了很多有关缓存的文章,然后都有个大概理解。然后去面试的时候,说起来还是有点结结巴巴咩?被问的慌慌张张?面完心里也没底😶。我把onenote上的笔记拿出来分享给大家咩。当然啦,为了文章内容的可靠性,尽可能使用专业用语。依赖《http权威指南》描述相关内容。至于彩蛋嘛,…
读书笔记-红黑树
大家好,头回写博客,欢迎批评,以后我会尽量做到一个月2更,最近在重新温故算法。 红黑树(Red Black Tree) 是一种自平衡二叉查找树. 从一个节点到一个null引用,每一条路径必须包含相同数目的黑色节点。 如果新插入的项的父节点是黑色,那么插入结束,默认新插入的节点是…
JVM CPU Profiler技术原理及源码深度解析
研发人员在遇到线上报警或需要优化系统性能时,常常需要分析程序运行行为和性能瓶颈。Profiling技术是一种在应用运行时收集程序相关信息的动态分析手段,常用的JVM Profiler可以从多个方面对程序进行动态分析,如CPU、Memory、Thread、Classes、GC等,…
大家都说 Java 反射效率低,你知道原因在哪里么
我们在 Java 开发中,难免会接触到反射,而在一些框架中,反射的运用更是常见。我相信,每次提到反射,大家的第一反应一定是反射效率低,尽量少使用。 这篇文章就来探索一下这些问题。 由于本机上安装的是 openjdk 12,所以这里就使用 openjdk 12 源码进行分析。 我…
EventBus 的使用
EventBus 是一个非常优秀的 Android 事件总线框架,可以用来简化组件间通信与数据传输,比如 Activity 之间、Fragment 之间、子线程与 UI 线程间等等情况。它基于发布/订阅模式,实现业务代码的解耦,提高了开发的效率。 最近在做需求时也使用到了 Ev…
图解算法:单链表两两反转 | 眼睛会了手就会系列
一. 序 链表作为一种基本的数据结构,本身理解起来,很简单。它通过指针或者叫引用,将一组零散的内存空间(结点),串联起来组成一个数据存储结构。 链表根据其指针的指向和丰富程度,可以分为单链表、双向链表、循环链表、双向循环链表。其差别就是,是否在单链表的基础上为结点,增加更丰富的…
Go内存分配那些事,就这么简单!
新老朋友好久不见,我是大彬,这篇文章准备了很久,不是在拖延,而是中间做了一些其他事情,耽搁了一些。 这篇文章主要介绍Go内存分配和Go内存管理,会轻微涉及内存申请和释放,以及Go垃圾回收。 从非常宏观的角度看,Go的内存管理就是下图这个样子,我们今天主要关注其中标红的部分。 本…
Redis主从复制机制详解
在上一篇文章中,我们了解了Redis两种不同的持久化方式,Redis服务器通过持久化,把Redis内存中持久化到硬盘当中,当Redis宕机时,我们重启Redis服务器时,可以由RDB文件或AOF文件恢复内存中的数据。 不过持久化后的数据仍然只在一台机器上,因此当硬件发生故障时,…