跨年巨作!13万字!腾讯高工手写JDK源码笔记 带你飙向实战
灵魂一问,我们为什么要学习JDK源码? 当然不是为了装,毕竟谁没事找事虐自己 … 1、面试跑不掉。现在只要面试Java相关的岗位,肯定或多或少会会涉及JDK源码相关的问题。 2、弄懂原理才不慌。我们作为JDK的使用者…
程序员屌丝的聚集地
灵魂一问,我们为什么要学习JDK源码? 当然不是为了装,毕竟谁没事找事虐自己 … 1、面试跑不掉。现在只要面试Java相关的岗位,肯定或多或少会会涉及JDK源码相关的问题。 2、弄懂原理才不慌。我们作为JDK的使用者…
写在前面 写这篇文章的背景是有个跟我关系不错的小伙伴去某大型互联网公司面试,面试官问了他关于分布式事务的问题,不巧的是他确实对分布式事务掌握的不是很深入,面试的结果挺遗憾的。不过,这位小伙伴还是挺乐…
前言 为何要使用Java线程同步? Java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时,将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,…
本文收录在 GitHub 地址 https://github.com/chengxy-nds/Springboot-Notebook 一、什么是限流?为什么要限流? 不知道大家有没有做过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就…
前言 只有光头才能变强 之前已经写过多线程相关的文章了,有兴趣的同学可以去了解一下: https://github.com/ZhongFuCheng3y/3y/blob/master/src/thread.md 在阅读《阿里巴巴 Java开发手册》读后感时,还有未解决…
1 前言 WaitGroup是Golang应用开发过程中经常使用的并发控制技术。 WaitGroup,可理解为Wait-Goroutine-Group,即等待一组goroutine结束。比如某个goroutine需要等待其他几个goroutine全部完成,那么使用WaitGro…
针对Golang 1.9的sync.Mutex进行分析,与Golang 1.10基本一样除了将`panic`改为了`throw`之外其他的都一样。 源代码位置:`sync\mutex.go`。 可以看到注释如下: “` Mutex can be in 2 modes of operations: normal and starvation. In normal mode waiters are queued in FIFO order, but a woken up waiter does not o…
golang value并发安全的另一种玩法,就是使用atomic.Value,看一段代码。 package main import ( “sync” “sync/atomic” “time” ) func main() { var m atomic.Value type Map map[string]string m.Store(……
在计算机虚拟内存的概念中,页、内存页或者虚拟页是指内存中的一段固定长度的块,这个内存块在物理地址和虚拟内存地址上都是连续的。一个页通常是以下操作的最小单元: 操作系统为程序分配空间; 内存和外存传输,…