3o6w6cavli3jq_社区达人页

个人头像照片
3o6w6cavli3jq
已加入开发者社区735

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布99篇文章
4条评论
已回答0个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

暂无个人介绍

暂无精选文章
暂无更多信息

2022年05月

  • 05.15 18:59:12
    发表了文章 2022-05-15 18:59:12

    黑客攻防:缓存穿透终极解决方案——布隆过滤器

    不知道从什么时候开始,本来默默无闻的布隆过滤器一下子名声大噪,在面试中面试官问到怎么避免缓存穿透,你的第一反应可能就是布隆过滤器,缓存穿透=布隆过滤器成了标配,但具体什么是布隆过滤器,怎么使用布隆过滤器不是很清楚,那今天我们就来把它说清楚,讲明白。。 缓存穿透 大家看下这幅图,用户可能进行了一次条件错误的查询,这时候redis是不存在的,按照常规流程就是去数据库找了,可是这是一次错误的条件查询,数据库当然也不会存在,也不会往redis里面写值,返回给用户一个空,这样的操作一次两次还好,可是次数多了还了得,我放redis本来就是为了挡一挡,减轻数据库的压力,现在redis变成了形同虚设.
  • 05.15 18:32:00
    发表了文章 2022-05-15 18:32:00

    面试官:说说你对options请求的理解

    什么是 options 请求 我们可以看下 MDN 中的一段描述: HTTP 的 OPTIONS 方法 用于获取目的资源所支持的通信选项。客户端可以对特定的 URL 使用 OPTIONS 方法,也可以对整站(通过将 URL 设置为“*”)使用该方法。” 简单来说,就是可以用 options 请求去嗅探某个请求在对应的服务器中都支持哪种请求方法。 其实,这是因为在跨域的情况下,在浏览器发起"复杂请求"时主动发起的。跨域共享标准规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求).
  • 05.15 18:11:41
    发表了文章 2022-05-15 18:11:41

    面试官:双向链表都不懂,还说懂Redis?

    hello,又见面了。不要问为什么,问就是勤劳。马上要开启爆更模式啦。在Redis中链表List的应用非常广泛,但是Redis是采用C语言来写,底层采用双向链表实现(这边提一嘴,如果是科班出身或者大学有学过数据结构的同学,可以划走啦)。我们今天的重点就是双向链表。 ​API使用 先来使用一下API。如果之前有用过的同学,可以直接跳到下一小节。 lpush左侧插入数据 使用lpush命令往list的左侧中插入a,b,c三个字符,这边注意顺序,查询出来的是c,b,a。下面会说为什么,先挖个坑。
  • 05.15 17:55:07
    发表了文章 2022-05-15 17:55:07

    面试官:说说单例模式!利用这个方法,我成功套路的面试官

    前言 在面试的时候面试官会怎么在单例模式中提问呢?你又该如何回答呢?可能你在面试的时候你会碰到这些问题: 为什么说饿汉式单例天生就是线程安全的? 传统的懒汉式单例为什么是非线程安全的? 怎么修改传统的懒汉式单例,使其线程变得安全? 线程安全的单例的实现还有哪些,怎么实现? 双重检查模式、Volatile关键字 在单例模式中的应用 ThreadLocal 在单例模式中的应用 枚举式单例 那我们该怎么回答呢?那答案来了,看完接下来的内容就可以跟面试官唠唠单例模式了
  • 05.15 17:46:03
    发表了文章 2022-05-15 17:46:03

    面试官:Redis过期后key是怎么样清理的?

    前言 笔者一个同事面试某大厂时问到的一个问题,这里拿来讲讲:Redis过期后key是怎么样清理的? 在Redis中,对于过期key的清理主要有惰性清除,定时清理,内存不够时清理三种方法,下面我们就来具体看看这三种清理方法。 惰性清除 在访问key时,如果发现key已经过期,那么会将key删除。 定时清理 Redis配置项hz定义了serverCron任务的执行周期,默认每次清理时间为25ms,每次清理会依次遍历所有DB,从db随机取出20个key,如果过期就删除,如果其中有5个key过期,那么就继续对这个db进行清理,否则开始清理下一个db。
  • 05.15 17:39:55
    发表了文章 2022-05-15 17:39:55

    ThreadLocal Thread ThreadLocalMap 之间的关系

    ThreadLocal :每个线程通过此对象都会返回各自的值,互不干扰,这是因为每个线程都存着自己的一份副本。需要注意的是线程结束后,它所保存的所有副本都将进行垃圾回收(除非存在对这些副本的其他引用) ThreadLocal的get操作是这样执行的:ThreadLocalMap map = thread.threadLocals -> return map.getEntry(threadLocal)ThreadLocal的set操作是这样执行的:ThreadLocalMap map = thread.threadLocals -> map.set(threadLocal, value)
  • 05.15 17:34:53
    发表了文章 2022-05-15 17:34:53

    又抓到一个导致频繁GC的鬼——数组动态扩容

    概述 本周有个同事过来咨询一个比较诡异的gc问题,大概现象是,系统一直在做cms gc,但是老生代一直不降下去,但是执行一次jmap -histo:live之后,也就是主动触发一次full gc之后,通过jstat -gcutil来看老生代一下就降下去了,初看下理论上不太可能,因为full gc也会对old做回收,于是我要同事针对他们的场景写了一个简单的demo出来,然后果然还真能重现,不过他的demo设置的Heap有32G,于是我通过慢慢调整,最终在很小的内存下也能重现出来。
  • 05.13 18:13:48
    发表了文章 2022-05-13 18:13:48

    java程序员必须知道的内存知识-应用层

    1.volatile 可见性,使用volatile修饰的变量可以立刻被其它线程读取到,经常会被用到多线程同步的关键变量上,像aqs的state。 因为CPU在访问主存需要大约十几个时钟周期,为了提高cpu的效率便有了高速缓存,当数据被加载到高速缓存时,其它核并不能第一时间看到。内存屏障,最常见的就是双检锁了,我们简单的new对象在虚拟机内部其实需要很多操作,虚拟机为了提高性能,会对我们代码进行重排,使用volatile可以保证变量在被编译时的顺序性。
  • 05.13 18:06:02
    发表了文章 2022-05-13 18:06:02

    面试官:为什么Mysql索引用B+树,而Mongodb索引用B树?

    如果面试官问的是,为什么Mysql中Innodb的索引结构采取B+树?这个问题时,给自己留一条后路,不要把B树喷的一文不值。因为网上有些答案是说,B树不适合做文件存储系统的索引结构。如果按照那种答法,自己就给自己挖了一个坑,很难收场。 这里的Mysql指的是Innodb的存储引擎下的索引结构,其他存储引擎我们暂时不讨论。
  • 05.13 17:30:07
    发表了文章 2022-05-13 17:30:07

    java中的synchronized和linux系统的futex到底什么个关系?

    首先,futex不是个完整的锁,它是“支持实现userspace的锁的building block“。也就是说,如果你想实现一个mutex,但不想把整个mutex都弄到内核里面去,可以通过futex来实现。但futex本身主要就是俩系统调用futex_wait和futex_wake. 为了更好的解释这个问题,这里先梳理下锁本身是怎么工作的。
  • 05.13 17:26:10
    发表了文章 2022-05-13 17:26:10

    面试官:你来讲讲一条查询语句的具体执行过程

    对于一个开发工程师来说,了解一下 MySQL 是如何执行一条查询语句的,是一件很有必要的事情,不仅对于工作上有帮助,面试的时候还不至于被面试官问倒! 下面我们来看看MySQL执行一条查询语句的具体过程吧 一条看似非常简单的查询语句: select*fromTwhereid=1; 然后 MySQL 就返回给了你结果,但是里面具体是如何执行的呢?
  • 05.13 17:21:19
    发表了文章 2022-05-13 17:21:19

    面试阿里,腾讯,字节跳动90%都会被问到的Spring中的循环依赖

    Spring中的循环依赖一直是Spring中一个很重要的话题,一方面是因为源码中为了解决循环依赖做了很多处理,另外一方面是因为面试的时候,如果问到Spring中比较高阶的问题,那么循环依赖必定逃不掉。如果你回答得好,那么这就是你的必杀技,反正,那就是面试官的必杀技,这也是取这个标题的原因,当然,本文的目的是为了让你在之后的所有面试中能多一个必杀技,专门用来绝杀面试官! 本文的主要内容就是,当面试官问:“请讲一讲Spring中的循环依赖。”的时候,我们到底该怎么回答? ps:不想听我絮叨的可以直接翻到文末查看答案
  • 05.13 16:54:43
    发表了文章 2022-05-13 16:54:43

    面试官:Redis 为什么这么快?除了基于内存操作还有其他原因吗?

    曾经有人这么告诉我:“在理想状态下,我们的页面跳转需要在瞬间解决,对于页内操作则需要在刹那间解决。另外,超过一弹指的耗时操作要有进度提示,并且可以随时中止或取消,这样才能给用户最好的体验。” 那么瞬间、刹那、一弹指具体是多少时间呢? 根据《摩诃僧祗律》记载: 一刹那者为一念,二十念为一瞬,二十瞬为一弹指,二十弹指为一罗预,二十罗预为一须臾,一日一夜有三十须臾。 那么,经过周密的计算,一瞬间为0.36 秒,一刹那有 0.018 秒.一弹指长达 7.2 秒。 为了提升用户体验,提高网站响应速度,一般都会使用缓存,而通常的技术选型都是redis。 今天我们就来聊聊,为什么redis这么快
  • 05.13 16:11:45
    发表了文章 2022-05-13 16:11:45

    消息列队有没有可能失败?在哪些环节可能失败,如何处理?

    相信大家都使用过消息MQ,他可以很好地进行系统解耦,减低变成的复杂度,又可以进行削峰,增加系统在高并发的稳定性。那么使用MQ有哪些注意事项呢?是不是MQ就是万无一失呢?一条MQ消息从产生到消费,有没有可能失败?在哪些环节可能失败,如何处理? 一般来说,从生产者到MQ中间件是通过网络调用的,是网络调用就有可能存在失败。下面这些原因,都有可能造成MQ生产失败,例如网络波动,尽管生产者到MQ服务器之间是内网调用,并不意味着网络调用的成功率就是百分之百,内网调用也会遇到网络波动,造成调用超时或者失败。又如调用的MQ机器瞬间Crash掉,这也是有可能造成调用失败的。
  • 发表了文章 2022-05-27

    不服不行啊!大牛确实把SpringCloud集成Dubbo给一次性讲透了

  • 发表了文章 2022-05-27

    谈谈Spring用到了哪些设计模式?

  • 发表了文章 2022-05-27

    看大牛是如何一次性把RPC远程过程调用,Dubbo架构进阶给讲清的

  • 发表了文章 2022-05-27

    彻底搞懂 select/poll/epoll,就这篇了

  • 发表了文章 2022-05-27

    RocketMQ在存储架构上的极致追求

  • 发表了文章 2022-05-27

    网络知识大集合(最详细)与网络通信过程

  • 发表了文章 2022-05-27

    SpringBoot中的内容协商,颠覆你的认知

  • 发表了文章 2022-05-27

    Redis布隆防击穿实战-如何解决布隆值在被刷新时出现的真空期

  • 发表了文章 2022-05-27

    纯干货!Spring Cloud Gateway整合OAuth2.0 实现分布式统一认证授权

  • 发表了文章 2022-05-26

    什么情况下适合用UDP协议,什么情况下适合用TCP协议?

  • 发表了文章 2022-05-26

    Redis 中的持久化技术《Redis设计与实现》

  • 发表了文章 2022-05-26

    SpringBoot 实现 Excel 导入导出,性能爆表,用起来够优雅

  • 发表了文章 2022-05-26

    Java 大杀器来了!性能提升一个数量级

  • 发表了文章 2022-05-26

    接口的幂等性的多重考虑,你会了吗?

  • 发表了文章 2022-05-26

    面试官:应对高并发系统有没有通用的解决方案?

  • 发表了文章 2022-05-26

    Redis 分布式锁的正确实现原理演化历程与 Redission 实战总结

  • 发表了文章 2022-05-26

    面试官竟然问我为啥要用MQ,幸亏我看了参考答案

  • 发表了文章 2022-05-26

    你是不是用redis来实现分布式锁?这些坑不得不防

  • 发表了文章 2022-05-26

    手把手教你认识下 JVM 的内存划分,再记不住就真的没办法了

  • 发表了文章 2022-05-26

    Docker容器间网络互联原理,讲不明白算我输

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息