比较器

JUC源码分析-PriorityBlockingQueue

坚强是说给别人听的谎言 提交于 2020-02-25 18:10:03
概述 PriorityBlockingQueue:二叉堆结构优先级阻塞队列,FIFO,通过显式的lock锁保证线程安全,是一个线程安全的BlockingQueue,加入队列的数据实例按照指定优先级升序排列,这个规则通过赋值 实现了Comparator的字段或数据实例类实现Comparable接口自定义,都定义的情况下 字段比较器优先。它一个老牌的队列,在JDK1.5已经加入,如果队列加入的数据实例需要排序,这是个不错的选择。 核心属性和数据结构 private static final int DEFAULT_INITIAL_CAPACITY = 11;//默认数组容量 private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;//数组最大容量 private transient Object[] queue;//存储数据的数组 private transient int size;//节点数 统计用 private transient Comparator<? super E> comparator;//比较器,可自定义传入 private final ReentrantLock lock;//重入锁,依赖它实现线程安全 private final Condition notEmpty;//lock创建的

谈谈运放与比较器的本质区别

家住魔仙堡 提交于 2020-02-24 12:37:58
概述 运算放大器和比较器无论外观或图纸符号都差不多,那么它们究竟有什么区别,在实际应用中如何区分?今天我来图文全面分析一下,夯实大家的基础,让工程师更上一层楼。 先看一下它们的内部区别图: 从内部图可以看出运算放大器和比较器的差别在于输出电路。运算放大器采用双晶体管推挽输出,而比较器只用一只晶体管,集电极连到输出端,发射极接地。 比较器需要外接一个从正电源端到输出端的上拉电阻,该上拉电阻相当于晶体管的集电极电阻。 运算放大器可用于线性放大电路(负反馈),也可用于非线性信号电压比较(开环或正反馈)。 电压比较器只能用于信号电压比较,不能用于线性放大电路(比较器没有频率补偿) 。 两者都可以用于做信号电压比较,但比较器被设计为高速开关,它有比运算放大器更快的转换速率和更短的延时。 运算放大器 做为线性放大电路,我这里就不多说了(以后有需要单独讨论放大器),这个在主板电路图很常见,一般用于稳压电路,使用负反馈电路它与晶体管配合相当于一个三端稳压器,但使用起来更灵活。如下图: 在许多情况下,需要知道两个信号中哪个比较大,或一个信号何时超出预设的电压(用作电压比较)。用运算放大器便可很容易搭建一个简单电路实现该功能。当V+电压大于V-电压时,输出高电平。当V+电压小于V-电压时 ,输出低电平。如下图: 分析一下电路,2.5v经电阻分压得到1V输入到V-端,当总线电压正常产生1.2v时

STM32F030系列PWM配置

喜欢而已 提交于 2020-02-21 09:31:28
一、按照TIM15为例子配置PWM输出 void TIM15_Config(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); //开启管脚时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM15, ENABLE); //打开定时器15的时钟 GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_1); //打开复用功能 GPIO_InitStructure.GPIO_Pin = PB15_LASUO_PWM_OUTPUT; //PWM2输出引脚PB15 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用功能模式 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO

使用集合来排序

廉价感情. 提交于 2020-02-17 00:27:17
1、自然排序:集合中的类需要实现comparable接口;如果不实现该接口会报类型转换异常 TreeSet集合是用来对其元素进行排序的,同样它也可以保证元素的唯一 使用TreeSet集合来排序,当compareTo方法的返回值为0,表示被比较的元素与比较的元素是同一个对象 2、比较器排序: String类的compareTo方法默认是按字典顺序比较两个字符串,当我们需要按照特定的需求来比较时(比如按照字符串的长度来比较),就需要定义比较器,eg; 分析如下: 来源: https://www.cnblogs.com/hwgok/p/12319398.html

Java 中的比较器 —— Comparator

流过昼夜 提交于 2020-02-15 12:26:27
一、Comparable 接口 学习 Comparator 之前,我们先来看看 Comparable 接口。 这里先不介绍 Comparable 接口的相关概念,我们先看看数组和集合列表的排序。我们应该都写过,比较简单,这里再回顾一下吧。 1、数组的排序 对数组排序,使用 Arrays.sort () : import java . util . Arrays ; public class Main { public static void main ( String [ ] args ) { String [ ] fruits = new String [ ] { "Pineapple" , "Apple" , "Orange" , "Banana" } ; Arrays . sort ( fruits ) ; for ( String fruit : fruits ) { System . out . println ( fruit ) ; } } } 输出结果为: Apple Banana Orange Pineapple 2、集合列表的排序 对于集合列表的排序,我们可以使用 Collections.sort() 方法: import java . util . ArrayList ; import java . util . Collections ; import

java比较器

徘徊边缘 提交于 2020-02-06 00:24:09
java比较器 Copareble Comparetor Copareble Comparable接口的使用举例: 自然排序 1.像String、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式。 2.像String、包装类重写compareTo()方法以后,进行了从小到大的排列 3. 重写compareTo(obj)的规则: 如果当前对象this大于形参对象obj,则返回正整数, 如果当前对象this小于形参对象obj,则返回负整数, 如果当前对象this等于形参对象obj,则返回零。 4. 对于自定义类来说,如果需要排序,我们可以让自定义类实现Comparable接口,重写compareTo(obj)方法。 在compareTo(obj)方法中指明如何排序 //(1).String类重写了compareTo()方法,按照从小到大的顺序排序 @Test public void test1 ( ) { String [ ] arr = new String [ ] { "A" , "J" , "C" , "D" , "N" , "B" } ; Arrays . sort ( arr ) ; System . out . println ( Arrays . toString ( arr ) ) ; } //(2

张飞硬件开发视频第五部电路详细讲解,纯硬件也可以做PWM波

*爱你&永不变心* 提交于 2020-02-04 07:37:26
学习了张飞老师的硬件开发视频,把这一部的电路拿出来写一下。 项目的目的我就不写了,主要写一下硬件电路。分析一下这一个电路是怎么样工作的。 首先是电源部分,左边是用了一个三极管和一个稳压管搭建的稳压电源电路,15V的电源通过电阻R1到三极管的B极,稳压管的电压在5V6,然后经过三极管的PM结降压为5V输出。右边是一个跟随放大器。理想的电压跟随器应具有输入阻抗趋于无穷大、输出阻抗为0和正向电压传输系数Av=1三个基本特征,跟随器是一种电子线路,其输出信号基本等同于输入信号,但提高了带负载能力,广泛存在于各类电子线路中。电阻R3和R4用来调节输入跟随器的电压值,输出相同的电压值,跟随器输出一个5V6的电压,导通三极管Q2,通过PM结得到一个比较稳定的5V电压。J1是跳线帽的排针,实际电路的调试就通过一个跳线帽连接起来,就可以用一个电阻器调整输入电压。 接下来就是主体电路部分了。 从左边开始看,5PIN的排针是传感器的接触点,不用理会。 传感器的2号脚输入一个小电压的信号,U1B是一个同相放大器,把小电压放大。放大倍数为(1+R22/R15),TR3还是作为实际调节电阻,可以调整放大倍数。 放大后的电压经过电阻进入两个比较器的负相输入端。R16,17,18三个电阻通过分压作为比较器的比较值。D6稳压管和电容C7作为滤波作用,提供了一个比较稳定的电压,让电压值波动小,稳定

java比较器实现

六月ゝ 毕业季﹏ 提交于 2020-01-24 17:32:40
继承Comparable接口,并实现compareTo()方法; 在使用java.util.Arrays.sort()方法时不用指定具体的比较器,sort()方法会使用对象自己的比较函数对对象进行排序 举例 输入 3 1 3 -5 -2 4 1 输出 -5 1 3 //升序排序 4 1 -2 //降序排序 sum = -25 import java.util.Arrays; import java.util.Scanner; public class 比较器 { private static class Node implements Comparable<Node>{ int a; public Node(int s) { this.a = s; } @Override public int compareTo(Node o) { // TODO Auto-generated method stub return o.a - this.a; //实现降序排序 } } public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int[n];

单片机欠压保护、欠压复位的用法及作用

烈酒焚心 提交于 2020-01-18 09:57:41
一. 前言 使用编程环境 :KEIL mdk4 单片机 : NRF24LE1 二. 分析 查询各开发芯片的数据手册,一般在电源管理或者复位设置章节中。以下NRF24LE1为例: Power supply supervisor(电源监控): 电源主管在开机时对系统进行初始化,对即将发生的情况提供预警当电源电压过低而不能安全运行时,系统处于复位状态。 电源管理框图如下: Power-on reset(上电复位): 开机复位(POR)发生器在开机时初始化系统。它基于RC网络和比较器,如图所示。为了正常工作,电源电压应按规格,随着上升时间的增加而增加。当电源达到1.9V的最小工作电压后,系统保持重置状态至少1ms。 Brown-out reset(欠压复位): 当电源电压降至BOR阈值以下时,熄灭复位(BOR)发生器使系统处于复位状态。它由一个在系统处于有源和备用模式时启用的高精度比较器和一个在所有其他模式下均可运行的精度较低的低功耗比较器组成。for- mer的阈值电压约为1.7V。迟滞约为70mV (V HYST)。这意味着,如果在电源电压降至1.7V以下时触发复位,那么在nRF24LE1开始工作之前,电源必须再次升至1.77V以上。当VDD接近阈值时,迟滞阻止比较器输出振荡。低功耗比较器的典型阈值电压为1.5V。 Power-fail comparator(掉电比较器): 电源故障

Java集合框架(四)

*爱你&永不变心* 提交于 2020-01-18 02:45:05
Collections 集合框架的工具类 着重讲解以下方法: 1、sort(): 1º根据元素的自然顺序对指定列表按升序进行排序,列表中的所有元素都必须实现comparable接口。 public static <T extends Comparable<? super T>> void sort(List<T> list) 2º根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较。 public static <T> void sort(List<T> list, Comparator<? super T> c) 2、max(): 1º根据元素的自然顺序,返回给定collection的最大元素。collection中的所有元素都必须实现comparable接口。 public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) 2º根据指定比较器产生的顺序,返回给定collection的最大元素。collection中的所有元素都必须可通过指定比较器相互比较。 public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)