Java教程

2021年12月1日30道面试题

本文主要是介绍2021年12月1日30道面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.ThreadLocal的作用和原理以及使用场景?

  threadlocal是线程本地变量,它为每一个线程创建一个变量副本,来解决并发冲突问题

  在jdk1.8以之前,每个threadlocal实例维护一个map,每个线程作为key,value保存的就是变量副本

  在jdk1.8,改为每个Thread中维护一个threadlocalMap,threadlocal作为key,value保存变量副本

  这样设计,threadLocalMap中的键值对数量就取决于threadlocal实例的数量,提高了访问效率。当线程被销毁,threadlocalMap也会随之销毁,减少了内存的消耗

  使用场景:

  spring security中,我们使用SecurityContextHolder来获取SecurityContext,

​   比如在springMVC中,我们通过RequestContextHolder来获取当前请求,

​   比如在 zuul中,我们通过ContextHolder来获取当前请求

这篇关于2021年12月1日30道面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!