- 博客(7)
- 收藏
- 关注
原创 java.lang.ThreadLocal
java.lang.ThreadLocal1. ThreadLocal类注释2. ThreadLocal类提供的方法3. ThreadLocal的功能及其使用场景4. ThreadLocal在源码中的体现4.1 在Tomcat源码中使用4.2 在Spring源码中使用4.3 在mybatis源码中使用1. ThreadLocal类注释/** * This class provides thread-local variables. These variables differ from * the
2021-08-17 19:24:02
672
原创 Tomcat中Poller线程run方法工作流程
Tomcat中Poller线程run方法工作流程1. Poller线程什么时候启动?2. Poller.run()方法调用链源码跟踪2.1 NioEndpoint$Poller.run()2.2.12.2 NioEndpoint$Poller.processKey()2.3 AbstractEndpoint.processSocket()1. Poller线程什么时候启动?Poller线程启动调用链如下:startInternal:341, NioEndpoint{org.apache.tomcat
2021-08-14 20:03:56
1027
原创 Tomcat中Acceptor线程run方法工作流程
Tomcat中Acceptor线程run方法工作流程1.Acceptor线程启动时间点2.Acceptor.run()方法调用链源码跟踪1). Acceptor.run()2). NioEndpoint.setSocketOptions(SocketChannel socket)NioEndpoint$Poller.register(final NioSocketWrapper socketWrapper)NioEndpoint$Poller.addEvent(PollerEvent event)3.涉及到
2021-08-14 15:13:23
845
原创 java.nio.channels.ServerSocketChannel
java.nio.channels.ServerSocketChannel1.ServerSocketChannel的父子继承关系2. ServerSocketChannel注释3. ServerSocketChannel提供的方法3.1 bind(SocketAddress, int)3.2 open()3.3 accept()1.ServerSocketChannel的父子继承关系2. ServerSocketChannel注释1). 调用#open()方法创建server-socket cha
2021-08-14 14:12:11
520
原创 java.nio.channels.SocketChannel
java.nio.channels.SocketChannelSocketChannel功能SocketChannel提供的方法1.open() 方法2.bind()方法SocketChannel功能从SocketChannel类的注释可以看到以下几点:1.socket channel是面向流的连接套接字的一个可选通道。2.通过调用#open()方法创建socket channel。根据不同参数,为不同的socket创建channel。3.socket channel支持非阻塞连接。创建套接字通道
2021-08-14 00:13:37
1363
原创 并发编程面试题汇总
并发编程面试题1.创建线程的方式有哪些?1.1继承 Thread 类1.2实现 Runnable 接口1.3实现 Callable 接口1.4使用 Executors 工具类创建线程池1.5使用 ThreadPoolExecutor自定义线程池【阿里规范自定义线程池】2.线程中run方法和start方法区别?3.【高频】线程池在业务中的使用场景4.【高频】线程池有哪些参数5.ThreadPoolExecutor饱和策略6.线程池实现原理1.创建线程的方式有哪些?创建线程有四种方式:继承 Thread
2021-01-11 20:13:33
1208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人