上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要: 前言 面试的时候被问到ThreadLocal的相关知识,没有回答好(奶奶的,现在感觉问啥都能被问倒),所以我决定先解决这几次面试中都遇到的高频问题,把这几个硬骨头都能理解的透彻的说出来了,感觉最起码不能总是一轮游。 ThreadLocal介绍 ThreadLocal是JDK1.2开始就提供的一个用来 阅读全文
posted @ 2020-09-10 23:08 纪莫 阅读(1167) 评论(0) 推荐(2) 编辑
摘要: 前言 之前在面试的过程中有被问到,ConcurrentHashMap的size方法是线程安全的吗? 这个问题,确实没有答好。这次来根据源码来了解一下,具体是怎么一个实现过程。 ConcurrentHashMap的原理与结构 我们都知道Hash表的结构是数组加链表,就是一个数组中,每一个元素都是一个链 阅读全文
posted @ 2020-09-07 10:25 纪莫 阅读(2475) 评论(0) 推荐(3) 编辑
摘要: 前言 在面试的时候这两年有一个非常高频的关于spring的问题,那就是spring是如何解决循环依赖的。这个问题听着就是轻描淡写的一句话,其实考察的内容还是非常多的,主要还是考察的应聘者有没有研究过spring的源码。但是说实话,spring的源码其实非常复杂的,研究起来并不是个简单的事情,所以我们 阅读全文
posted @ 2020-08-25 23:55 纪莫 阅读(2614) 评论(2) 推荐(6) 编辑
摘要: 前言 最近在面试,有被问到,MySQL的InnoDB引擎是如何实现事务的,又或者说是如何实现ACID这几个特性的,当时没有答好,所以自己总结出来,记录一下。 事务的四大特性ACID 事务的四大特性ACID分别是,A-原子性(Atomicity),C-一致性(Consistency),I-隔离性(Is 阅读全文
posted @ 2020-08-19 11:31 纪莫 阅读(2342) 评论(0) 推荐(8) 编辑
摘要: 前言 从JDK5到JDK6HotSpot虚拟机开发团队花费了大量的资源实现了各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(LightEight Locking)、偏向锁(Biased 阅读全文
posted @ 2020-07-26 08:58 纪莫 阅读(575) 评论(1) 推荐(1) 编辑
摘要: 前言 我们在编写程序的时候,一般是有个顺序的,就是先实现再优化,并不是所有的牛P程序都是一次就写出来的,肯定都是不断的优化完善来持续实现的。因此我们在考虑实现高并发程序的时候,要先保证并发的正确性,然后在此基础上来实现高效。所以线程安全是高并发程序首先需要保证的。 线程安全定义 对于线程安全的定义可 阅读全文
posted @ 2020-07-15 23:48 纪莫 阅读(747) 评论(0) 推荐(1) 编辑
摘要: 前言 我们都知道,线程是比进程更轻量级的调度执行单位,线程的引入,可以把一个进程的资源分配和执行调度分开,各个线程既可以共享进程资源调度(内存地址、文件I/O等),又可以独立调度。 线程的实现 主流的操作系统都提供了线程实现,Jav语言则是提供了在不同硬件和操作系统平台下对线程操作的统一处理,每个已 阅读全文
posted @ 2020-07-11 13:59 纪莫 阅读(3886) 评论(2) 推荐(3) 编辑
摘要: 前言 Java内存模型(Java Memory Model)用来屏蔽各种硬件和操作系统的内存访问差异,这使得Java能够变得非常灵活而不用考虑各系统间的兼容性等问题。定义Java内存模型并非一件容易的事情,从Java出生开始经过长时间的验证和修补,直至JDK5发布后Java内存模型才终于成熟、完善起 阅读全文
posted @ 2020-07-09 08:13 纪莫 阅读(640) 评论(0) 推荐(1) 编辑
摘要: 前言 JDK9引入的Java模块化系统(Java Platform Module System ,JPMS)是 对Java技术的一次重要升级,除了像之前JAR包那样充当代码的容器之外,还包括: 依赖其他模块的列表。 导出的包列表,即其他模块可以使用的列表。 开放的包列表,即其他模块可反射访问模块的列 阅读全文
posted @ 2020-07-01 08:20 纪莫 阅读(1108) 评论(0) 推荐(0) 编辑
摘要: 前言 上一篇我们介绍到一个类的生命周期大概分7个阶段:加载、验证、准备、解析、初始化、使用、卸载。并且也介绍了类的加载时机,下面我们将介绍一下虚拟机中类的加载的全过程。主要是类生命周期的,加载、验证、准备、解析和初始化这五个阶段所执行的具体动作。 加载 类加载过程的第一个阶段就是加载,在加载阶段,J 阅读全文
posted @ 2020-06-27 15:13 纪莫 阅读(740) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 11 下一页