240 发简信
IP属地:四川
  • 22 Executor与线程池

    线程是一个重量级的对象,应该避免频繁创建和销毁。原因:创建线程需要调用操作系统API,然后os为线程分配资源 线程池使用的生产者-消费者模式:线程池的使用者是生产者,线程池本...

  • 120
    19 CountDownLatch和CylicBarrier

    CountDownLatch 应用场景:一个线程等待多个线程的场景。 这个应用场景很容易理解,假设有三个线程,分别是A,B,C; C要等待A,B完成后再执行,很容易地思路:A...

  • 120
    18 StampedLock

    StampedLock支持三种模式:写锁、悲观读锁、乐观读 写锁和悲观读锁与ReadWriteLock的写锁、读锁语义类似。StampedLock 里的写锁和悲观读锁加锁成功...

  • 120
    17 读写锁

    读写锁适用于读多写少的场景 三条原则:1.允许多个线程同时读共享变量; 2.只允许一个线程写共享变量; 3.如果一个写线程正在执行写操作,此时禁止读线程读或写共享变量。 读写...

  • 16 信号量

    Semaphore 信号量模型:一个计数器,一个等待队列,三个方法 init():设置计数器的初始值。 down():计数器的值减 1;如果此时计数器的值小于 0,则当前线程...

  • 120
    14|15 Lock和Condition

    并发经验告诉我们:首先使用Java SDK中的并发包,迫不得已再使用低级的同步原语(synchronized/Lock/Semaphore等)。避免过早优化,等出现性能瓶颈后...

  • 120
    09|10|11 java线程

    操作系统线程生命周期 初始状态(init)、可运行状态(runnable)、运行状态(running)、休眠状态(waiting)和终止状态(terminate) java线...

  • 120
    08 管程

    并发的核心问题:一个是互斥,即同一时刻只允许一个线程访问共享资源;另一个是同步,即线程之间如何通信、协作。 三种管程模型:java参考的是MESA模型 Hasen 模型、Ho...

  • 120
    06 通知等待机制

    等待-通知机制:如果线程要求的条件不满足,则线程阻塞自己,进入等待状态;当线程要求的条件满足后,通知等待的线程重新执行。 在上一节中使用while(!actr.apply(t...

  • 120
    05 死锁

    相对于上一节中使用XXX.class粗粒度的锁,可以使用细粒度锁提升性能。 首先转账业务的资源:转出账户,转入账户。需要分别对两个账户加锁。 细粒度锁提升了性能,但是存在死锁...

  • 120
    03|04 互斥锁

    上一篇主要讲了可见性和顺序性问题,互斥锁主要解决原子性问题。 锁模型中除了要知道临界区,还要明确锁要保护的资源 锁与被保护资源的关联关系: N:1 一个锁保护多个资源 syn...

  • 120
    02|Java内存模型

    可见性、原子性、有序性是并发问题的三个关键因素。 可见性:一个线程对共享变量的修改,另外一个线程能够立刻看到。 可见性问题一般由CPU缓存引起。每颗 CPU 都有自己的缓存,...

  • 120
    数据库学习

    日志中的Redo Log和BinLog 参考:https://www.jianshu.com/p/4bcfffb27ed5mysql通过WAL(write-ahead log...

  • 120
    数据库拾遗

    使用select…for update会把数据给锁住,不过我们需要注意一些锁的级别,MySQL InnoDB默认行级锁。行级锁都是基于索引的,如果一条SQL语句用不到索引是不...

  • 120
    重拾网络基础

    Https的加密机制 https运行于SSL之上,SSL运行在TCP之上,是添加了认证和加密机制的HTTP。端口为443 共享秘钥加密和公开秘钥加密(其实就是对称加密和非对称...

  • 120
    java并发学习

    参考 我没有三颗心脏 https://www.jianshu.com/p/7382c0a843ffhttps://www.jianshu.com/p/cd9d0927be35...

  • 120
    java集合

    java中常见的集合都是实现的Collection接口和Map接口 Collection集合(图示只表示了接口的实现和继承,没有表示父类) 初始容量和加载因子 ArrayLi...

  • 120
    遗忘的java基础知识

    java访问权限 方法重写规则: (1)返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类 (2)访问权限不能比父类中被重写的方法的访问权限更低。...