首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
why技术
why技术
创建于2021-11-29
订阅专栏
一个主要写代码,经常写文章的风骚程序猿。
等 828 人订阅
共191篇文章
创建于2021-11-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
布隆,牛逼!布谷鸟,牛逼!
哎,这糟糕透顶的排版,一言难尽....... 其实写文章和写代码一样。 结果定睛一看,代码上写的作者居然是自己。 甚至还不敢相信,还要打开看一下 git 的提交记录。 发现确实是自己几个月前亲手敲出来,并且提交的代码。 于是默默的改掉。 出现这种情况我也常常安慰自己:没事,这是…
Java并发编程常识
就这么个小功能,团队里的人十有八九写错。 上面这句话不是我说的,是梁飞在他的博客里面说的。 据网上的公开资料,梁飞,花名虚极。 2009 年加入阿里巴巴,负责中间件的开发,Dubbo 开源分布式服务框架作者,HTTL 开源模板引擎作者。 2012 年加入天猫,负责手机天猫 AP…
面试之后,扼腕叹息。
今天我面试了一位候选人。 他面试的这个岗位是一个外包岗位,所以简历使用的是外包公司的统一模板。 我已经用这个模板看了很多份简历了。 所以习惯性的先看了技术栈,然后嫖了一眼学历。 突然被抓住了眼球。 他的简历上写到 2015 年毕业于某高校计算机科学与技术专业。 而这个某高校的计…
哎,这让人抠脑壳的 LFU。
LFU 是真的难,脑壳都给我抠疼了。 如果说 LRU 是 Easy 模式的话,那么把中间的字母从 R(Recently) 变成 F(Frequently),即 LFU ,那就是 hard 模式了。 所以 LFU 的全称是Least Frequently Used,最不经常使用策…
其实吧,LRU也就那么回事。
LRU 算法,全称是Least Recently Used。 翻译过来就是最近最少使用算法。 这个算法的思想就是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。所以,当指定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。 听描述你也知道了,它是…
我叫你不要重试,你非得重试。这下玩坏了吧?
前几天和一个读者聊天,聊到了 Dubbo 。 他说他之前遇到了一个 Dubbo 的坑。 然后他给我描述了一下前因后果,总结起来就八个字吧:超时之后,自动重试。 对此我就表达了两个观点。 第一个没啥说的,学艺不精,继续深造。 主要说说第二个。 有一说一,作为一个使用 Dubbo …
一个基于运气的数据结构,你猜是啥?
懂行的老哥一看这个小标题,就知道我要以排行榜作为切入点,去讲 Redis 的 zset 了。 是的,经典面试题,请实现一个排行榜,大部分情况下就是在考验你知不知道 Redis 的 zset 结构,和其对应的操作。 当然了,排行榜我们也可以基于其他的解决方案。比如 mysql。 …
面试官问我:什么是高并发下的请求合并?
前段时间一个在深圳的,两年经验的小伙伴出去面试了一圈,收割了几个大厂 offer 的同时,还总结了一下面试的过程中遇到的面试题,面试题有很多,文末的时候我会分享给大家。 他说对于这个场景题,面试的时候没有什么思路。 说真的,请求合并我知道,高并发无非就是快速的请求合并。 但是在…
这个Map你肯定不知道,毕竟存在感确实太低了。
好吧,其实本文并不是讲 Dubbo 的优雅停机的。 很明显,这个地方最关键的地方是红框框起来的部分。 最终,把传进来的 hook 放到了 hooks 里面。 这个 hooks 调用的是 put 方法,里面放了一个 key,一个 value。 盲猜也知道:这个 hooks 肯定是…
要我说,多线程事务它必须就是个伪命题!
分布式事务你应该是知道的。但是这个多线程事务...... 没事,我慢慢给你说。 如图所示,有个小伙伴想要实现多线程事务。 这个需求其实我在不同的地方看到过很多次,所以我才说:这个问题又出现了。 在此之前,我的回答都是非常的肯定:毋庸置疑,肯定是没有的。 我们先从理论上去推理一下…
快来,我悄悄的给你说几个HashCode的破事。
对咯,我这里就是以 HashMap 为切入点,给大家讲一下 Hash 冲突。 假设现在我们有个值为 [why技术] 的 key,经过 Hash 算法后,计算出值为 1,那么含义就是这个值应该放到数组下标为 1 的地方。 但是如图所示,下标为 1 的地方已经挂了一个 eat 的值…
1000 多个并发线程,10 台机器,每台机器 4 核,设计线程池大小。
我觉得如果你工作了两年左右的时间,或者是突击准备了面试,这题回答个八成上来,应该是手到擒来的事情。这题中规中矩,考点清晰,可以说的东西不是很多。 1000 多个并发线程,10 台机器,每台机器 4 核,设计线程池大小。 这题给的信息非常的简陋,但是简陋的好处就是想象空间足够大。…
这玩意比ThreadLocal叼多了,吓得why哥赶紧分享出来
故事得从前段时间翻阅 Dubbo 源码时,看到的一段代码讲起。 使用 InternalThreadLocal 提升性能。 相信作为一个程序猿,都会被 improve performance(提升性能)这样的字眼抓住眼球。 心里开始痒痒的,必须要一探究竟。 刚看到这段代码的时候,…
Doug Lea在J.U.C包里面写的BUG又被网友发现了
一个编号为 8073704 的 JDK BUG,将串联起我的这篇文章。 也就是下面的这个链接。 这个 BUG 在 JDK 9 版本中进行了修复。也就是说,如果你用的 JDK 8,也许会遇到这样的问题。 这个 BUG 说:FutureTask.isDone 方法在任务还没有完成的…
关于多线程中抛异常的这个面试题我再说最后一次!
我一年前写过这篇文章《有的线程它死了,于是它变成一道面试题》,这是早期作品,遣词造句,排版行文都有一点稚嫩,但是不知咋地,还是有很多人看过。 甚至已经进入了某网红公司的面试题库里面。 所以我后面应该会重写一下,翻新翻新,再补充一点新的东西进去。 这个题是我遇到的一个真实的面试题…
why哥被阿里一道基础面试题给干懵了,一气之下写出万字长文。
大家好,我是 why,欢迎来到我连续周更优质原创文章的第 65 篇。老规矩,先荒腔走板聊聊技术之外的东西。 上面这图是去年的成都马拉松赛道上,摄影师抓拍的我。哎,真是阳光向上的 95 后帅小伙啊。 今年由于疫情原因,上半年的马拉松比赛全部停摆了。今年可能也没有机会再跑一次马拉松…
why哥这里有一道Dubbo高频面试题,请查收。
大家好,我是 why,欢迎来到我连续周更优质原创文章的第 64 篇。老规矩,先荒腔走板聊聊其他的。 上面这图是我之前拼的一个拼图。 我经常玩拼图,我大概拼了 50 副左右的 1000 个小块的拼图,但是玩的都是背后有字母或者数字分区提醒的那种,最快纪录是一天拼完一副 1000 …
笑了,面试官问我知不知道异步编程的Future。
大家好,我是 why,欢迎来到我连续周更优质原创文章的第 60 篇。 老规矩,先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩。 上面这图是我五年前,在学校宿舍拍的。 前几天由于有点事情,打开了多年没有打开的 QQ。然后突然推送了一个“那年今日”发送的动态。 这张图片就是那个…
下一页