240 发简信
IP属地:北京
  • 单例

    项目中需要有一些工具类提供服务,例如线程池,http调用工具等,有两种设计:单例和静态方法方式。单例方式:如果这个类需要维持一些状态,比较适合使用单例模式存在。单例模式还可以...

  • 120
    Thread

    在java中,线程大致有7种状态: 一、sleep与wait 1.sleep()方法是定义在Thread类里面的静态方法、wait()是Object的方法。2.wait()作...

  • Java线程Thread.join方法解析

    join字面上是加入的意思,我们先看看join方法的解释和实现。 这里join是调用的 可以看到,join方法本身是通过wait方法来实现等待的,这里判断如果线程还在运行中的...

  • ThreadPoolExecutor

    实际开发中需要开启异步线程时,我们都会使用ThreadPoolExecutor类。但是我们一般不会直接通过Executors来随便定义出一个线程池,而是抽象一个utils单例...

  • spring aop与注入

    上一篇分析了两种代理的大致原理,spring框架内的aop就是使用的这两种代理模式。spring在默认情况下可以根据被代理类是否实现接口自动切换代理方式,实现了接口使用jdk...

  • 两种动态代理

    最近做了数据库的主从分离,使用了spring的aop,动态代理遇到了很多问题,将源码了解了一下。 1、JDK代理 jdk代理使用到的类主要有java.lang.reflect...

  • 120
    Metespace Full GC

    项目升级jdk8后,启动后一段时间会连续的Full GC 观察到Metespace区域,每次Full GC都会增加,从默认的21m一直到90多m加了JVM参数 -XX:Me...

  • 120
    spring下的数据库主从分离(下)

    上一篇介绍了如何配置并使用动态数据源切换,这边主要梳理下源码原理和遇到的坑。 1、首先就是我们发现有事务的方法里面数据源切换是失败的,并且都是用的主数据源。 这里我们猜想是事...

  • spring下的数据库主从分离(上)

    基于mysql数据库已经做好了主从,提供出主库和从库的链接 1、实现方式 主要思路是重写spring的AbstractRoutingDataSource类,使用ThreadL...