1560195324766884_社区达人页

个人头像照片
1560195324766884
已加入开发者社区2042

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
开发者认证勋章
开发者认证勋章
个人头像照片
初入江湖
初入江湖

成就

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

我关注的人 更多

技术能力

兴趣领域
擅长领域
  • Java
    高级

    能力说明:

    精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。

技术认证

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

暂无个人介绍

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

2022年07月

  • 07.01 11:11:52
    发表了文章 2022-07-01 11:11:52

    从-1开始实现一个中间件

    别人都写从0开始实现xxx,我先从-1开始就显得更牛逼一些。 今天,先开个头,来教大家怎么实现一个中间件。
  • 07.01 10:24:05
    发表了文章 2022-07-01 10:24:05

    博客抽风了,为了这又浪费了我宝贵的一天!

    一开始博客使用的 Halo,发现问题比较多啊,时不时的莫名其妙主题各种报错,有时候还要升级,麻烦的要死,于是就想弄简单点。 这两天抽空反复倒腾了一遍,不小心还把镜像给删了,发的文章都没了,痛定思痛,要做改变! 众所周知,我懒出名了,我觉得这种事情你不要老是让我操心啊,最好是一年都不要动一下才好,这搞的跟什么一样。 研究一会儿,最终还是决定 docsify+github 来弄,初步的想法是本地写好 MD 文件直接 push 到 github上,然后触发 github 的webhook,触发脚本去 pull 代码到服务器上。
  • 07.01 10:22:14
    发表了文章 2022-07-01 10:22:14

    Eureka服务下线太慢,电话被告警打爆了

    某年某月的某一天,就像一张破碎的脸。。。 错了,重来。 某天,忽然发现大量的告警,经过多番调查研究考察(此处省略3000字),发现是由于 Eureka 服务下线太慢,而仍然有大量的请求打进来导致的报错。 于是,又经过了大量详细周密的考察和研究,终于找到了问题并且解决了(此处省略5000字)。 全文完。 ... ... 好了,那是不可能的啦,怎么说也要意思一下写个300字凑个原创啊
  • 07.01 10:16:33
    发表了文章 2022-07-01 10:16:33

    并发编程从入门到放弃系列开始和结束(五)

    对于 Java 部分的面试来说,突然想到并发这一块的内容是不太完整的,这篇文章会通篇把多线程和并发都大致阐述一遍,至少能够达到了解原理和使用的目的,内容会比较多,从最基本的线程到我们常用的类会统一说一遍,慢慢看。
  • 07.01 10:06:42
    发表了文章 2022-07-01 10:06:42

    并发编程从入门到放弃系列开始和结束(四)

    对于 Java 部分的面试来说,突然想到并发这一块的内容是不太完整的,这篇文章会通篇把多线程和并发都大致阐述一遍,至少能够达到了解原理和使用的目的,内容会比较多,从最基本的线程到我们常用的类会统一说一遍,慢慢看。
  • 07.01 09:45:40
    发表了文章 2022-07-01 09:45:40

    并发编程从入门到放弃系列开始和结束(三)

    对于 Java 部分的面试来说,突然想到并发这一块的内容是不太完整的,这篇文章会通篇把多线程和并发都大致阐述一遍,至少能够达到了解原理和使用的目的,内容会比较多,从最基本的线程到我们常用的类会统一说一遍,慢慢看。
  • 07.01 09:36:07
    发表了文章 2022-07-01 09:36:07

    并发编程从入门到放弃系列开始和结束(二)

    对于 Java 部分的面试来说,突然想到并发这一块的内容是不太完整的,这篇文章会通篇把多线程和并发都大致阐述一遍,至少能够达到了解原理和使用的目的,内容会比较多,从最基本的线程到我们常用的类会统一说一遍,慢慢看。

2022年06月

  • 06.29 12:44:57
    发表了文章 2022-06-29 12:44:57

    并发编程从入门到放弃系列开始和结束(一)

    对于 Java 部分的面试来说,突然想到并发这一块的内容是不太完整的,这篇文章会通篇把多线程和并发都大致阐述一遍,至少能够达到了解原理和使用的目的,内容会比较多,从最基本的线程到我们常用的类会统一说一遍,慢慢看。
  • 06.29 12:07:06
    发表了文章 2022-06-29 12:07:06

    花了两小时体验IDEA最新史诗皮肤!

    至于为什么要用最新的版本呢,2022.1我也下载试了一下,发现还是有一些不一样的,主要就是这个顶部的菜单栏还是不一样,另外就是其他版本是没有这个最新的 New Dark 配色的,只有EAP版本才有,如果实在要用的话,只能去EAP版本导入到低版本去,这样也可以。
  • 06.29 12:02:12
    发表了文章 2022-06-29 12:02:12

    Sentinel集群限流探索

    最近看了下关于分布式限流的部分,看到Sentinel的分布式限流,也就是集群限流的部分,想搭个环境看看,结果发现网上关于这方面的内容基本可以说没有,你甚至很难跑起来他的demo,就算能跑起来,估计也得自己研究半天,麻烦的要死。 我猜测很重要的原因可能就是Sentinel关于这块做的并不完善,而且从官方的Issue中能看出来,其实官方对于这块后续并没有计划去做的更好。 那么废话不多说,在此之前,肯定要先说下关于Sentinel集群限流方面的原理,没有原理一切都是空中楼阁。
  • 06.29 11:51:54
    发表了文章 2022-06-29 11:51:54

    Maven Archetype 多 Module 自定义代码脚手架

    大部分公司都会有一个通用的模板项目,帮助你快速创建一个项目。通常,这个项目需要集成一些公司内部的中间件、单元测试、标准的代码格式、通用的代码分层等等。
  • 06.29 11:45:58
    发表了文章 2022-06-29 11:45:58

    又碰到一个奇葩的BUG​,注意标题

    问题到这里其实很清晰了,前后端在注册的时候肯定遗漏了这个校验的逻辑,补上即可。
  • 06.29 11:42:10
    发表了文章 2022-06-29 11:42:10

    《我想进大厂》之kafka夺命连环11问

    kafka是一个流式数据处理平台,他具有消息系统的能力,也有实时流式数据处理分析能力,只是我们更多的偏向于把他当做消息队列系统来使用。
  • 06.29 11:36:04
    发表了文章 2022-06-29 11:36:04

    没想到,为了一个限流我写了1万字!

    限流作为现在微服务中常见的稳定性措施,在面试中肯定也是经常会被问到的,我在面试的时候也经常喜欢问一下你对限流算法知道哪一些?有看过源码吗?实现原理是什么?
  • 06.29 11:30:13
    发表了文章 2022-06-29 11:30:13

    上线了上线了,我的博客上线了!

    搞了半天总算把博客给弄好了,域名备案因为过期了所以暂时只能用IP访问了,http://120.55.164.9/,分享一下搭建环境的过程。
  • 06.29 11:21:25
    发表了文章 2022-06-29 11:21:25

    说下你可能没用过的EventBus

    一般情况下,我们会做成异步的方式,使用MQ自己发送自己消费,或者说一个线程池搞定,这样的话不影响主业务逻辑,可以提高性能,并且代码做到了解耦。
  • 06.29 11:09:01
    发表了文章 2022-06-29 11:09:01

    索引下推,这个点你肯定不知道!

    索引下推(Index Condition Pushdown) ICP 是Mysql5.6之后新增的功能,主要的核心点就在于把数据筛选的过程放在了存储引擎层去处理,而不是像之前一样放到Server层去做过滤。 虽然这是一个比较简单的概念,但是可能很多不细心的同学对于索引下推会存在一个小小的误区,至于是什么,请看下文。
  • 06.29 11:05:51
    发表了文章 2022-06-29 11:05:51

    拿捏!隔离级别、幻读、Gap Lock、Next-Key Lock

    前面我写了很多Mysql相关的知识点,到这一篇稍微可以串一下了,从SQL执行流程、MVCC到锁,很多时候可能觉得对于间隙锁和Next-Key Lock好像已经理解了,但是好像又觉得理解差那么一点意思,这篇文章从头来梳理一下概念,明确一下这些知识。
  • 06.29 11:01:33
    发表了文章 2022-06-29 11:01:33

    面试官:你说说一条更新SQL的执行过程?

    在上一篇《面试官:你说说一条查询SQL的执行过程?》中描述了Mysql的架构分层,通过解析器、优化器和执行引擎完成一条SQL查询的过程,那这一篇续上继续说明一条更新SQL的执行过程。
  • 06.29 10:58:45
    发表了文章 2022-06-29 10:58:45

    听说你对explain 很懂?

    explain所有人都应该很熟悉,通过它我们可以知道SQL是如何执行的,虽然不是100%管用,但是至少大多数场景通过explain的输出结果我们能直观的看到执行计划的相关信息。
  • 06.29 10:49:27
    发表了文章 2022-06-29 10:49:27

    面试官:你说说一条查询SQL的执行过程?

    为了理解这个问题,先从Mysql的架构说起,对于Mysql来说,大致可以分为3层架构。
  • 06.29 10:46:23
    发表了文章 2022-06-29 10:46:23

    SQL要快:记一次慢SQL优化

    记一次慢SQL优化
  • 06.29 10:42:01
    发表了文章 2022-06-29 10:42:01

    不管卷不卷,面试还是得问问你G1原理!

    所有的垃圾回收器的目的都是朝着减少STW的目的而前进,G1(Garbage First)回收器的出现颠覆了之前版本CMS、Parallel等垃圾回收器的分代收集方式,从2004年Sun发布第一篇关于G1的论文后,直到2012年JDK7发布更新版本,花了将近10年的时间G1才达到商用的程度,而到JDK9发布之后,G1成为了默认的垃圾回收器,CMS也变相地相当于被淘汰了。
  • 06.29 10:36:10
    发表了文章 2022-06-29 10:36:10

    现在已经卷到需要问三色标记了吗?

    曾经,我以为这些东西自己平时看看书就够了,属于那种花了半天精力总算搞明白了,然后过两天就自然忘记的东西。 结果,这都啥啊,啥是卡表,什么又是三色标记法,这些鬼问题都有人面试问,卷就完了。
  • 06.29 10:27:57
    发表了文章 2022-06-29 10:27:57

    痛!痛!痛!我们的好兄弟Git,一路走好!

    文章是正经文章,标题不要在意,哈哈
  • 06.29 10:20:26
    发表了文章 2022-06-29 10:20:26

    一个单例还能写出花来吗?

    单例可以说是最简单的一个设计模式了,单例模式要求只能创建一个对象实例。通常的写法是声明私有的构造函数,提供静态方法获取单例的对象实例。 常见的单例写法就是饿汉式、懒汉式、双重加锁验证、静态内部类和枚举的方式,写法可能大家都知道,不过针对不同的写法还是有可以继续深挖一下的地方,让我们从最简单的几种写法开始回顾单例,不想看前面的话直接往后翻好了。
  • 06.29 10:11:47
    发表了文章 2022-06-29 10:11:47

    为什么数据库字段要使用NOT NULL?

    最近刚入职新公司,发现数据库设计有点小问题,数据库字段很多没有NOT NULL,对于强迫症晚期患者来说,简直难以忍受,因此有了这篇文章。
  • 06.29 10:05:11
    发表了文章 2022-06-29 10:05:11

    修正版 | QPS过万,Redis大量连接超时怎么解决?

    之前负责的一个服务总是在高峰时刻和压测发生大量的redis连接超时的异常redis.clients.jedis.exceptions.JedisConnectionException,根据原有的业务规则,首先会从数据库查询,然后缓存到redis中,超时时间设置为3分钟。 并且由于业务的特性,本身未做降级、限流等处理措施,而在巅峰的QPS基本上快达到20000的样子,虽然这个现象只是单纯的一个异常,并不会导致整个主链路的流程不可用,但是我们还是要找出问题的原因并且解决。
  • 06.29 10:03:05
    发表了文章 2022-06-29 10:03:05

    一年搞3次Iterm2美化,我吐了!

    众所周知,Mac上肯定几乎没啥人用原生的Terminal终端,大部分人的选择基本上都是Iterm2了。 但是,Iterm2原皮也不太好看,所以就有了一堆美化的教程。 而对我来说,换电脑太频繁了,公司的电脑、自己的电脑,还不让迁移,每次重新配置一次简直头疼,我要到处又重新搜一遍教程,中间配置各种报错那真是太普遍了。 因此,这篇文章出来之后,我就希望以后再也不用到网上各种搜索加上一堆恶心的配置了。
  • 06.29 09:55:41
    发表了文章 2022-06-29 09:55:41

    修正版 | 面对千万级、亿级流量怎么处理?

    这是之前发过的一篇文章,写完之后小问题挺多的,于是还是重新改一版。
  • 06.29 09:45:59
    发表了文章 2022-06-29 09:45:59

    阿里二面:什么是mmap?

    平时在面试中你肯定会经常碰见的问题就是:RocketMQ为什么快?Kafka为什么快?什么是mmap? 这一类的问题都逃不过的一个点就是零拷贝,虽然还有一些其他的原因,但是今天我们的话题主要就是零拷贝。
  • 06.29 09:42:18
    发表了文章 2022-06-29 09:42:18

    《我想进大厂》之分布式锁夺命连环9问

    对于一个单机的系统,我们可以通过synchronized或者ReentrantLock等这些常规的加锁方式来实现,然而对于一个分布式集群的系统而言,单纯的本地锁已经无法解决问题,所以就需要用到分布式锁了,通常我们都会引入三方组件或者服务来解决这个问题,比如数据库、Redis、Zookeeper等。
  • 06.29 09:32:14
    发表了文章 2022-06-29 09:32:14

    真实字节二面:什么是伪共享?

    这个问题来自最近一个朋友字节面试碰到的,最后他也成功拿到了字节offer,这个问题我想可能挺多人不太清楚,所以想拿出来单独说一说。 好了,让我们进入正题。
  • 06.29 09:27:28
    发表了文章 2022-06-29 09:27:28

    关于MVCC,我之前写错了,这次我改好了!

    关于MVCC的原理,在《我想进大厂》之mysql夺命连环13问写过一次,但是当时写的其实并不准确,这个理解可以应付面试,帮助快速理解,但是他的真正实现原理我想再次拿出来说一说。
  • 06.29 09:20:54
    发表了文章 2022-06-29 09:20:54

    《我想进大厂》之Zookeeper夺命连环9问

    Zookeeper是一个开源的分布式协调服务,由雅虎公司创建,由于最初雅虎公司的内部研究小组的项目大多以动物的名字命名,所以后来就以Zookeeper(动物管理员)来命名了,而就是由Zookeeper来负责这些分布式组件环境的协调工作。
  • 06.29 09:15:18
    发表了文章 2022-06-29 09:15:18

    《我想进大厂》之分布式事务篇

    对于分布式事务,相信所有人都应该很了解,为什么会有分布式事务?无论是数据量导致的分库,还是现在微服务盛行的场景都是他出现的原因。
  • 06.29 09:07:45
    发表了文章 2022-06-29 09:07:45

    听过闰年闰月,可你听过闰秒吗?

    闰年闰月大家都知道,可是你听说过闰秒这回事情吗?
  • 06.29 09:03:21
    发表了文章 2022-06-29 09:03:21

    最近线上发生的两个坑爹锅!

    最近由于在技改,发生了不少问题,前文中说的缓存穿透只是其中之一,想了想,虽然都是比较简单的问题,但是应该实际中还是有不少人碰到过,这些问题看似很简单,但是你绝对应该踩过。
  • 06.28 23:14:06
    发表了文章 2022-06-28 23:14:06

    没人告诉过你更复杂的缓存穿透怎么解决

    你应该从网上看过太多的文章说缓存穿透怎么解决?无非就是布隆过滤器,缓存空值什么的。 但是,更深入的一个问题,缓存空值有没有问题?如果缓存的空值太多怎么办? 如果用的redis,那么太多的空值会不会打爆你的redis?如果用的本地缓存,会不会打爆你的内存?继而引发的问题就是还是会打爆你的数据库。
  • 06.28 23:11:31
    发表了文章 2022-06-28 23:11:31

    面试官:数据库自增ID用完了会怎么样?

    看到这个问题,我想起当初玩魔兽世界的时候,25H难度的脑残吼的血量已经超过了21亿,所以那时候副本的BOSS都设计成了转阶段、回血的模式,因为魔兽的血量是int型,不能超过2^32大小。 估计暴雪的设计师都没想到几个资料片下来血量都超过int上限了,以至于大家猜想才会有后来的属性压缩。 这些都是题外话,只是告诉你数据量大了是有可能达到上限的而已,回到Mysql自增ID上限的问题,可以分为两个方面来说。
  • 06.28 23:05:49
    发表了文章 2022-06-28 23:05:49

    《我想进大厂》之网络篇夺命连环12问

    《我想进大厂》之网络篇夺命连环12问
  • 06.28 22:59:40
    发表了文章 2022-06-28 22:59:40

    面试官:缓存一致性问题怎么解决?

    关于Redis的其他的一些面试问题已经写过了,比如常见的缓存穿透、雪崩、击穿、热点的问题,但是还有一个比较麻烦的问题就是如何保证缓存一致性。
  • 06.28 22:56:01
    发表了文章 2022-06-28 22:56:01

    我摊牌了,大厂面试Linux就这5个问题

    说真的,这就是《我想进大厂》系列第八篇,但是Linux的问题确实很少,就这样,强行编几个没有营养的问题也没啥意义。
  • 06.28 22:48:01
    发表了文章 2022-06-28 22:48:01
  • 06.28 22:39:21
    发表了文章 2022-06-28 22:39:21

    一次群聊引发的血案

    就在不久前,读者群因为一个提问引发了激烈的讨论!
  • 06.28 22:21:36
    发表了文章 2022-06-28 22:21:36

    3分钟学个算法:链表反转

    3分钟学个算法:链表反转
  • 发表了文章 2022-07-01

    从-1开始实现一个中间件

  • 发表了文章 2022-07-01

    博客抽风了,为了这又浪费了我宝贵的一天!

  • 发表了文章 2022-07-01

    Eureka服务下线太慢,电话被告警打爆了

  • 发表了文章 2022-07-01

    并发编程从入门到放弃系列开始和结束(五)

  • 发表了文章 2022-07-01

    并发编程从入门到放弃系列开始和结束(四)

  • 发表了文章 2022-07-01

    并发编程从入门到放弃系列开始和结束(三)

  • 发表了文章 2022-07-01

    并发编程从入门到放弃系列开始和结束(二)

  • 发表了文章 2022-06-29

    并发编程从入门到放弃系列开始和结束(一)

  • 发表了文章 2022-06-29

    花了两小时体验IDEA最新史诗皮肤!

  • 发表了文章 2022-06-29

    Sentinel集群限流探索

  • 发表了文章 2022-06-29

    Maven Archetype 多 Module 自定义代码脚手架

  • 发表了文章 2022-06-29

    又碰到一个奇葩的BUG​,注意标题

  • 发表了文章 2022-06-29

    《我想进大厂》之kafka夺命连环11问

  • 发表了文章 2022-06-29

    没想到,为了一个限流我写了1万字!

  • 发表了文章 2022-06-29

    上线了上线了,我的博客上线了!

  • 发表了文章 2022-06-29

    说下你可能没用过的EventBus

  • 发表了文章 2022-06-29

    索引下推,这个点你肯定不知道!

  • 发表了文章 2022-06-29

    拿捏!隔离级别、幻读、Gap Lock、Next-Key Lock

  • 发表了文章 2022-06-29

    面试官:你说说一条更新SQL的执行过程?

  • 发表了文章 2022-06-29

    听说你对explain 很懂?

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