240 发简信
IP属地:北京
  • Resize,w 360,h 240
    spring bean的生命周期

    一、基础 Bean:Bean是spring容器管理的对象。BD(BeanDefinition):BD是对Bean的抽象。 个人理解:BD 之于 ...

  • Resize,w 360,h 240
    cglib动态代理源码分析

    一、用法 1、普通类 2、执行代理对象方法的前后完成自己的操作 3、使用 4、测试结果 5、结果说明 cglib是将被代理类所有的方法都进行了拦...

  • Resize,w 360,h 240
    jdk动态代理源码分析

    一、用法 1、接口 2、接口实现类(要代理的对象就是这个类的对象) 3、执行代理对象方法的前后完成自己的操作 4、使用 5、测试结果 二、源码分...

  • Resize,w 360,h 240
    java反射

    一、前置知识点 1、运行java程序需要java虚拟机(JVM)2、我们编写的java代码需要被编译成.class文件3、.class文件会被类...

  • Resize,w 360,h 240
    java线程池

    一、基本使用方法 (1)使用示例 (2)说明 线程池执行的任务是什么: Runnable实例 线程池主要目的: 复用Thread ThreadP...

  • Resize,w 360,h 240
    java同步工具的使用

    一、Semaphore (1)示例 (2)结果 (3)结果说明 打印是先打印0、1,1秒之后打印2、3。因为设置的资源并发访问数是2,所以同时只...

  • ReentrantLock源码分析

    一、基本使用方法 二、查看方法实现 (1)实例化 (2)lock方法 (3)unlock方法 都是调用了NonfairSync对象中的方法,那我...

  • 手写ReentrantLock锁

    一、前置准备条件 我们需要知道如何进行比较并交换的原子操作、如何进行线程的挂起和唤醒。(1)Unsafe中的CAS[https://www.ji...

  • Unsafe中的park和unpark

    一、方法如下 二、使用说明 park:将当前线程挂起。unpark:精准的唤醒某个线程。 park的参数,表示挂起的到期时间,第一个如果是tru...