自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 CGLIB对类做动态代理时,无法拦截static修饰的方法和final修饰的方法

2021-09-09 16:23:58 1126

原创 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 374

原创 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 704

原创 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 619

原创 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 308

原创 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 1193

原创 并发编程面试题汇总

并发编程面试题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 722

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除