240 发简信
IP属地:北京
  • 120
    spring bean的生命周期

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

  • 120
    cglib动态代理源码分析

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

  • 120
    jdk动态代理源码分析

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

  • 120
    java反射

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

  • 120
    java线程池

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

  • 120
    java同步工具的使用

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

  • ReentrantLock源码分析

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

  • 手写ReentrantLock锁

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

  • Unsafe中的park和unpark

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

  • 120
    Unsafe中的CAS

    一、Unsafe是什么 Unsafe,一个JAVA类,位于sun.misc包中,是jvm提供的手动管理内存的实现,里面的方法都是native标记的,说明这些方法的实现不在ja...

  • 120
    java servlet容器

    一、问题引出 上篇文章我们只是通过socket服务端作了固定的字符串响应,没有去处理从浏览器接收到的数据,也没有根据接收的数据做动态的数据处理。这次我们完成一个简单的读取浏览...

  • 120
    Java socket 多线程任务

    一、问题引出 1、我们上篇文章写了一个最简单的socket服务端,但这个服务端还有待优化。为了测试问题,我们在写回给客户端数据之前,让程序睡眠5秒,表示我们这个业务需要处理5...

  • 120
    Java socket编程

    一、服务端代码 二、客户端代码 三、实例结果 客户端执行结果 服务端执行结果 四、socket示例说明 1、这是Java中最简单的socket示例,模式很固定。主要就是起一个...