自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (20)
  • 收藏
  • 关注

原创 flink中使用kafka用于消费kafka数据

注意:服务器flink版本等要与代码一致,不然会发布失败,本地成功。本文内容,是打包jar用于消费卡夫卡数据在服务端增加一条业务线

2022-11-29 10:37:50 2458 1

原创 物联网IOT与Java结合之MQTT协议:EMQT

物联网IOT与Java结合之MQTT协议:EMQT

2022-11-16 16:15:23 3130

原创 图像识别——(java)opencv(人脸识别简单实现)

人脸识别package com.acts.opencv.demo;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.core.MatOfRect;import org.opencv.core.Point;imp

2022-03-29 14:18:12 4429 2

原创 图像识别——(java)opencv(答题卡识别过程优化)

参考https://blog.csdn.net/qq_39246466/article/details/123740015package com.acts.opencv.base;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.TreeMap;import javax.servlet.http.HttpServletResponse;import org.a

2022-03-29 14:11:55 4610 2

原创 图像识别——(java)opencv(处理图像各种算法测试)

引入opencvpackage com.acts.opencv.base;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.u

2022-03-29 13:59:40 11103 8

原创 图像识别——(java使用opencv答题卡识别)

1.安装:配置linux或windows环境 [Linux下配置OpenCV](http://note.youdao.com/noteshare?id=5de54af1ef6fef8352b8f3d3a9356845&sub=3D706CF274274B68B3BA2C9C42254747)[Windows下配置OpenCV](http://note.youdao.com/noteshare?id=e0df335c7bba4d7633874375539c228a&sub=10

2022-03-25 16:50:09 3569 2

原创 图像识别——(java)opencv使用

相关代码package com.yuxue.util;import java.io.File;import java.time.Duration;import java.time.Instant;import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.Set;import java.util.Vector;import java.util.concurrent.Compl

2022-03-21 17:01:53 3812

原创 图像解析——(java)识别车牌步骤——更新中

## 车牌识别过程说明文档整体流程主要分两个大的步骤:- 1、使用多种算法,提取到车牌的轮廓,按轮廓从原图片获取车牌的切图,使用SVM算法模型,判断该切图是否是车牌- 2、根据车牌切图,判定车牌颜色,同时使用轮廓提取算法,提取车牌字符轮廓,按轮廓从二值图片获取车牌切图;使用ANN算法模型,分别使用中文字符模型、蓝牌模型、绿牌模型识别字符切图的文字内容![20201115182725.png](./pic/20201115182725.png)### 车牌图块提取其目的是从车牌图片中,提.

2022-03-21 14:06:30 4177

原创 图像解析——(java)解析图像各种算法原理

# 车牌识别部分算法说明文档## 图像通道OpenCV 中,图像可以分别为1,2,3,4 通道- 1 通道为灰度图;- 2 通道的图像是RGB555和RGB565。2通道图在程序处理中会用到,如傅里叶变换,可能会用到,一个通道为实数,一个通道为虚数,主要是编程方便。RGB555是16位的,2个字节,5+6+5,第一字节的前5位是R,后三位+第二字节是G,第二字节后5位是B,可见对原图像进行压缩了- 3 通道为彩色图(RGB);- 4 通道为 RGBA ,是RGB加上一个A通道,也叫alph.

2022-03-21 13:58:31 4937

原创 ES-JOB——自定义封装定时任务通用组件

ES-JOB——

2021-12-23 16:29:06 964

原创 ES-JOB——分布式定时任务高级使用——控制台修改任务

参考分布式定时任务基础使用:ES-JOB——分布式定时任务基础使用_择业的博客-CSDN博客再上面链接代码后进行代码编译分布式定时任务:按照分片执行,同一个jar在不同服务器上发布,同一定时任务,按照定时任务的分片执行。...

2021-12-07 16:38:59 1326

原创 ES-JOB——分布式定时任务基础使用

参考文档:概览 :: ElasticJobhttps://shardingsphere.apache.org/elasticjob/current/cn/overview/

2021-11-23 17:40:45 2345

原创 分库分表——多数据源切换以及读写分离

多数据源实现:读写分离

2021-11-19 17:53:42 1033

原创 分库分表——mysql主从环境搭建

mysql主从环境搭建

2021-11-19 17:14:42 613

原创 RabbitMQ延迟队列实现定时发邮件

功能:前端设定时间,实现指定时间发送邮件。技术:MQ异步延迟消息整体思想:延迟消息config封装:(SendMailDelayConfig:包括SEND_MAIL_DELAY_REPEAT_TRADE_QUEUE_NAME转发监听队列,负责将拥堵在拥堵队列中的消息转发到业务处理消息监听逻辑中SEND_MAIL_DELAY_DEAD_LETTER_QUEUE_NAME消息拥堵队列,时间结束前消息会拥堵在此,消息时间结束后会将消息转发到业务逻辑处理队列中QUEUE_SEND_MA

2021-11-11 11:16:22 2269

原创 分库分表——互联网开发协作流程

分库分表_互联网开发协作流程

2021-10-12 16:24:31 70

原创 高并发架构——主流软负载均衡器介绍-LVS

主流软负载均衡器介绍-LVS

2021-10-12 16:07:13 617

原创 高并发架构——软负载据衡器Haproxy通过Keepalived实现

顾名思义是保持存活,常用来搭建设备的高可用,防止业务核心设备出现单点故障。keepalived基于VRRP协议来实现高可用,主要用作realserver的健康检查以及负载均衡主机和backup主机之间的故障漂移。如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具有3~5层交换功能,其主要作用是检测web服务器的状态,如果某台web服务器故障,Keepalived将检测到并将其从系统中剔除,当该web服务器工作正常后Keepalived自动将其加...

2021-09-23 14:47:40 167

原创 高并发架构——nginx安装应用

nginx

2021-09-08 13:23:02 109

原创 高并发架构——软负载均衡器Haproxy介绍以及安装

Haproxy

2021-09-08 12:03:23 983

原创 高并发架构——系统架构演变

高并发架构简介

2021-08-26 18:37:57 543

原创 线程安全——AQS——锁优化

1 避免死锁2 减小锁的持有时间3 减小锁的粒度4 锁的分离(读写锁)5 尽量使用无锁的操作,如原子操作(Atomic系列类),volatile关键字源代码解析:acquire(int): 此方法是独占模式下线程获取共享资源的顶层入口。如果获取到资源,线程直接返回,否则进入等待队列,直到获取到资源为止,且整个过程忽略中断的影响。这也正是lock()的语义,当然不仅仅只限于lock()。获取到资源后,线程就可以去执行其临界区代码了。下面是acquire()的源码,也是AQS的核心.

2021-08-26 16:36:32 101

原创 线程安全——AQS——LockSupport针对一个线程的阻塞与释放阻塞

LockSupport提供park()和unpark()方法实现阻塞线程和解除线程阻塞,实现的阻塞和解除阻塞是基于”许可(permit)”作为关联,permit相当于一个信号量(0,1),默认是0. 线程之间不再需要一个Object或者其它变量来存储状态,不再需要关心对方的状态。LockSupport不需要在同步代码块里 。所以线程间也不需要维护一个共享的同步对象了,实现了线程间的解耦.unpark函数可以先于park调用,所以不需要担心线程间的执行...

2021-08-26 15:38:29 203

原创 线程安全——AQS——ReadWriteLock读写锁的使用

读写锁ReentrantReadWriteLock,其核心就是实现读写分离的锁。在高并发访问下,尤其是读多写少的情况下,性能要远高于重入锁。 之前学synchronized、ReentrantLock时,我们知道,同一时间内,只能有一个线程进行访问被锁定的代码,那么读写锁则不同,其本质是分成两个锁,即读锁、写锁。在读锁下,多个线程可以并发的进行访问,但是在写锁的时候,只能一个一个的顺序访问。 口诀:读读共享,写写互斥,读写互斥。代码:private Reentra...

2021-08-26 14:53:26 302

原创 线程安全——AQS——(CountDownLatch)与Condition条件判断的使用多个线程中等待唤醒操作

再以CountDownLatch以例,任务分为N个子线程去执行,state也初始化为N(注意N要与线程个数一致)。这N个子线程是并行执行的,每个子线程执行完后countDown()一次,state会CAS减1。等到所有子线程都执行完后(即state=0),会unpark()调用线程,然后主调用线程就会从await()函数返回,继续后余动作。package com.bfxy.thread.core.juc;import java.util.concurrent.CountDownLa...

2021-08-26 14:01:45 261

原创 线程安全——AQS——ReentrantLock(重入锁)

A线程自己是可以重复获取此锁的(state会累加),这就是可重入的概念。但要注意,获取多少次就要释放多么次,这样才能保证state是能回到零态的。谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer (AQS) 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,比如我们之前的课程上讲到的: 的ReentrantLo...

2021-08-26 11:49:06 206

原创 linux基本命令-

tail显示文件file.txt的最后10行tail file.txt显示文件file.txt最后20行tail +20 file.txt显示文件file的最后10个字符tail -c 10 file.txt一直变化的文件总是显示后10行tail -f 10 file.txt显示帮助信息tail --helpzip命令 – 压缩文件...

2021-08-18 18:34:35 80

原创 线程安全——线程池核心——ThreadPoolExecutor自定义线程池

若Executors工厂无法满足我们的需求,可以自己创建自定义线程池,其实Executors工厂类里面的创建线程方法其内部实现均是用了ThreadPoolExecutor这个类,这个类可以自定义线程。构造方法如下:队列类型参数选择:在使用有界队列时,若有新的任务需要执行,如果线程池实际线程数小于corePoolSize,则优先创建线程,若大于corePoolSize,则会将任务加入队列,若队列已满,则在总线程数不大于maximumPoolSize的前提下,创建新...

2021-08-18 17:59:27 606

原创 线程安全——线程池核心——Executors线程工厂类

线程池核心概述Executors工厂类使用 Executors工厂类底层源码分析详解 ThreadPoolExecutor自定义线程池 ThreadPoolExecutor拒绝策略详解 计算机密集型与IO密集型详解 如何正确的使用线程池线程池一说到这个词,大家很容易想到高并发等等各种脑补的场景。高并发其实是一个非常抽象的概念,要实现高并发其实不仅仅是一个JAVA 线程集合类、或者JAVA基础层面就能搞定的事情,在互联网大厂中,高并发...

2021-08-17 16:28:44 414

原创 线程安全——J.U.C工具类——Semaphore信号量与限流策略(只支持五个线程执行企业他排队)

Semaphore信号量与限流策略在Semaphore信号量非常适合高并发访问限制,新系统在上线之前,要对系统的访问量进行评估,当然这个值肯定不是随便拍拍脑袋就能想出来的,是经过以往的经验、数据、历年的访问量,已经推广力度进行一个合理的评估,当然评估标准不能太大也不能太小,太大的话投入的资源达不到实际效果,纯粹浪费资源,太小的话,某个时间点一个高峰值的访问量上来直接可以压垮系统。相关概念:PV(page view)网站的总访问量,页面浏览量或点击量,用户每刷新一次就会被记录一次。...

2021-08-17 12:02:24 155

原创 线程安全——Master-Worker并发组件设计模拟

Master-Worker并发组件设计模拟Master-Worker模式是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和Worker进程。Master负责接收和分配任务,Worker负责处理子任务。当各个Worker子进程处理完成后,会将结果返回给Master,由Master做归纳和总结。其好处是能将一个大任务分解成若干个小任务,并行执行,从而提高系统的吞吐量。代码结构;代码实现:执行的任务package com.bfxy.t...

2021-08-13 15:29:49 117

原创 线程安全——J.U.C工具类——ForkJoin并行框架

ForkJoin并行框架Fork/Join框架是JAVA7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架使用场景:不需要返回结果:将100条数据插入到数据库Fork/Join中两个重要的类:ForkJoinTask:使用该框架,需要创建一个ForkJoin任务,它提供在任务中执行fork和join操作的机制。一般情况下,我们并不需要直接继承ForkJoinTask类,只需要继承它的子类,它的子类有两个:Recu.

2021-08-13 11:53:01 234

原创 线程安全——J.U.C工具类——Exchanger两个线程间数据交换,比如应用在数据比对

Exchanger多线程间数据交换Exchanger用于进行线程间的数据交换,它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据;两个线程通过exchange方法交换数据,如果一个线程先执行exchange方法,它会一直等待第二个线程也执行exchange方法当两个线程都达到同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方 使用场景:两人录入excle比较数据是否一样遗传算法:遗传算法里需要选出两个人作为交换对象,这时会交换两人的数据,并使用..

2021-08-12 18:47:59 126

原创 线程安全——J.U.C工具类——Future(异步空间换时间)与实现Caller回调(适合业务耗时比较长)(模拟future)

Future模式,也是非常经典的设计模式,这种模式主要就利用空间换时间的概念,也就是说异步执行(需要开启一个新的线程)。在互联网高并发的应用服务中,我们随处可见这种理念和代码,主要就是使用了这种模式!Future模式非常适合在处理很耗时很长的业务逻辑时进行使用,可以有效的减小系统的响应时间,提高系统的吞吐量!1/实现Callable接口2/3/4/package com.bfxy.thread.core.juc;import java.util.concurrent.Cal

2021-08-10 18:38:17 217

原创 线程安全——J.U.C工具类——CyclicBarrier(阻塞多个线程后,同时开启执行)实例:模拟几个运动员同时跑步

CyclicBarrier:栅栏的概念,多线程的进行阻塞,等待某一个临界值条件满足后,同时执行! 假设有只有的一个场景:每个线程代表一个跑步运动员,当运动员都准备好后,才一起出发,只要有一个人没有准备好,大家都等待!package com.bfxy.thread.core.juc;import java.util.Random;import java.util.concurrent.BrokenBarrierException;import java.util.concur...

2021-08-10 17:25:14 149

原创 线程安全——J.U.C工具类——CountDownLatch

概述:CountDownLatch CountDownLatch实战场景应用 CyclicBarrier CyclicBarrier实战场景应用 Future与Caller回调利用设计模式模拟FutureExchanger多线程间数据交换ForkJoin并行Master-Worker并发组件模拟-生产消费者模式 Semaphore信号量与限流策略 CountDownLatch用于监听某些初始化操作,并且线程进行阻塞,等初始化执行...

2021-08-10 16:29:15 427

原创 线程安全——JDK Unsafe类使用(内存操作,字段定位与修改等)与CAS原子特性

java.util.concurrent.atomic包,其中大量的用到Unsafe这个类。那么我们就了解一下这个类到底是来干嘛的?由于java不能直接访问操作系统底层,而是通过本地方法来访问。Unsafe类提供了硬件级别的原子操作,主要提供了以下功能:内存操作字段的定位与修改挂起与恢复CAS操作(乐观锁) 字段的定位与修改:可以定位对象某字段的内存位置也可以修改对象的字段值,即使它是私有的挂起与恢复将一个线程进行挂起是通过park方法实现的,调用 park后,线程将一直阻塞直到超时.

2021-08-10 14:51:14 338

原创 线程安全——Atomic系列类(主要实现原子类)

Atomic系列类封装了一系列的基础类型和对象操作,其主要目的就是为了实现原子性,主要核心类如下:AtomicIntegerAtomicLongAtomicBooleanAtomicIntegerArrayAtomicLongArrayAtomicReference原子性,多线程中能并发操作,保证数据准确AtomicInteger与synchronized(将add操作变成一个原子操作)能保证原子性操作,(最终结果1000)能保证方法内运行中不会出现617,613之类的数

2021-08-09 18:13:35 462

原创 线程安全——volatile&Happensbefore与指令重排序的概念

Hello 大家好,我原名叫Java Memory Model(Java 内存模型),大家都叫我JMM,简洁又好听!并发编程这块,没有我可是不行的,我要解决的问题就是一个线程对共享变量的写入何时对另一个线程可见!比如一个线程给变量 a 赋值 int a = 3; // 向变量 a 写值我要解决的问题就是:"在什么条件下,读取变量a的线程将看到这个值3"如果缺少同步,那会有很多因素使得读取变量a的线程不能立即看到或者永远看不到这个值3...

2021-08-09 17:21:53 120

原创 线程安全——Volatile&原子性、核心

Volatile&原子性、核心概述Volatile关键字核心概念与应用 Volatile关键字内存模型分析 Volatile关键字happens-before与内存屏障概念、重排序 Atomic类关键字 Atomic类实战应用爬坑手记 JDK Unsafe类使用与CAS原子特性Volatile概念:Volatile关键字的主要作用是使变量在多个线程间可见。作用: 在多线程间可以进行变量的变更,使得线程间进行数据的共享可见

2021-08-07 17:38:56 78

EMQX本地windows版本用于MQTT协议研究

EMQX本地windows版本用于MQTT协议研究,希望各位程序员朋友们,感兴趣给好评

2022-11-29

MariaDB-主从-01.pdf

数据库主从关系,分库分表使用

2021-10-12

LVS安装配置说明.pdf

LVS

2021-09-08

Keepalived安装配置.pdf

Keepalived安装配置.pdf

2021-09-08

Nginx编译安装配置.pdf

nginx

2021-09-08

HAProxy用法详解.pdf

有需要做网站,微信小程序的可以私聊

2021-09-08

backup.sh(备份数据库脚本并上传资源到oss)

用oss上传备份的数据,删除文件的脚本

2021-07-29

001_并发编程基础专题-01.pptx

高并发知识点

2021-07-29

jdk-10.0.2_windows-x64_bin-01.zip

jdk10

2021-07-29

并发编程课程代码-01.zip

高并发代码实战

2021-07-29

spring-cloud-matser课程源码-01.rar

spring-cloud一步步集成

2021-07-06

自定义模板导出excle项目工具poi-el.rar

支持excle基础信息自定义,列表自定义,列表中图片自定义

2021-05-26

sprintboot-config.rar

zookeeper在去中心化中的应用springboot

2021-04-15

springboot-dubbo-demo.rar

springboot与dubbo的整合

2021-04-15

springboot-zookeeper-client.rar

zookeeper的客户端应用

2021-04-15

springboot-zookeeper-curator.rar

zookeeper的curator使用代码

2021-04-15

netty-002.rar

使用netty自定义协议

2021-02-27

从socket到netty

从socket到netty,从易到难,稳扎稳打,欢迎交流,java学习者关注:客户端服务端socket通信

2020-07-20

apm_test.rar:项目设计rabbitmq;eurake注册中心;zuul网关;企业微信接口;继承soringcloud

实时推微信消息,将apm项目设计成高可用,可建集群项目。

2019-05-16

云总机接口api

打电话须知:打电话须知:打电话须知:打电话须知:打电话须知:打电话须知:打电话须知:打电话须知:打电话须知:打电话须知:打电话须知:

2017-09-20

云总机电话接口

打电话接口,提交两个电话号码,被云总机接通。

2017-09-20

空空如也

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

TA关注的人

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