H__D  
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 58 下一页

2021年3月23日

摘要: 一、中缀表达式 我们日常的运算表达式通常是如下形式,这种成为中缀表达式,也就是运算符在运算数的中间。这种表达式人类人容易识别,并根据其进行计算,但计算机识别这种表达式非常困难。 中缀表达式:(a + b) * c - d 中缀表达式的计算机求值:参考:【数据结构】栈,中的计算器应用部分 二、前缀表达 阅读全文
posted @ 2021-03-23 15:20 H__D 阅读(2317) 评论(0) 推荐(0)
 
摘要: 一、栈的基本介绍 1.1 栈的基本性质 栈的英文为(stack) 栈是一个先入后出(FILO-First In Last Out)的有序列表 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。 允许插入和删除的一端, 为变化的一端, 称为栈顶(Top), 另一端 阅读全文
posted @ 2021-03-23 14:03 H__D 阅读(257) 评论(0) 推荐(0)

2021年3月22日

摘要: 在JDK的并发包里提供了几个非常有用的并发工具类。CountDownLatch、CyclicBarrier 和 Semaphore 工具类提供了一种并发流程控制的手段。三个类的原理都是基于AQS。Exchanger工具类则提供了在线程见交换数据的一种手段。 一、等待多线程完成的CountDownLa 阅读全文
posted @ 2021-03-22 15:15 H__D 阅读(204) 评论(0) 推荐(0)
 
摘要: 一、定义 代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。 二、结构 代理模式的结构 代理模式的主要角色如下。 1)抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现 阅读全文
posted @ 2021-03-22 11:20 H__D 阅读(109) 评论(0) 推荐(0)

2021年3月21日

摘要: 重入锁 重入锁ReentrantLock,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。除此之外,该锁的还支持获取锁时的公平和非公平性选择。 考虑如下场景:当一个线程调用Mutex的lock()方法获取锁之后,如果再次调用lock()方法,则该线程将会被自己所阻塞,原因是 阅读全文
posted @ 2021-03-21 16:09 H__D 阅读(107) 评论(0) 推荐(0)
 
摘要: 阅读此篇文章请先了解 AQS:【Java多线程】队列同步器AQS(十一) 阻塞队列:【Java多线程】Java中的阻塞队列(十五) 一、ArrayBlockingQueue介绍 ArrayBlockingQueue是一个用数组实现的有界阻塞队列。此队列按照先进先出(FIFO)的原则对元素进行排序。 阅读全文
posted @ 2021-03-21 16:03 H__D 阅读(170) 评论(0) 推荐(0)
 
摘要: 什么是阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。 支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。 阻塞队列常用于生 阅读全文
posted @ 2021-03-21 15:34 H__D 阅读(150) 评论(0) 推荐(0)
 
摘要: 前面章节(【Java多线程】队列同步器AQS(十一))中,对同步器AbstractQueuedSynchronized进行了实现层面的分析,本章通过编写一个自定义同步组件来加深对同步器的理解 同步组件要求 设计一个同步工具:该工具在同一时刻,只允许至多两个线程同时访问,这里显然是共享式访问将被组赛, 阅读全文
posted @ 2021-03-21 00:25 H__D 阅读(182) 评论(0) 推荐(0)

2021年3月20日

摘要: 一、LockSupport 工具 1.1 LockSupport 介绍 当需要阻塞或唤醒一个线程的时候,都会使用LockSupport工具类来完成相应工作。LockSupport定义了一组的公共静态方法,这些方法提供了基本的线程阻塞和唤醒功能,而LockSupport也成为构建同步组件的基础工具 L 阅读全文
posted @ 2021-03-20 19:57 H__D 阅读(134) 评论(0) 推荐(0)
 
摘要: 介绍了锁和AQS:【Java多线程】队列同步器AQS(十一),阅读此篇文章请先了解AQS 一、ReentrantLock介绍 ReentrantLock是可重入的独占锁,同时只能有一个线程可以获取这个锁,其他线程尝试获取就会被阻塞并放入AQS阻塞队列中, 类图结构如下: 二、原理分析 了解锁的基本原 阅读全文
posted @ 2021-03-20 17:25 H__D 阅读(62) 评论(0) 推荐(0)
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 58 下一页