自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 缓存-缓存的几种方法

缓存的几种方法FIFO+过期时间基于LinkedHashMap进行存储。静态字段,一个存放数据的map,一个定时线程池。// 存放缓存的集合private Map<String, CacheData> cacheDatas = null;// 定时器线程池,用于清楚过期缓存private final static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(5);// FIFOp

2020-08-25 17:48:07 171

原创 缓存-缓存问题概述

缓存问题缓存一致性的解决方案实时同步:增量,主动,强一致性。对数据库进行更新的时候(增删改)淘汰缓存(缓存失效)读取数据的时候去更新缓存,为了避免缓存击穿带来的雪崩问题,我们需要做同步处理,控制只有一个线程去读取数据,然后更新缓存,其他线程阻塞等待。设置缓存失效时间,兜底操作,假设在更新缓存失败这个缓存失效时间一道,就会把缓存失效。读取的时候,先去查看缓存是否存在,再去看看数据库里面的对不对更新的时候,先删除缓存,再更新数据准实时同步:增量,被动,准一致性对数据更新操作的时候在更

2020-08-25 17:46:12 123

原创 功能和性能指标

功能和性能指标功能:可以做什么性能:做的怎么样可扩展性请求多了怎么扩展:硬件垂直扩展:加cpu,加内存条横向多节点水平扩展:加机器可靠性fail over 失效转移:如果某台服务器出现问题,可以把请求转移到Backup服务器fail back 失效恢复。failover后,等master故障恢复之后,接受Backup继续恢复处理请求的过程。fail safe 失效安全:故障情况下,也不会造成系统的损坏,比如数据丢失和错乱。(比如数据库的事务)fail fast 快速失败。预

2020-08-25 17:44:26 4546

原创 单机限流

单机限流用户查询物流信息过于频繁。接口限流,保证瞬时并发量。限流算法计数器一段时间内,进行计数,与阈值进行比较,到了时间临界点,将计数器清零。用Long的count变量做计数器,请求前计数器+1,如果超过阈值,并且和第一个请求的间隔还在1min内的话,则限流。优点:实现简单缺点:在12:01:00到12:01:58没有用户请求,在12:01:59的时候瞬间发了100个请求,然后在12:02:00这个时候又发了100个请求。public class CounterLi

2020-08-25 17:39:53 440

原创 多线程-java线程

java线程6个线程状态New:尚未启动的线程的线程状态Runnable:可以运行线程的状态,等待CPU调度。Blocked:线程阻塞,等待监视器锁定的线程状态,处于synchronized同步代码块,或者方法当中被阻塞。Waiting:等待线程的线程状态,运行需要等待其他线程的通知:Object.wait(), Thread.join(), LockSupport.park()Timed Waiting:带超时的线程等待状态。比如下面带超时的例子:Thread.sleep(), Object

2020-08-25 17:37:29 82

原创 多线程-内存屏障和CPU缓存

内存屏障和CPU缓存CPU,多级缓存。L1一般在32k到4096KB,数据缓存,指令缓存。多核共享一个L3缓存。缓存同步协议MESI协议:Modified 修改态, 此行的cache行已经被修改过(脏行)Exclusive 专有态,此行的cache内容,和主存相同,但是不出现在其他cache中。Shared 共享态,这一行的内容等同于主存,但是也存在于其他cache中。Invalid,无效态,这一行cache无效。多个处理器的时候,单个CPU对缓存中的数据进行了改动,需要通知其他cp

2020-08-25 17:36:22 189

原创 多线程-线程终止

线程中止不正确的线程中止Stop:中止线程,并且清除监视器锁的信息,可能导致线程安全问题。destroy(从未实现过这个方法)。public class Demo{ public static void main(String[] args)throws InterruptedException{ StopThread thread = new StopThread(); thread.start(); Thread.sleep(100

2020-08-25 17:32:22 93

原创 多线程-线程通信

线程通信通信方式文件共享网络共享共享变量jdk提供的线程协调API:suspend/resumewait/notifypark/unpark文件共享一个线程往文件写入数据,一个从文件中读入数据变量共享共享静态变量这种。线程协作API生产者,消费者模型。线程1区买包子,没有包子不执行,挂起线程2生产包子,通知线程1继续执行。被弃用的suspend和resume的问题public static Object bzd = null;public void s

2020-08-25 17:31:36 76

原创 多线程-线程封闭

线程封闭数据被封闭在各自的线程之中具体实现:ThreadLocal,局部变量。ThreadLocalThreadLocal是JAVA当中的一种特殊的变量。是个线程级别的变量,每个线程都有一个ThreadLocal,就是每个线程都有拥有了自己的一个独立变量,竞争条件被彻底消除,在并发模式下是绝对安全的变量。 ThreadLocal<T> var = new ThreadLocal<T>();会自动在每个线程上,创建一个T的副本,副本之间彼此独立,互不影响

2020-08-25 17:30:38 84

原创 多线程-线程池

线程池线程不是越多越好:在java中是一个对象,更是操作系统的资源,线程创建,销毁需要时间,如果创建时间+销毁时间>执行任务时间,就很不核算。java对象占用堆内存,操作系统线程占用系统内存,一个线程默认栈大小为1M,这个栈空间是需要从系统内存中分配的。操作系统需要频繁切换线程上下文线程池概念线程池管理器:创建并管理线程池,包括创建,销毁和添加新任务。工作线程:在没有任务时处于waiting状态,可以循环的执行任务。任务接口:每个任务必须实现的接口,规定了入口,执行完的收尾

2020-08-25 17:28:52 96 1

原创 opencv 里面各个字体的效果

opencv 里面各个字体的效果cv2.FONT_HERSHEY_SIMPLEXcv2.FONT_HERSHEY_PLAINcv2.FONT_HERSHEY_DUPLEXFONT_HERSHEY_COMPLEXcv2.FONT_HERSHEY_TRIPLEXcv2.FONT_HERSHEY_COMPLEX_SMALLcv2.FONT_HERSHEY_SCRIPT_SIMP...

2019-10-04 20:52:55 12815

原创 各个神经网络的用法

各个神经网络的用法see:python text_recognition_demo.py ../datasets/textrec/model/ model_190000.npz ../src_img/ag1.JPG ../datasets/textrec/ctc_char_map.jsoneast:python3 eval.py --test_data_path=/home/zbf/tf/...

2018-12-10 19:30:51 246

原创 通过代码看MAVLink协议 (三)

这是接着上一次的接收写的= =果然解析是最难的啊。// packet is now verified// 包现在已经确认了//系统id,组件idbyte sysid = buffer[3];byte compid = buffer[4];// update packet loss statistics// 更新包损失策略信息// 如果不是读日志模式,并且MAVlist里面...

2018-03-09 14:30:03 819 1

原创 欢迎使用CSDN-markdown编辑器

随笔

2017-03-18 17:57:03 426

原创 通过代码看MAVLink协议 (二)

通过代码看MAVLink协议 (二)接下来看一个500多行的函数= =,先擦擦汗。 public byte[] readPacket()没错就是他!今天要啃下这根骨头,吗?

2016-04-01 13:00:13 1400

原创 通过代码看MAVLink协议 (一)

通过代码看MAVLink协议 (一)最近因为毕设的缘故要看MAVLink协议,从里面读到一些传感器数据。 MAVLink的协议理解的差不多,但是大家都懂的,代码和实际上总有一些距离,所以,根据代码来看MAVLink协议可能会好一点。 我看的代码呢,是Mission Planner,是C#程序。源码可以在github上获取到的。我是通过一步一步读代码进入到当前的这个地方的,为了快速起见,使用vs2

2016-04-01 09:24:38 2968

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除