E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
POCO源码解析
ThreadLocal
源码解析
以及常见面试题
ThreadLocal
源码解析
ThreadLocalMapThreadLocalMap属于ThreadLocal的一个静态内部类publicclassThreadimplementsRunnable{ThreadLocal.ThreadLocalMapthreadLocals
成豆o((⊙﹏⊙))o.
·
2023-12-29 17:37
源码
java
面试
jvm
Java ThreadLocal
源码解析
有图有真相
前言今天来发第一个源码相关的博客。先发个最简单的ThreadLocal试试水吧...大佬轻喷经常遇到的问题ThreadLocal了解吗弱引用说一下ThreadLocal会造成内存泄漏吗...之前刷面经经常看到这些问题,所以自己看了一下JDK1.8的ThreadLocal的实现。最近正好复习,把之前没写的博客补上正文看源码很容易一头雾水,觉得不知道我在说什么的往下翻,有一张processOn做的图,
xiaoy990
·
2023-12-29 17:37
java
jdk
Java ThreadLocal
源码解析
: Thread和ThreadLocal
之前对TreadLocal有所理解,对原理也有所了解,但一直不深入,重新整理,希望借以加深理解和印象。在Jdk1.8中,ThreadLocal相关代码主要分为三部分:Thread,其中Thread中保存对ThreadLocal.ThreadLocalMap的引用,作为Thread类的default属性;ThreadLocal,类似于线程中的T和readLocal.ThreadLocalMap的管理
0li0
·
2023-12-29 17:04
Java
ThreadLocal
ThreadLocal
源码解析
(1)
大家想必平时在工作中都或多或少的用到过ThreadLocal,应用场景也是多种多样,今天我们来看一下源码大致是怎么实现的从set方法开始,set方法的作用就是设置一个线程变量,让ThreadLocal管辖publicvoidset(Tvalue){Threadt=Thread.currentThread();//获取当前线程ThreadLocalMapmap=getMap(t);//通过当前线程获
新world
·
2023-12-29 17:04
并发编程
java
Java8 ThreadLocal
源码解析
前言ThreadLocal,像是一个神秘的黑衣人,令人望而生畏。唯有下定决心,一探究竟,方能解开他神秘的面纱、在Android中,Handler,EventBus,ConnectionPool等等,都曾出现它的身影是什么东西?看到Thread,就想到应该是与线程有关吧,其次,Local是说本地,那组合起来就是线程私有,就是说每个线程都有备份,各备份不是同一个对象,一般来说,他的用途就是让各个线程拥
为战而生_C
·
2023-12-29 17:03
Java
Java
Java ThreadLocal用法以及源码详解
一、ThreadLocal简介二、ThreadLocal类图如下三、ThreadLocal
源码解析
四、ThreadLocal的内存泄露五、附录本文主要内容为:1.演示ThreadLocal的用法2.
源码解析
_yosemite
·
2023-12-29 17:33
java
java
ThreadLocal
内存泄漏
Java ThreadLocal
源码解析
前言ThreadLocal是Java语言中的一个类,可以使用它为每个线程存储数据。这些数据只能被当前线程访问,而其他线程无法访问。这个类可以用于避免多次传递、线程间数据隔离、事务操作等场景。本次源码分析基于JDK21.0.1。ThreadLocal使用简介基本操作使用ThreadLocal时,可以将数据存储在一个特殊的对象中,这个对象会被自动关联到当前线程。例如,可以使用以下代码创建一个Threa
ethannotlazy
·
2023-12-29 17:02
Java
java
python
开发语言
Java ThreadLocal
源码解析
本文是对JavaThreadLocal(Java8)的源码的解析,对ThreadLocal基本使用还不了解的朋友可先快速学习ThreadLocal后再来阅读本文。set方法set方法可以让多个线程保存同一变量的副本。基本使用代码如下:threadLocal.set(data);那么为什么ThreadLocal可以起到线程隔离的作用呢?这就要进入set方法源码一探究竟了。publicvoidset(
PYJTLK
·
2023-12-29 17:02
源码解析
ThreadLocal
java
多线程
(Spring学习11)Spring之事务底层
源码解析
@EnableTransactionManagement工作原理开启Spring事务本质上就是增加了一个Advisor,但我们使用@EnableTransactionManagement注解来开启Spring事务是,该注解代理的功能就是向Spring容器中添加了两个Bean:AutoProxyRegistrarProxyTransactionManagementConfigurationAutoP
ZGOOD9527
·
2023-12-29 13:45
spring
学习
java
(Spring学习09)Spring之整合Mybatis底层
源码解析
整合核心思路很多框架都需要和Spring进行整合,而整合的核心思想就是把其他框架所产生的对象放到Spring容器中,让其成为Bean。比如Mybatis,Mybatis框架可以单独使用,而单独使用Mybatis框架就需要用到Mybatis所提供的一些类构造出对应的对象,然后使用该对象,就能使用到Mybatis框架给我们提供的功能,和Mybatis整合Spring就是为了将这些对象放入Spring容
ZGOOD9527
·
2023-12-29 13:15
spring
学习
mybatis
(Spring学习10)Spring之AOP底层
源码解析
动态代理代理模式的解释:为其他对象提供一种代理以控制对这个对象的访问,增强一个类中的某个方法,对程序进行扩展。比如,现在存在一个UserService类:publicclassUserService{publicvoidtest(){System.out.println("test...");}}此时,我们new一个UserService对象,然后执行test()方法,结果是显而易见的。如果我们现
ZGOOD9527
·
2023-12-29 13:15
spring
学习
java
Handler.postDelayed的原理
源码解析
首先来看看handler里面是怎么处理postDelayed的
嘉伟咯
·
2023-12-29 10:07
源码解析
:mybatis调用链之XMLStatementBuilder解析解析sql语句节点
该过程由XMLMapperBuilder的configurationElement方法触发:XMLMapperBuilderprivatevoidconfigurationElement(XNodecontext){try{//获取mapper节点的namespace属性Stringnamespace=context.getStringAttribute("namespace");if(names
超域
·
2023-12-29 09:20
mybatis
源码解析
:mybatis调用链之执行sql语句并返回结果(一级缓存和二级缓存解析)
此流程以一个调用例子为说明,如下TUseruser=mapper.selectByPrimaryKey(1);在mapper(代理对象)调用方法时,进入MapperProxy的invoke方法,MapperProxy@OverridepublicObjectinvoke(Objectproxy,Methodmethod,Object[]args)throwsThrowable{try{if(Obj
超域
·
2023-12-29 09:50
mybatis
sql
缓存
源码解析
:mybatis调用链之获取sqlSession
SqlSession通过SqlSessionsqlSession=sqlSessionFactory.openSession();获取SqlSession实例,DefaultSqlSessionFactorypublicSqlSessionopenSession(){returnopenSessionFromDataSource(configuration.getDefaultExecutorTy
超域
·
2023-12-29 09:37
mybatis
Framwork
源码解析
(4)_ActivityManagerService(AMS)启动流程(8.0)
ActivityManagerService简介ActivityManagerService简称AMS,具有管理Activity行为、控制Activity的生命周期、派发消息事件、内存管理等功能。查看AMS源码之前一定要先看一下前文System_Server进程启动过程:https://blog.csdn.net/u010982507/article/details/104123531以下源码为8
ruiurrui
·
2023-12-29 04:54
Android
AMS启动流程
如何像TypeScript巫师一样使用VSCode
Matt
Poco
ck就是这样一位TypeScript巫师,他帮助人们在更深层次上构建这种理解。
文本魔术
·
2023-12-29 00:55
typescript
vscode
Lifecycle
源码解析
Lifecycle-Aware是Google官方的生命周期感知组件。同时,在Google推出的AndroidJetpack组件中,也将Lifecycle-Aware放在了Architecture类别之中。我们可以利用android.arch.lifecycle包提供的类来控制数据、监听器等的lifecycle。同时,LiveData和ViewModel的lifecycle也依赖于Lifecycle
小小的coder
·
2023-12-28 21:49
SAP UI5 初学者教程的学习目录
Jerry从2014年加入SAP成都研究院CRMFiori开发团队之后开始接触SAPUI5,曾经在SAP社区和“汪子熙”微信公众号上发表过多篇关于SAPUI5工作原理和
源码解析
的文章。
JerryWang_汪子熙
·
2023-12-28 20:13
mysql-字符串转换成数字的
源码解析
一、问题现象mysql>select0='abc';+---------+|0='abc'|+---------+|1|+---------+二、排查原因今天开发找我说了个查询现象,0值和字符串相比竟然相等,以前没有遇到过该现象,所以排查了下重点:数据库开发规范中一定要要求等值对比或者其他运算的时候一定要要求数据类型一致mysql>selectcast('abc'assigned);+------
与数据交流的路上
·
2023-12-28 18:13
mysql
数据库
SpringBoot+MyBatis后端框架详细教程
(详细的图文教程)二:进行一个基本的HelloController运行可在localhost访问,或者使用测试类验证SpringBoot的正确配置,链接->SpringBoot:基本应用和
源码解析
三:联合
heartfluttering
·
2023-12-28 16:53
java开发
spring
boot
mybatis
后端
java
【AI】计算机视觉VIT文章(Transformer)
源码解析
论文:DosovitskiyA,BeyerL,KolesnikovA,etal.Animageisworth16x16words:Transformersforimagerecognitionatscale[J].arXivpreprintarXiv:2010.11929,2020源码的Pytorch版:https://github.com/lucidrains/vit-pytorch0.前言Tr
AI柱子哥
·
2023-12-28 14:42
人工智能
计算机视觉
人工智能
计算机视觉
transformer
Vue3
源码解析
--diff算法
diff算法的概念patch概念引入在vue更新过程中在遍历子代vnode的过程中,会用不同的patch方法来patch新老vnode,如果找到对应的newVnode和oldVnode,就可以复用利用里面的真实dom节点。patch过程中,如果面对当前vnode存在有很多chidren的情况,那么需要分别遍历patch新的childrenVnode和老的childrenvnode。存在childr
小王没脑袋
·
2023-12-28 13:14
算法
vue.js
前端
vue v-model
源码解析
基本使用newVue({el:'#app',data(){return{value1:''}}})回顾一下模板到真实节点的过程模板解析成AST树;AST树生成可执行的render函数;render函数转换为Vnode对象;根据Vnode对象生成真实的Dom节点。AST树的解析模板属性上的解析,也就是processAttrs函数上processAttrs//处理模板属性functionprocess
神奇大叔
·
2023-12-28 13:12
Vue源码
vue.js
javascript
前端
vue2
源码解析
---v-model双向数据绑定
实例中的数据也会随之更新工作原理生成ast树本质上是语法糖结合了v-bind和v-on两个指令示例代码newVue({el:'#app',data(){return{msg:'Hello,msg'}},template:``})
源码解析
小王没脑袋
·
2023-12-28 13:59
vue.js
前端
javascript
【Hadoop】RPC在client端的
源码解析
最近在看《Hadoop2.XHDFS源码剖析》这本书(其实看了挺久的,但是进度比较慢),要看懂hadoop源码真的是需要一定的代码和框架的基础,用到的东西还真是蛮多的,真的厉害,哎,我太菜了~我们会用hadoop的api或者hadoop的命令来执行一些相应的操作,那么当我们执行了一个rename的方法的时候,实际上到底发生了什么呢?一、我们从一段客户端的代码开始代码非常的简单创建了FileSyst
lsr40
·
2023-12-28 13:01
hadoop
[Golang] 关于Sync.Map的使用
关于sync.Map的
源码解析
文章:Go1.9sync.Map揭秘正文:它主要五个方法及其功能简介:1、Store存key,value2、LoadOr
心动的偏执
·
2023-12-28 11:36
java
golang
开发语言
后端
java
数据库
netty入门(二十五)EventLoop 源码剖析
1.
源码解析
目标分析最核心组件EventLoop在Netty运行过程中所参与的事情,以及具体实现。
zhufei463738313
·
2023-12-28 09:30
netty
Netty
看完这篇系列文章Spring session你就彻底懂了 - <第一讲> Tomcat session 运作原理以及
源码解析
目录Session概念Session使用案例Session的存储媒介TomcatSessionTomcatsession缺点Session概念Session大家知道是保存用户状态信息的,前端第一次请求后端,后端会生成一个session并返回set-cookie:JSESSIONID=xxxx来标识客户端,等客户端再次访问即可通过JSESSIONID找到服务端对应的session。Session使用
澄风
·
2023-12-28 09:24
JAVA
Java基础
杂项
tomcat
spring
java
ThreadLocal/InheritableThreadLocal/TransmittableThreadLocal 应用场景以及核心
源码解析
ThreadLocal/InheritableThreadLocal应用场景ThreadLocal的应用非常广泛,就ThreadLocal可以实现当前线程的共享数据获取这个就太有用了。正常我们写代码都是由上一个方法传递个下一个方法来进行传递参数,假如说参数繁多,链路非常长,这个时候就会导致形参非常臃肿、传递参数非常不易。这个时候就可以使用ThreadLocal来解决这个问题。下面来分析一些使用场景
澄风
·
2023-12-28 09:54
JAVA
Java基础
java
jvm
vue2
源码解析
---watch和computed
监听属性watch监听属性介绍我们可以使用watch函数在每次响应式状态发生变化时触发回调函数wach可以用于异步任务监听属性的初始化watch和computed都先走initSate判断传入选项exportfunctioninitState(vm){constopts=vm.$options;//获取所有的选项if(opts.data){initData(vm);}if(opts.compute
小王没脑袋
·
2023-12-28 09:16
前端
javascript
vue.js
Java Executor
源码解析
(1)—Executor执行框架的概述
系列文章:JavaExecutor
源码解析
(1)—Executor执行框架的概述JavaExecutor
源码解析
(2)—ThreadPoolExecutor线程池的介绍和基本属性【一万字】JavaExecutor
刘Java
·
2023-12-28 08:56
Java
JUC源码
java
executor
线程池
InheritableThreadLocal
源码解析
,子线程如何获取父线程的本地变量?
天青色等烟雨,而我在等你,微信公众号搜索:徐同学呀,持续更新肝货,快来关注我,和我一起学习吧~文章目录一、前言二、InheritableThreadLocal1、使用方式2、继承关系3、复制原理三、childValue的用意四、总结一、前言日常工作中,经常使用ThreadLocal来避免线程并发问题,每个线程访问自己的本地变量,没有竞争,没有锁,非常高效。现在有一个业务场景,需要创建一些子线程来执
徐同学呀
·
2023-12-28 08:11
java源码
itl
ThreadLocal
java源码
java8
【java】Spring Cloud --OpenFeign
源码解析
学习
文章目录OpenFeign是什么?实现原理1.FeignClient的bean注册过程2.OpenFeign调用过程3.OpenFeignConfiguration总结本文主要针对spring-cloud-starter-openfeign的2.2.3.RELEASE版本进行源码的解析。OpenFeign是什么?作为SpringCloud的子项目之一,SpringCloudOpenFeign以将O
逆流°只是风景-bjhxcc
·
2023-12-28 08:56
#
Spring
Cloud
java
学习
spring
boot
Base64 编解码原理及
源码解析
Base64的实现原理**1)将给定的字符串转换成对应的字符编码(如:GBK、UTF-8)2)将获得该字符编码转换成二进制码3)对获得的二进制码进行分组操作第一步:每3个字节(8位二进制)为一组,一共24个二进制位第二步:将这个24个二进制位分成4组,每个组有6个二进制位,不足6位的,后面补0。第三步:在每个组前面加两个0,这样每个组就又变成了8位,即每个组一个字节,4个组就4个字节了。第四步:根
踏雪寻梅~!
·
2023-12-28 08:49
base64
java
Spring Bean的作用域(Scope)的原理及
源码解析
Spring内常见的Scope有singleton,prototype,request,session;还有globalSession,application。如果用注解定义Bean的作用域,则可以使用@Scope,将@Scope标识在一个Bean的类上,就可以定义这个Bean在容器中的作用域,如果未标识则默认是singleton。对于不同的Scope类型的Bean,Spring区分对待。在实例化
低调的JVM
·
2023-12-28 07:32
spring
spring
scope
Spring
源码解析
之-TypeConverter、TypeConverterDelegate分析
目录一、介绍二、源码分析2.1convertIfNecessary方法解析2.2findDefaultEditor方法解析2.3doConvertValue方法解析2.3convertToTypedArray方法解析2.3convertToTypedCollection方法解析三、小结一、介绍TypeConverter类主要是负责类型转换,其实现类是TypeConverterSupport,但是所
一直打铁
·
2023-12-28 07:50
spring
TypeConverterDe
TypeConverter
spring
java
spring-security-oauth2(十八 ) SpringSecurityOAuth核心
源码解析
要重写我们前面已经写好的三种认证模式,使其支持token我们有必要对源码进行一定的了解才能进行扩展。绿色的代表类,蓝色的代表接口TokenEndpoint:整个流程入口点,可以理解成controllerClentDetailsService:读取第三方应用信息TokenRequest:封装了提交的参数信息,ClentDetails也封装其中TokenGranter:令牌授权者,找到一个授权模式(g
codeing-tiger
·
2023-12-28 07:37
scheduleWithFixedDelay
源码解析
,简单粗暴了解基本原理
ScheduledExecutorService.scheduleWithFixedDelay方法可以延时循环完成某些特定的任务使用方式使用时传入4个参数,command执行的任务Runable方法,initialDelay-初始延时时间,delay-每次执行任务的间隔时间,unit-单位使用注意事项,执行的方法需要trycatch。不然报错了就不会继续往下执行了。publicstaticvoid
Henry-tech
·
2023-12-28 07:03
java
SpringMVC执行流程及
源码解析
关于很很很详细的
源码解析
,这里暂先不做。首先看下SpringMVC文档上给的流程图:张图片给了我们大概的执行流程:用户请求首先发送到前端控制器DispatcherServlet,Dispatch
a295277302
·
2023-12-28 07:32
SPRING
JAVA
spring
mvc
spring
原理
spring注解方式整合Dubbo
源码解析
系列文章目录前言本节我们的Dubbo源码版本基于2.6.x在前一章我们的整合案例中,我们有几个比较关键的步骤:在启动类上标注了@EnableDubbo注解在provider类上面标注了@Service注解来提供dubbo服务在消费的时候通过@Reference注解引入dubbo服务在配置文件中配置应用名,协议,暴露端口,注册中心地址等。在配置文件中配置应用名,协议,暴露端口,注册中心地址等。一、E
无唯~
·
2023-12-28 07:28
dubbo源码分析
dubbo
spring
java
【JUC并发编程】13 读写锁ReentrantReadWriteLock原理/
源码解析
文章目录一、ReentrantReadWriteLock实现原理1、概述1)面试题2:为什么要使用读写锁?2)面试题3:为什么读写锁中读锁和写锁采用一个变量来标识?3)面试题4:读写锁如何保证写线程不饿死?4)如何使用读写锁?2、源码分析原理1)面试题1:读写锁如何实现的(实现原理)?2)成员变量/构造函数1>内部类Sync1>面试题5:为什么实例化Sync时要获取到state变量之后再setSt
秃秃爱健身
·
2023-12-28 07:23
#
精通JUC并发编程
java
juc
面试
【JUC并发编程】1 ThreadPoolExecutor线程池
源码解析
文章目录一、为什么要使用线程池?二、ThreadPoolExecutor源码分析1.常用变量2.构造方法3.任务执行过程execute()4.addWorker()方法5.runWorker()方法6.processWorkerExit()1)如果线程池中的线程异常终止,线程池的工作线程数量会减少吗?7.shutdown()和shutdownNow()的区别三、总结一、为什么要使用线程池?降低资源
秃秃爱健身
·
2023-12-28 07:53
#
精通JUC并发编程
java
线程池
多线程
分布式事务详解,并带有lcn
源码解析
。
2)1):二阶段提交(2PC)2)2):TXC逆向SQL2)3):TCC(Try、Confirm、Cancel)2)4):增量日志2)5):补偿事务2)6):后置提交优化3):txlcn
源码解析
3)1)
Nuan_Feng
·
2023-12-28 07:51
手写分布式事务
分布式
java
大数据
xxl-job
源码解析
(看这一篇就够了,超简约且详细)
文章目录如何自研一个xxljob系统架构1)服务端启动流程1)1:初始化触发器线程池1)2:维护注册表信息(30秒执行一次)1)3:运行失败监视器,主要失败发送邮箱,重试触发器1)4:将丢失主机信息调度日志更改状态1)5:统计一些失败成功报表,删除过期日志1)6:执行调度器(核心)2)客户端启动流程2)1:初始化调度器资源管理器2)2:刷新GlueFactory2)3:核心启动类2)3)1:初始化
Nuan_Feng
·
2023-12-28 07:50
xxl-job源码解析
java
spring
netty
java类加载器、双亲委派、沙箱安全机制全都让你整明白(三万字,收藏慢慢啃)
类加载的分类2、类加载器的必要性3、命名空间4、类加载机制的基本特征二、类加载器的分类1、引导类加载器2、扩展类加载器3、系统类加载器4、用户自定义类加载器三、测试不同的类加载器四、ClassLoader
源码解析
秃了也弱了。
·
2023-12-28 06:03
jvm
java
redisson看门狗机制,redisson看门狗性能问题,redisson
源码解析
文章目录redisson看门狗机制官网解释看门狗开启条件看门狗如何开启的看门狗的性能问题强大的redissonredisson看门狗机制官网解释Redisson内部提供了一个监控锁的看门狗,它的作用是在Redisson实例被关闭前,不断的延长锁的有效期。默认情况下,看门狗的检查锁的超时时间是30秒钟,也可以通过修改Config.lockWatchdogTimeout来另行指定。看门狗开启条件我们可
秃了也弱了。
·
2023-12-28 06:03
redis
redis
redisson
Vue 异步更新
源码解析
先补充一下Vue实现双向数据绑定的原理: 通过Object.defineproperty拦截对数据的访问get和设置set,当拦截到数据的访问时进行依赖收集,拦截到数据的设置时则执行dep.notify通知watcher进行更新。notify/src/core/observer/dep.js/***通知该依赖收集的所有watcher执行update方法,进行异步更新*/notify(){//su
梦晓半夏_d68a
·
2023-12-28 06:47
支付系统高可用架构设计,写得太好了!(建议收藏)
每天14:00更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo
源码解析
网络应用框架Netty
源码解析
消息中间件RocketMQ
Java基基
·
2023-12-28 04:28
java
java-rabbitmq
rabbitmq
开发语言
分布式
myBatis
源码解析
-反射篇(4)
1property包-主要对类的属性进行操作的工具包1.1PropertyCopier包利用反射类Filed进行属性复制复制代码//该类作用将sourceBean与destinationBean相同属性名的属性进行值复制publicclassPropertyCopier{//属性复制publicstaticvoidcopyBeanProperties(Classtype,ObjectsourceB
联旺
·
2023-12-28 04:49
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他