Avatar notebook default
18篇文章 · 18289字 · 1人关注
  • CompletableFuture及 在stream应用

    直接上代码 执行结果如下: CompletableFuture 1 )多步处理返回future 2 )处理后消费 3 ) 完成后做操作 4 ) ...

  • zookeeper 分布式锁种类以及优缺点

    摘要:zookeeper分布式锁原理:1 大家也许都很熟悉了多个线程或者多个进程间的共享锁的实现方式了,但是在分布式场景中我们会面临多个Serv...

  • Guava Cache 使用学习

    概述 缓存是日常开发中经常应用到的一种技术手段,合理的利用缓存可以极大的改善应用程序的性能。Guava官方对Cache的描述连接缓存在各种各样的...

  • Guava RateLimiter源码解析

    前言 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量降级 降级是当服务出现问题...

  • Java如何捕获线程异常

    首先,我们要知道,在Java中,线程中的异常是不能抛出到调用该线程的外部方法中捕获的。 为什么不能抛出到外部线程捕获? 因为线程是独立执行的代码...

  • Resize,w 360,h 240
    转-ThreadLocal源码解读(大牛之作)

    1. 背景 ThreadLocal源码解读,网上面早已经泛滥了,大多比较浅,甚至有的连基本原理都说的很有问题,包括百度搜索出来的第一篇高访问量博...

    2.9 1353 2 56
  • java线程之中断线程Interrupted用法

    中断线程-interrupt() 一个正在运行的线程除了正常的时间片中断之外,能否被其他线程控制?或者说其他线程能否让指定线程放弃CPU或者提前...

  • Resize,w 360,h 240
    线程状态

    新建(new):新创建了一个线程对象。 可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法...

  • 创建线程以及线程池时候要指定与业务相关的名字,以便于追溯问题

    3.9 创建线程以及线程池时候要指定与业务相关的名字,以便于追溯问题 日常开发中当一个应用中需要创建多个线程或者线程池时候最好给每个线程或者线程...

文集作者