分类:菜鸟程序猿的求生之路

6 篇文章

JVM知识点总结(一)
本文内容仅包括JVM区域、JMM、GC。其中HotSpot的算法细节暂跳过,Shenandoah GC和ZGC较为省略。后续开坑,并且还有关于类的加载,程序编译等也会陆续补上。 Java运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范 SE8》可以划分为以下区域: 程序计…
浅谈分布式事务那些事
本篇文章我们重点讨论关于分布式事务的一些相关知识点。这是学习分布式系统的一个必不可少的技术。我们最常见的案例就是银行转账问题,A账户向B账户转100元,那么A账户余额要减少100,B账户上要增加100。两个步骤必须都要成功才算成功,只成功一个的话应当回滚掉。如果A和B不在同一个环境或者系统上,这个事务就是分布式事务了,那么在这种情况下,如何保证事务…
Spring源码分析(二)如何解决循环依赖
在上一篇Spring源码分析中,我们跳过了一部分关于Spring解决循环依赖部分的代码,为了填上这个坑,我这里另开一文来好好讨论下这个问题。 首先解释下什么是循环依赖,其实很简单,就是有两个类它们互相都依赖了对方,如下所示: @Component public class AService { @Autowired private BService…
Spring源码分析(一) 从Spring Bean的生命周期谈起
Spring Bean的生命周期真的是面试的时候关于Spring的最高频的考点之一了,笔者曾经被这个问题问懵了不止一次,一直记不住那一大串的步骤,但实际上尝试去死记硬背那些步骤的我是错误的,表面上看只是背诵一个流程,实际上,这个流程牵扯到的知识点可是很多而且很有意思的。 下面这个图我想很多人应该都看过相同的或者相似的: 看起来还是挺长的对吧,但是我…
实现分布式锁的各种姿势
各位Javaer都对锁应该都是不陌生的,无论工作还是面试的时候,都是很常见的。不过对于大部分的小型的项目,也就是单机应用,基本都是使用Java的juc即可应对,但是随着应用规模的扩大,在分布式系统中,依靠着诸如syncronized,lock这些就无法应对了。那么本文就是来给大家唠嗑唠嗑在分布式系统中常见的几种实现分布式锁的方式。 数据库方式实现分…
谈谈Map
作为Javaer,对于Map这个单词绝对不会陌生,无论是开发过程中还是出去面试的时候,都会经常遇到,而最频繁使用和面试提问的无非这么几个,HashMap, HashTable, ConcurrentHashMap。那么本文就针对这几个知识点做一个归纳和总结。 从HashMap说起 HashMap是上面提到的几个Map中使用频率最高的了,毕竟需要考虑…