![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 89
why技术
在这里我会分享一些java技术相关的知识,用匠心敲代码,对每一行代码负责。感谢你的关注,愿你我共同进步。
展开
-
别问了,我真的不喜欢这个注解!
你好呀,我是why。我之前写过一些关于线程池的文章,然后有同学去翻了一圈,发现我没有写过一篇关于 @Async 注解的文章,于是他来问我:是的,我摊牌了。我不喜欢这个注解的原因,是因为我压根就没用过。我习惯用自定义线程池的方式去做一些异步的逻辑,且这么多年一直都是这样用的。所以如果是我主导的项目,你在项目里面肯定是看不到 @Async 注解的。那我之前见过 @Async 注解吗?肯定是见过啊,有的朋友就喜欢用这个注解。一个注解就搞定异步开发,多爽啊。我不知道用这个注解的人知不知道其原理原创 2021-09-06 12:36:25 · 2387 阅读 · 9 评论 -
几行烂代码,我赔了16万。
你好呀,我是why。前几天在某平台看到一个技术问题,很有意思啊。涉及到的两个技术点,大家平时开发使用的也比较多,但是属于一个小细节,深挖下去,还是有点意思的。来,先带你看一下问题是什么,同时给你解读一下这个问题:https://segmentfault.com/q/1010000040361592首先,这位同学给出了一个代码片段:他说他有一个 func 方法,这个方法里面干了两件事:1.先查询数据库里面的商品库存。2.如果还有库存,那么对库存进行减一操作,模拟商品卖出。对于第二件事,原创 2021-08-23 12:35:39 · 1393 阅读 · 9 评论 -
卷向字节码-Java异常到底是怎么被处理的?
你好呀,我是why,你也可以叫我歪歪。比如下面这位读者:他是看了我《神了!异常信息突然就没了?》这篇文章后产生的疑问。既然是看了我的文章带来的进一步思考,恰巧呢,我又刚好知道。虽然这类文章看的人少,但是我还是来填个坑。害,真是暖男石锤了。异常怎么被抛出的。 先上一个简单代码片段:运行结果大家都是非常的熟悉。光看这仅有的几行代码,我们是探索不出来什么有价值的东西。我们都知道运行结果是这样的,没有任何毛病。这是知其然。那么所以然呢?所以然,就藏在代码背后的字节码里面。通过 ja原创 2021-08-10 12:35:58 · 543 阅读 · 0 评论 -
这波性能优化,太炸裂了!
你好呀,我是why。不是,这不是我。我还年轻,也比他帅。这是今天文章的主人公。他叫做 Brett Wooldridge,你应该是不认识的。但是我把他的 github 截图给你看看,你一定知道他写的开源项目:看到了吗?他就是大名鼎鼎的 HikariCP 的爸爸啊。而且你看他的 github 的简介,写的很有感觉:Father of an angel who fell to Earth and somehow into my life.一个落到地球上的天使的父亲,她不知不觉地进入了我原创 2021-08-09 12:39:12 · 710 阅读 · 0 评论 -
Redis挂了,流量把数据库也打挂了,怎么办?
你好呀,我是歪歪。是这样的,前几天有个读者给我发消息,说面试的时候遇到一个场景题:他说他当时,一时间竟然找不到回答问题的角度,感觉自己没有回答到点子上。我仔细想了一下,确实是感到这个问题有一丝丝的奇怪,有一种让人千言万语,又突然懵逼不知从何说起的神奇力量。为什么这么说呢?我们先读题啊,仔细的读一遍题,我给你翻译一下。如果线上 Redis 挂了。然后所有请求打到数据库导致数据库也挂了。这是啥?Redis 挂了,不就是缓存都没了吗?缓存都没了,不就是缓存雪崩了吗?缓存雪崩了,不就导致数原创 2021-08-02 12:41:54 · 1112 阅读 · 1 评论 -
JVM优化过头了,直接把异常信息优化没了?
你好呀,我是why。你猜这次我又要写个啥没有卵用的知识点呢?不好意思,问的稍微有点早了,啥提示都没给,咋猜呢,对吧?先给你上个代码:public class ExceptionTest { public static void main(String[] args) { Strin原创 2021-07-20 12:41:37 · 609 阅读 · 1 评论 -
一个排序引发的BUG
你好呀,我是why。前两天在 Git 上闲逛的时候又不知不觉逛到 Dubbo 那里去了。看了一下最近一个月的数据,社区活跃度还是很高的:然后看了一下最新的 issue,大家提问都很积极。其中看到了这样的一个 issue,发现有点意思:https://github.com/apache/dubbo/issues/8055于是写下这篇文章给你分享一下这个 BUG 和 BUG 背后的故事。放心,就算你完全不懂 Dubbo,也不影响你了解这个 BUG。先说一下,下文中提到的 Dubbo 代码原创 2021-06-29 12:30:40 · 325 阅读 · 0 评论 -
曝光一个网站,我周末就耗在上面了。
这是why的第 107 篇原创文章你好呀,我是why。刚刚过去的周末你干啥了,是卷起来了,还是躺平了?我其实是想躺平的,但是无意间发现一个学习的网站,居然被这个网站吸引了,然后就跟着网站卷起来了。真是一个非常不错的网站,好东西,要大家分享,于是我决定“曝光”一下。介绍这个网站之前,我先问你一个问题:Arthas 这个 Java 程序诊断工具,你知道吧?我相信绝大部分同学都是知道的,但是也有很大一部分同学仅仅是在“纸上谈兵”的阶段而已。没有自己实际操作过。为什么呢?我猜你刚刚知道 Ar原创 2021-06-21 11:48:22 · 491 阅读 · 1 评论 -
面试官:啥是请求重放呀?
这是why的第 103 篇原创你好呀,我是why。如图,重放攻击,这题我真的在面试的时候遇到过,两次。印象比较深的是第一次遇到这个面试题的时候,也是第一次听到“重放攻击”这个词的时候,一脸蒙蔽,于是我就连蒙带猜的,朝着接口幂等性的方向去答了。结果就凉了。要回答怎么防止重放攻击,那么我们得知道啥是重放攻击。学术上的解释是这样的:重放攻击(英语:replay attack,或称为回放攻击)是一种恶意或欺诈的重复或延迟有效数据的网络攻击形式。 这可以由发起者或由拦截数据并重新传输数据的对手来执行原创 2021-05-18 12:40:41 · 1909 阅读 · 0 评论 -
老爷子这代码,看跪了!
这是why的第 99 篇原创文章你好呀,我是why哥。不是,这个照片不是我,标题说的老爷子就是这个哥们,这事得从前几天说起。前几天,发现在一个大佬云集的技术群里面,大佬们就 Happens-Before 关系和 as-if-serial 语义进行了激烈的讨论。而我一看时间,快到 23 点了,大佬们都这么卷,那我必须得跟着卷进去,于是看了一下他们的聊天记录。而我,作为一只菜鸡,虽然没有什么参与感,但是感觉大佬们说的都挺有道理的,据理力争。所以基本上,我全程就是这样的:但是,当他们说着说着就聊原创 2021-04-27 13:15:13 · 434 阅读 · 1 评论 -
面试官一个线程池问题把我问懵逼了。
这是why的第 98 篇原创文章前几天,有个朋友在微信上找我。他问:why哥,在吗?我说:发生肾么事了?他啪的一下就提了一个问题啊,很快。我大意了,随意瞅了一眼,这题不是很简单吗?结果没想到里面还隐藏着一篇文章。故事,得从这个问题说起:上面的图中的线程池配置是这样的:ExecutorService executorService = new ThreadPoolExecutor(40, 80, 1, TimeUnit.M原创 2021-04-13 12:30:01 · 542 阅读 · 0 评论 -
有哪些道理是我当了程序员后才知道的?
前几天在知乎给我推送了一个话题:有哪些道理是你当了程序员后才知道的?然后当时我就花了几分钟的时间去回答了一下。嘿,你猜怎么着?我发现我一个知乎小透明,给这个回答点赞的人还挺多:我也在公众号里面给大家分享一下吧,但是下面的这些观点,都是我的一家之言,理性讨论,不要开杠。以下是原回答。1 1.当你明白了技术永远是为了业务服务的时候,不再技术至上的时候,你就成长到程序员的下一个阶段了。2.业务第一,产品第二,技术第三。3.盈利了,是业务部门把钱搞来的,技术部门是支出部门。4.年轻的时候什么都原创 2021-03-22 12:45:53 · 401 阅读 · 0 评论 -
凉了呀,面试官叫我设计一个排行榜。
这是why哥的第89篇原创文章前两天,有一个读者给我发了一张图片。我问:发什么肾么事了?于是有了这样的对话:他发的图,就是微信运动步数排行榜的截图:其实扯了这么多,这就是个常见的面试场景题:如何设计一个排行榜?这个题吧,其实就是考你面试准备范围的广度,见过就会答,没见过...就难说了。当然,如果你在实际业务中做过排行榜,那么这题正中下怀,你也不要笑出声来,场景题面试官是会给你思考时间的。所以你不要张口就来,你只需要眉头稍稍一皱,给面试官说:这题我想想啊。然后稍微组织一下语言,说出来就原创 2021-03-02 19:49:56 · 2039 阅读 · 3 评论 -
布隆,牛逼!布谷鸟,牛逼!
这是why的第86篇原创文章在早期文章里面我曾经写过布隆过滤器:哎,这糟糕透顶的排版,一言难尽.......其实写文章和写代码一样。看到一段辣眼睛的代码,正想口吐芬芳:这是哪个煞笔写的代码?结果定睛一看,代码上写的作者居然是自己。甚至还不敢相信,还要打开看一下 git 的提交记录。发现确实是自己几个月前亲手敲出来,并且提交的代码。于是默默的改掉。出现这种情况我也常常安慰自己:没事,这是好事啊,说明我在进步。好了,说正事。当时的文章里面我说布隆过滤器的内部原理我说不清楚。其实我只是原创 2021-02-02 20:06:40 · 943 阅读 · 1 评论 -
Java并发编程常识
这是why的第 85 篇原创文章写中间件经常要做两件事:1.延迟加载,在内存缓存已加载项。2.统计调用次数,拦截并发量。就这么个小功能,团队里的人十有八九写错。上面这句话不是我说的,是梁飞在他的博客里面说的。梁飞是谁?据网上的公开资料,梁飞,花名虚极。2009 年加入阿里巴巴,负责中间件的开发,Dubbo 开源分布式服务框架作者,HTTL 开源模板引擎作者。2012 年加入天猫,负责手机天猫 APP 的技术团队,见证了天猫双 11 无线化全过程。热衷参与开源社区建设,传播服务化原创 2021-01-26 12:56:21 · 369 阅读 · 0 评论 -
哎,这让人抠脑壳的 LFU。
这是why哥的第 83 篇原创文章让人抠脑壳的 LFU前几天在某APP看到了这样的一个讨论:看到一个有点意思的评论:LFU 是真的难,脑壳都给我抠疼了。如果说 LRU 是 Easy 模式的话,那么把中间的字母从 R(Recently) 变成 F(Frequently),即 LFU ,那就是 hard 模式了。你不认识 Frequently 没关系,毕竟这是一个英语专八的词汇,我这个英语八级半的选手教你:所以 LFU 的全称是Least Frequently Used,最不经常使用策略。原创 2021-01-12 12:33:21 · 256 阅读 · 0 评论 -
其实吧,LRU也就那么回事。
这是why哥的第 81 篇原创文章你面试的时候遇见过LRU吗?LRU 算法,全称是Least Recently Used。翻译过来就是最近最少使用算法。这个算法的思想就是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。所以,当指定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。听描述你也知道了,它是一种淘汰算法。这个算法也是面试的一个高频考点。有的面试官甚至要求手撸一个 LRU 算法出来。其实我觉得吧,遇到这种情况也不要慌,你就按照自己的思路写一个出来就行原创 2020-12-29 12:08:18 · 272 阅读 · 0 评论 -
面试官问我:什么是高并发下的请求合并?
这是why哥的第 76 篇原创文章从一道面试题说起前段时间一个在深圳的,两年经验的小伙伴出去面试了一圈,收割了几个大厂 offer 的同时,还总结了一下面试的过程中遇到的面试题,面试题有很多,文末的时候我会分享给大家。这次的文章主要分享他面试过程中遇到的一个场景题:他说对于这个场景题,面试的时候没有什么思路。说真的,请求合并我知道,高并发无非就是快速的请求合并。但是在我有限的认知里面,如果类似于秒杀的高并发扣库存这个场景,用请求合并的方式来做,我个人感觉是有点怪怪的不够传统。在传统的,或者说原创 2020-11-23 12:36:43 · 1005 阅读 · 1 评论 -
这个Map你肯定不知道,毕竟存在感确实太低了。
这是why哥的第 75 篇原创文章从Dubbo的优雅停机说起好吧,其实本文并不是讲 Dubbo 的优雅停机的。只是我在 Dubbo 停机方法 DubboShutdownHook 类中,看到了这样的一段代码:很明显,这个地方最关键的地方是红框框起来的部分。而这个 addShutdownHook 其实是 JDK 的方法:java.lang.Runtime#addShutdownHook最终,把传进来的 hook 放到了 hooks 里面。你说 hooks 是这个什么玩意?这个 hooks原创 2020-11-16 12:46:36 · 445 阅读 · 0 评论 -
要我说,多线程事务它必须就是个伪命题!
这是why技术的第 74 篇原创文章深夜怼文的我别问,问就是不行分布式事务你应该是知道的。但是这个多线程事务......没事,我慢慢给你说。如图所示,有个小伙伴想要实现多线程事务。这个需求其实我在不同的地方看到过很多次,所以我才说:这个问题又出现了。那么有解决方案吗?在此之前,我的回答都是非常的肯定:毋庸置疑,肯定是没有的。为什么呢?我们先从理论上去推理一下。来,首先我问你,事务的特性是什么?这个不难吧?八股文必背内容之一,ACID 必须张口就来:原子性(Atomicity)原创 2020-11-09 13:06:50 · 996 阅读 · 1 评论 -
快来,我悄悄的给你说几个HashCode的破事。
这是why技术的第 72 篇原创文章Hash冲突是怎么回事在这个文章正式开始之前,先几句话把这个问题说清楚了:我们常说的 Hash 冲突到底是怎么回事?直接上个图片:你说你看到这个图片的时候想到了什么东西?有没有想到 HashMap 的数组加链表的结构?对咯,我这里就是以 HashMap 为切入点,给大家讲一下 Hash 冲突。接着我们看下面这张图:假设现在我们有个值为 [why技术] 的 key,经过 Hash 算法后,计算出值为 1,那么含义就是这个值应该放到数组下标为 1 的地方。原创 2020-11-02 12:27:08 · 687 阅读 · 0 评论 -
1000个并发线程,10台机器,每台机器4核,设计线程池大小
这是why哥的第 71 篇原创文章一道面试题兄弟们,怎么说?我觉得如果你工作了两年左右的时间,或者是突击准备了面试,这题回答个八成上来,应该是手到擒来的事情。这题中规中矩,考点清晰,可以说的东西不是很多。但是这都上血书了,那不得分析一波?先把这个面试题拿出来一下:1000 多个并发线程,10 台机器,每台机器 4 核,设计线程池大小。这题给的信息非常的简陋,但是简陋的好处就是想象空间足够大。第一眼看到这题的时候,我直观的感受到了两个考点:线程池设计。负载均衡策略。我就开门见山的原创 2020-10-26 12:34:11 · 2164 阅读 · 1 评论 -
这玩意比ThreadLocal叼多了,吓得why哥赶紧分享出来。
这是why哥的第 70 篇原创文章从Dubbo的一次提交开始故事得从前段时间翻阅 Dubbo 源码时,看到的一段代码讲起。这段代码就是这个:org.apache.dubbo.rpc.RpcContext使用 InternalThreadLocal 提升性能。相信作为一个程序猿,都会被 improve performance(提升性能)这样的字眼抓住眼球。心里开始痒痒的,必须要一探究竟。刚看到这段代码的时候,我就想:既然他是要提升性能,那说明之前的东西表现的不太好。那之前的东西是什么?原创 2020-10-19 13:24:59 · 588 阅读 · 1 评论 -
Doug Lea在J.U.C包里面写的BUG又被网友发现了
这是why的第 69 篇原创文章BUG描述一个编号为 8073704 的 JDK BUG,将串联起我的这篇文章。也就是下面的这个链接。https://bugs.openjdk.java.net/browse/JDK-8073704这个 BUG 在 JDK 9 版本中进行了修复。也就是说,如果你用的 JDK 8,也许会遇到这样的问题。先带大家看看这个问题是怎么样的:这个 BUG 说:FutureTask.isDone 方法在任务还没有完成的时候就会返回 true。可以看到,这是一个 P4原创 2020-10-10 12:48:44 · 721 阅读 · 0 评论 -
关于多线程中抛异常的这个面试题我再说最后一次!
这里why的第 66 篇原创文章一道面试题我一年前写过这篇文章《有的线程它死了,于是它变成一道面试题》,这是早期作品,遣词造句,排版行文都有一点稚嫩,但是不知咋地,还是有很多人看过。甚至已经进入了某网红公司的面试题库里面。所以我后面应该会重写一下,翻新翻新,再补充一点新的东西进去。现在先回顾一下这篇文章抛出的问题和问题的答案:一个线程池中的线程异常了,那么线程池会怎么处理这个线程?这个题是我遇到的一个真实的面试题,当时并没有回答的很好。然后通过上面的文章,我在源码中寻找到了答案。先给大家原创 2020-09-21 12:53:33 · 1499 阅读 · 3 评论 -
why哥被阿里一道基础面试题给干懵了,一气之下写出万字长文。
这是why的第 65 篇原创文章荒腔走板大家好,我是 why,欢迎来到我连续周更优质原创文章的第 65 篇。老规矩,先荒腔走板聊聊技术之外的东西。上面这图是去年的成都马拉松赛道上,摄影师抓拍的我。哎,真是阳光向上的 95 后帅小伙啊。今年由于疫情原因,上半年的马拉松比赛全部停摆了。今年可能也没有机会再跑一次马拉松了。只有回味一下去年的成都马拉松了。去年成都马拉松我跑的是半程,只有 21 公里,女朋友也报名跑了一个 5 公里的欢乐跑,所以前 5 公里都是陪着她边跑边玩。过了 10 公里后,赛道两原创 2020-09-13 16:50:21 · 391 阅读 · 0 评论 -
why哥这里有一道Dubbo高频面试题,请查收。
这是why的第 64 篇原创文章荒腔走板大家好,我是 why,欢迎来到我连续周更优质原创文章的第 64 篇。老规矩,先荒腔走板聊聊其他的。上面这图是我之前拼的一个拼图。我经常玩拼图,我大概拼了 50 副左右的 1000 个小块的拼图,但是玩的都是背后有字母或者数字分区提醒的那种,最快纪录是一天拼完一副 1000 块的拼图。但是上面这幅,只有 800 个小块,却是我拼过的最难的一幅。因为这个背后没有任何提示,只能按照前面的色彩、花纹、边框进行一点点的拼凑。前后花了我两周多的时间。这完全是一种找虐原创 2020-09-06 16:40:14 · 293 阅读 · 0 评论 -
快来!我从源码中学习到了一招Dubbo的骚操作!
荒腔走板大家好,我是 why,欢迎来到我连续周更优质原创文章的第 55 篇。老规矩,先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩。魔幻的 2020 年的上半年过去了,很多人都在朋友圈和上半年说再见,我也不例外。上面这张照片,就是我在朋友圈发的一张图片。这张照片是我在公司去年年会的时候拍的,出处来自电影《飞驰人生》。电影里面有人问张弛:你五年连续获得冠军的必胜绝招是什么?张驰满怀深情的回答:必胜绝招只有两个字—奉献。就是把你的全部,奉献给你所热爱的一切。什么是热爱?可以用电影里面的.原创 2020-07-07 12:46:38 · 287 阅读 · 0 评论 -
我从LongAdder中窥探到了高并发的秘籍,上面只写了两个字...
这是why的第 53 篇原创文章荒腔走板大家好,我是why。时间过的真是快,一周又要结束了。那么,你比上周更博学了吗?先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩。上面这图是我之前拼的一副拼图,一共划分了800块,背面无提示,难度极高,我花了两周的时间才拼完。拼的是坛城,传说中佛祖居住生活的地方。第一次知道这个名词是 2015 年,窝在寝室看纪录片《第三极》。其中有一个片段讲的就是僧人为了某个节日用沙绘画坛城,他们的那种专注,虔诚,真挚深深的打动了我,当宏伟的坛城画完之后,他静静的等待原创 2020-06-22 12:44:10 · 396 阅读 · 0 评论 -
震惊!ConcurrentHashMap里面也有死循环,作者留下的“彩蛋”了解一下?
JDK BUG这篇文章,聊一下我最近才知道的一个关于 JDK 8 的 BUG 吧。首先说一下我是怎么发现这个 BUG 的呢?大家都知道我对 Dubbo 有一定的关注,前段时间 Dubbo 2.7.7 发布后我看了它的更新点,就是下面这个网址:https://github.com/apache/dubbo/releases/tag/dubbo-2.7.7其中有 Bugfixes 这一部分:每一个我都去简单的看了一下,其他的 Bugfixes 或多或少都和 Dubbo 框架有一定的关联性。但是上面原创 2020-06-14 21:37:39 · 419 阅读 · 1 评论 -
《深入理解Java虚拟机》第 3 版里面到底多了哪些知识点?本文竟然得到了本书作者的认可!
这是why的第 47 篇原创文章荒腔走板大家好,我是 why。老规矩,先是简短的荒腔走板聊聊生活。上面的图是前几天拍的,那天晚上下班后,刚刚走进小区就看到了这一轮弯月和旁边那一颗特别特别亮的星星。不知道为什么,一瞬间,我感觉一下回到了小时候的夏天。脑海里浮现出了一些画面:一个大铁勺子舀一勺透心凉的井水、经过水缸冰镇的西瓜、树荫下卖樱桃的老爷爷、小河边嬉笑着抓螃蟹的同伴、提着一杯凉白开走在上学路上的自己,还有傍晚在顶楼纳凉的邻居们。我小时候是在筒子楼长大的,一栋楼 7 层高,每一层住 10 来户原创 2020-05-11 12:35:42 · 750 阅读 · 0 评论 -
每天都在用,但你知道 Tomcat 的线程池有多努力吗?
这是why的第 45 篇原创文章。说点不一样的线程池执行策略和线程拒绝策略,探讨怎么让线程池先用完最大线程池再把任务放到队列中。荒腔走板大家好,我是 why,一个四川程序猿,成都好男人。先是本号的特色,技术分享之前先简短的荒腔走板聊聊生活。让文章的温度更多一点点。上面的图是我在一次跑步的过程中拍的。活动之前赛事方搞了个留言活动,收集每公里路牌的一个宣传语。我的留言有幸被选中了:每人知...原创 2020-04-26 21:59:58 · 534 阅读 · 1 评论 -
面试时遇到『看门狗』脖子上挂着『时间轮』,我就问你怕不怕?
Redisson的看门狗和Netty的时间轮,了解一下?写的过程中顺便打了一下自己的脸。技术嘛,不就是在不断打脸的过程中成长起来的嘛。荒腔走板聊生活大家好,一周的时间过的飞快,转眼间又到周末了。老规矩,还是本号特色,先是荒腔走板的聊聊生活。上面的图片是我在一次跑步的过程中拍的,一只狗子。可以看到图片中还有一个轨迹图,也是一只狗子。这个轨迹图全长21km,刚好是一个半马的距离,而且一路上...原创 2020-03-30 12:48:37 · 5317 阅读 · 1 评论 -
【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
这是why技术的第38篇原创文章又到了一周一次的分享时间啦,老规矩,还是先荒腔走板的聊聊生活。有上面的图是读大学的时候,一次自行车骑行途中队友抓拍的我的照片。拍照的地方,名字叫做牛背山,一个名字很 low,实际很美的地方。那条上山的路很难骑,超级烂路和极度变态的陡坡。真是一种折磨,是对意志力的完全考验。在我们几近崩溃,弹尽粮绝,离山顶还有近两个多小时的时候,一个卡车司机主动要求把我们免费...原创 2020-03-15 18:52:43 · 929 阅读 · 1 评论 -
面试官:你回去等通知吧!
这是why技术的第37篇原创文章老规矩,先聊聊生活,上面这张图片是我周一拍的。周一晚上下班后发现公司楼下推着三轮车卖花的阿姨又开始买花了。整个路口只有她一个人在做生意,整条路上也没有几个人,大家都低着头匆匆走着,繁花中带着点忧伤。于是,我去买了一把白玫瑰。上周日把《霍乱时期的爱情》看完了,就刚好当道具拍了上面的照片。总体来说我不喜欢这种纵情声色的故事,更不喜欢那个看起来冠冕堂皇的理由∶“...原创 2020-03-08 10:42:05 · 711 阅读 · 3 评论 -
面试官问我G1回收器怎么知道你是什么时候的垃圾?
这是why技术的第36篇原创文章上面的图片是我上周末在家拍的。以后的文章里面我的第一张配图都用自己随手拍下的照片吧。分享生活,分享技术,哈哈。阳台上的花开了,成都的春天快来了,疫情也应该快要过去了吧。最近在看《霍乱时期的爱情》,不知道为什么和《大话西游》联系了起来,所以你可以看到玻璃上的倒影,是我在看《大话西游》。谁都曾经有过大闹天宫的梦想,爱上层楼的忧愁,但是早晚有一天,你也会像他转身...原创 2020-03-01 10:43:18 · 1049 阅读 · 3 评论 -
面试官:你说你熟悉jvm?那你讲一下并发的可达性分析
这是why技术的第35篇原创文章上面这张图是我还是北漂的时候,在鼓楼附近的胡同里面拍的。那天刚刚下完雨,路过这个地方的时候,一瞬间就被这五颜六色的门板和自行车给吸引了,于是拍下了这张图片。看到这张图片的时候我就很开心,多鲜活、多舒服的画面呀。以后的文章里面我的第一张配图都用自己随时拍下的照片吧。分享生活、分享技术,哈哈。好了,说回文章。这次的文章我们聊聊jvm。jvm可以说是面试必...原创 2020-02-23 22:39:03 · 2604 阅读 · 6 评论 -
Dubbo Cluster集群那点你不知道的事。
这是why技术的第33篇原创文章本周是在家办公的一周,上面的图就是我在家的工位。工欲善其事,必先利其器。在家办公,我是认真的。在家里开发的时候有需求是这样的:一个如果接口调用失败,需要自动进行重试。虽然关系不大,但是我还是想到了Dubbo的集群容错策略:Failover Cluster,即失败自动切换。(这个转折是不是有点生硬.......)所以借本文对于Dubbo的Cluster集...原创 2020-02-10 22:16:01 · 368 阅读 · 0 评论 -
Dubbo一致性哈希负载均衡的源码和Bug,了解一下?
本文是对于Dubbo负载均衡策略之一的一致性哈希负载均衡的详细分析。对源码逐行解读、根据实际运行结果,配以丰富的图片,可能是东半球讲一致性哈希算法在Dubbo中的实现最详细的文章了。文中所示源码,没有特别标注的地方,均为2.7.4.1版本。在撰写本文的过程中,发现了Dubbo2.7.0版本之后的一个bug。会导致性能问题,且目前还未解决,如果你们的负载均衡配置的是一致性哈希或者考虑使用一致性...原创 2019-12-09 12:50:38 · 1204 阅读 · 0 评论 -
这道面试题我真不知道面试官想要的回答是什么
这是why技术的第15篇原创文章面试是一个很奇怪的过程,都是拧螺丝的。但是问的都是如何造火箭,一个敢问,一个敢答。面试不可怕,可怕的是你get不到面试官的点。更可怕的是,你觉得你知道答案,但不是面试官想要的。最可怕的是,面试官也不知道这题的答案是什么。送分题?送命题?前段时间有个小伙伴在一个群里分享了一道亲身经历的面试题,这题乍一看好像张口就能答,但是仔细一想,面试官是想要这样的回答吗...原创 2019-11-25 13:16:48 · 1297 阅读 · 4 评论