ytao's blog


  • Home

  • Categories

  • Tags

  • About

  • Search

AQS 原理剖析

Posted on 2020-08-25 | In Java

AQS即AbstractQueuedSynchronizer类称作队列同步器,是构建其他同步器的一个重要的基础框架,同步器自身是没有实现任何同步接口。它是通过控制一个int类型的state变量来表示同步状态,使用一个内置的FIFO(先进先出)队列来构建工作队列操作。

同步器定义有两种资源共享方式:Exclusive(独占式)和Share(共享式)的获取同步状态。

独占式:一个时间点只能执行一个线程。
共享式:一个时间点可多个线程同时执行。

Read more »

synchronized 原理知多少

Posted on 2020-06-27 | In Java

synchronized是 Java 编程中的一个重要的关键字,也是多线程编程中不可或缺的一员。本文就对它的使用和锁的一些重要概念进行分析。

使用及原理

synchronized 是一个重量级锁,它主要实现同步操作,在 Java 对象锁中有三种使用方式:

  • 普通方法中使用,锁是当前实例对象。
  • 静态方法中使用,锁是当前类的对象。
  • 代码块中使用,锁是代码代码块中配置的对象。
Read more »

MongoDB 常用查询操作

Posted on 2020-06-14 | In MongoDB

MongoDB 查询操作可实现大部分关系型数据库的常用查询操作,本文对 MongoDB 常用查询进行讲解。

Read more »

MongoDB 安装及文档的基本操作

Posted on 2020-05-31 | In MongoDB

前言

MongoDB 是一个基于分布式文件存储的半结构化的非关系型数据库。在海量数据中,可以较高性能的处理存取操作。它是以 BSON 格式进行数据存储(类似 JSON 格式,但类型更为丰富),因此对于复杂的数据类型,可以较轻松的保存和处理。同时,在非关系型数据库阵容中,相比其他数据库产品,它拥有更丰富的功能,并且与关系型数据库类型,所以对于新手使用也能快速上手。

Read more »

Java 多线程中使用 JDK 自带工具类实现计数器

Posted on 2020-05-17 | In Java

前言

在实际开发过程中,经常遇到需要多线程并行的业务,最后需要进行将各个线程完成的任务进行汇总,但主线程一般会早于子线程结束,如果要想等各个子线程完成后再继续运行主线程,这时就需要对各个线程是否执行完成进行标识,JDK 并发包中就给开发者提供了几个不错的使用工具类。

接下来将通过 Thread#join 方法以及 CountDownLatch、CyclicBarrier 类进行上面案例方案的分析。

Read more »
12…6


原创技术博客

路漫漫其修远兮,吾将上下而求索

29 posts
13 categories
29 tags
RSS
Links
© 2023 Yang Tao
本站总访问量次 | 本站访客数人

粤ICP备19117800号

0%