做梦都在改BUG_社区达人页

个人头像照片
做梦都在改BUG

公众号:做梦都在改BUG,欢迎关注,一起学习,一起进步!

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

2022年05月

  • 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掉,这也是有可能造成调用失败的。
  • 发表了文章 2024-08-31

    突发!Runway一夜删库跑路,HuggingFace已清空

  • 发表了文章 2024-08-24

    Python进行Socket接口测试的实现

  • 发表了文章 2024-08-24

    Python元组之不可变序列的奥秘与应用方式

  • 发表了文章 2024-08-24

    Python动态属性与反射机制方式

  • 发表了文章 2024-08-22

    Python并发编程:多线程(threading模块)

  • 发表了文章 2024-08-21

    豆瓣评分8.7!Python pandas创始人亲码的数据分析入门手册!

  • 发表了文章 2024-08-21

    Python并发编程:异步编程(asyncio模块)

  • 发表了文章 2024-08-21

    Python并发编程:多进程(multiprocessing模块)

  • 发表了文章 2024-08-20

    豆瓣评分8.6!Python社区出版的Python故事教程,太强了!

  • 发表了文章 2024-08-20

    Python网络编程:Web框架基础(Flask/Django)

  • 发表了文章 2024-08-20

    Python并发编程:多线程(threading模块)

  • 发表了文章 2024-08-17

    10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战

  • 发表了文章 2024-08-17

    Pydantic:目前最流行的Python数据验证库

  • 发表了文章 2024-08-17

    InfluxDB的安装与Python调用

  • 发表了文章 2024-08-16

    豆瓣评分9.4!Python程序员必读的《流畅的Python》,放这里了!

  • 发表了文章 2024-08-16

    Python网络编程:socket编程

  • 发表了文章 2024-08-16

    Python网络编程:HTTP请求(requests模块)

  • 发表了文章 2024-08-15

    GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化

  • 发表了文章 2024-08-15

    深入解析GPS接收机的位置数据文件:项目实战从数据解析到可视化

  • 发表了文章 2024-08-15

    Python实现PowerPoint演示文稿到图片的批量转换

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