- 博客(246)
- 资源 (18)
- 收藏
- 关注
原创 ActiveMQ —— Broker
文章目录Broker 是什么?不同的 conf 配置文件模拟不同的实例嵌入式 Brokerpom.xmlEmbedBroker队列验证Broker 是什么?相当于一个 ActiveMQ 服务器实例说白了,Broker 其实就是实现了用代码的形式启动 ActiveMQ 将 MQ 嵌入到 Java 代码中,以便随时用随时启动,在用的时候再去启动这样能节省了资源,也保证了可靠性不同的 conf 配置文件模拟不同的实例在 conf 里面拷贝一个 activemp.xml 一样的文件命名为 activemp
2020-05-23 11:32:25
5664
原创 ActiveMQ —— Java 连接 ActiveMQ(点对点)
文章目录点对点的消息传递中,目的地被称为队列(Queue)创建 Maven 工程添加相关依赖消息生产者总结消息消费者点对点的消息传递中,目的地被称为队列(Queue)创建 Maven 工程关于怎么创建 Maven 工程这里就不详细讲解了,不会的朋友网上找一下添加相关依赖<!-- activemq 所需要的 jar 包配置 --><dependency> &...
2020-05-18 11:06:12
5584
原创 ActiveMQ 下载、安装
ActiveMQ 官网ActiveMQ 官网地址 http://activemq.apache.org/ActiveMQ 下载下载地址 http://activemq.apache.org/components/classic/download/根据对应的版本下载即可下载之后解压的目录结构如下(本文基于 Windows 环境):ActiveMQ 最主要的功能实现高可用高性能...
2020-05-18 11:05:31
10047
原创 消息中间件 —— 简介
文章目录什么是消息中间件?消息中间件引出产生背景一、系统之间接口耦合比较严重系统之间直接调用实际工程落地和存在问题系统之间接口耦合比较严重二、面对大流量并发时,容易被冲垮三、等待同步存在性能问题如何解决?常用的消息中间件有哪些?什么是消息中间件?上面提到过消息中间件,那么什么是消息中间件呢? 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行 分布式系统 ...
2020-05-18 11:03:29
6101
2
原创 OpenCV —— 阈值与平滑处理
文章目录图像阈值举例平滑处理均值滤波方原滤波高斯滤波中值滤波什么是卷积?展示全部平滑处理图像阈值ret,dst = cv2.threshold(src,thresh,maxval,type)src :输入图,只能输入单通道图像,通常来说为灰度图dst :输出图thresh :阈值maxval :当像素值超过了阈值(或者小于阈值,根据 type 来决定),所赋予的值type :二值化操作的类型,包含以下 5 种类型,cv2.THRESH_BINARY、cv2.THRESH_BINARY_IN
2020-05-18 10:29:28
5019
原创 Netty —— Netty 模型
文章目录Netty 模型工作原理示意图 - 简单版工作原理示意图 - 进阶版工作原理示意图 - 详细版Netty 模型工作原理示意图 - 简单版Netty 主要基于主从 Reactor 多线程模型(如图)做了一定的改进,其中主从 Reactor 多线程模型有多个 Reactor1)BossGroup 线程维护 selector,只关注 Accept2)当接收到 Accept 事件,获取到对应的 SocketChannel,封装成 NIOSocketChannel 并注册到 Worker,线程(
2020-05-17 12:00:54
5113
原创 Reactor 模式(单 Reactor 单线程、单 Reactor 多线程、主从 Reactor 多线程)
文章目录单 Reactor 单线程工作原理示意图方案说明方案优缺点分析优点缺点使用场景单 Reactor 多线程工作原理示意图方案说明方案优缺点分析优点缺点主从 Reactor 多线程工作原理示意图方案说明方案优缺点分析优点缺点结合实例Reactor 模式小结3 种模式有哪个生活案例来理解Reactor 模式具有如下的优点单 Reactor 单线程工作原理示意图方案说明1)Select 是前面 I/O 复用模型介绍的标准网络编程 API,可以实现应用程序通过一个阻塞对象监听多路连接请求2)Re
2020-05-17 11:59:18
10646
3
原创 Netty —— 下载、安装
文章目录Netty 下载在这里插入图片描述将 jar 添加到 IDEANetty 下载Netty 下载地址 https://bintray.com/netty/downloads/netty下载对应版本即可下载之后,解压的文件为:不想下载 jar 包的,也可以使用 MavenNetty 依赖如下:<dependency> <groupId>io.netty</groupId> <artifactId>netty</artifact
2020-05-17 11:58:05
12163
原创 Netty —— 概述
文章目录原生 NIO 存在的问题官网介绍Netty 官网说明Netty 的优点Netty 版本说明原生 NIO 存在的问题1)NIO 的类库和 API 繁杂,使用麻烦;需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer 等2)需要具备其它的额外技能;要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Reactor 模式,你必须对多线程和网络编程非常熟悉,才能编写出高质量的 NIO 程序3)开发工作量和难度都非常大;例如客户
2020-05-17 11:57:14
5184
原创 NIO介绍
文章目录Netty 的介绍Netty 的应用场景I/O 模型I/O 模型基本说明Java BIOJava NIOJava AIOBIO、NIO、AIO 使用场景分析Java BIO 基本介绍简单的 Java BIO 实例总结Java NIO 基本介绍NIO 和 BIO 的比较Netty 的介绍Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目Ne...
2020-05-16 11:18:45
7339
原创 NIO —— 三大组件
文章目录NIO 三大核心原理示意图缓冲区(Buffer)基本 介绍Buffer 类及其子类Buffer 的读写切换通道(Channel)基本介绍选择器(Selector)基本介绍特点注意事项write(ByteBuffer src)举例(写入数据):read(ByteBuffer dst)举例(读取数据)举例(拷贝文件)ByteBuffertransferFrom关于 Buffer 和 Chann...
2020-05-16 11:18:21
8488
原创 线程池的底层实现原理
文章目录newFixedThreadPool(int nThread)newSingleThreadExecutor()newCachedThreadPool()线程池的七大参数corePoolSizemaximumPoolSizekeepAliveTimeunitworkQueuethreadFactoryhandler线程池的底层工作原理线程池用哪个?生产中如何设置合理参数newFixedT...
2020-05-16 11:15:19
7107
原创 谈谈线程池的三大方法
文章目录为什么使用线程池?线程池如何使用?架构说明Executors.newFixedThreadPool(int nThreads)举例Executors.newSingleThreadExecutor()举例Executors.newCachedThreadPool()举例为什么使用线程池?线程池做的工作主要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这个任务,如果...
2020-05-16 11:14:57
4883
原创 OpenCV —— 图像基本操作
文章目录加载图像图像显示加载图像imread 功能是加载图像文件成为一个 Mat 对象,其中第一个参数表示图像文件名称,第二个参数表示加载的图像是什么类型,支持常见的三个参数值IMREAD_UNCHANDED(<0) 表示加载原图,不做任何改变IMREAD_GRAYSCALE(0) 表示吧原图作为灰度图像加载进来IMREAD_COLOR(>0) 表示把原图作为 RGB 图像加载进来注意:OpenCV 支持 JPG、PNG、TIFF 等常见格式图像文件加载(默认读取的格式是 BGR
2020-05-15 10:41:23
7941
原创 OpenCV —— 概述与环境搭建
文章目录什么是 OpenCV?环境搭建OpenCV 的简单使用什么是 OpenCV? OpenCV 是一个基于 BSD 许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了 Python、Ruby、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 用C++语言编写,它的主要接口也是 C++ 语言,但是依然保留了
2020-05-10 10:00:21
6841
1
原创 ElasticSearch —— 中文分词器 IK
中文分词器下载下载 elasticsearch-analysis 中文分词器,下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/安装中文分词器elasticsearch-pluginelasticsearch 提供了一个安装插件的批处理文件,该 elasticsearch-plugin 文件在 elastic...
2020-05-04 11:43:11
4136
原创 ElasticSearch 下载、安装
文章目录ElasticSearch 下载、安装下载安装Kibana 下载运行 KibanaElasticSearch 下载、安装下载ElasticSearch 下载地址: https://www.elastic.co/cn/downloads/elasticsearch下载对应的版本即可,当然,使用 ElasticSearch 之前得先配置 Java 环境,关于 Java 的配置这里就不...
2020-05-02 10:57:44
4116
原创 ElasticSearch 简介
文章目录什么是 ElasticSearch?ElasticSearch 与 Solr 对比ElasticSearch 下载、安装下载安装Kibana 下载运行 KibanaElasticSearch 概念概述核心概念索引 Index类型 Type字段 Field映射 Mapping文档 Document接近实时 NRT集群 cluster节点 Node分片和复制 shards & repl...
2020-05-01 10:05:46
3499
原创 谈谈 ArrayBlockingQueue 的使用
文章目录什么是 BlockingQueue?简介定义操作分解添加元素移除元素动画演示抛出异常IllegalStateExceptionadd(E e)NoSuchElementException特殊值offer(E e)poll()阻塞超时什么是 BlockingQueue?简介 BlockingQueue 是由数组支持的有界阻塞队列。此队列对元素FIFO(先进先出)进行排序。队列的开...
2020-04-25 09:58:53
8789
原创 深入浅出 CopyOnWriteArrayList
文章目录什么是 CopyOnWriteArrayList?CopyOnWriteCopyOnWriteArrayList 的实现原理add(E e) 方法getArray()setArray(Object[] a)什么是 CopyOnWriteArrayList?CopyOnWriteArrayList 我们可以拆分为两个词来理解,一个是 CopyOnWrite,一个是 ArrayList,A...
2020-04-16 10:05:34
4033
原创 解决 ArrayList 的线程不安全
文章目录前文为什么说 ArrayList 是线程不安全的?故障现象导致原因解决方法优化速度前文ArrayList 的使用方法深入理解 ArrayList 深入理解 LinkedList深入理解 Vector为什么说 ArrayList 是线程不安全的?看过我之前写的深入理解 ArrayList 的朋友们应该都知道 ArrayList 是线程安全的,但是为什么说 ArrayList 是...
2020-04-12 10:54:22
3559
1
原创 fail-fast 与 fail-safe 的区别
文章目录什么是 fail-fast?原理使用场景什么是 fail-safe?原理fail-safe 有什么缺点吗?使用场景什么是 fail-fast?fail-fast(快速失败)是在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出 ConcurrentModificationException 异常原理迭代器在遍历的时候直接访问集合中的内...
2020-04-11 10:36:23
3007
原创 树结构 —— 二叉树的概述
文章目录什么是二叉树?二叉树的定义满二叉树什么是满二叉树定义完全二叉树什么是完全二叉树?什么是二叉树?在计算机科学中,二叉树(英语:Binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒二叉树的定义任何一个节点的子节点数量都不超过 2有左节点和右节点(不能随意颠倒)左边...
2020-04-07 10:17:04
3084
原创 树结构概述
文章目录什么是树结构?简介为什么要使用树结构?树的基本概念根节点双亲节点路径节点的度节点的权叶子节点子树层树的高度森林什么是树结构?树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样简介树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序如下时,可用树...
2020-04-06 10:26:50
5700
原创 SpringCloud —— Config 配置中心
前文前文SpringCloud 简介SpringCloud 版本选型SpringCloud 工程构建SpringCloud —— Eureka 注册中心SpringCloud —— Eureka 集群SpringCloud —— 服务注册进 Eureka 集群SpringCloud —— Eureka 自我保护SpringCloud —— SpringCloud C...
2020-03-31 10:45:26
2678
原创 SpringCloud —— Gateway 网关
前文SpringCloud 简介SpringCloud 版本选型SpringCloud 工程构建SpringCloud —— Eureka 注册中心SpringCloud —— Eureka 集群SpringCloud —— 服务注册进 Eureka 集群SpringCloud —— Eureka 自我保护SpringCloud —— SpringCloud Cons...
2020-03-30 10:08:19
3157
原创 SpringCloud —— HystrixDashboard 服务监控
文章目录服务监控 HystrixDashboard概述新建 Module添加依赖编写 application.yml 文件编写启动类所有 Provider 微服务提供类都需要监控依赖配置启动服务测试访问9001 监控 8001测试访问监控服务服务监控 HystrixDashboard概述 除了隔离依赖服务的调用外,Hystrix 还提供了 准实时的调用监控(Hystrix Dashbo...
2020-03-29 10:16:21
2288
原创 SpringCloud —— Hystrix 断路器
文章目录高并发测试为什么会卡死新建 Module 80(消费者)添加依赖编写 application.yml 文件编写启动类编写业务接口编写 Controller测试服务降级服务降级容错解决的维度要求服务降级配置服务提供者超时设置修改服务提供者 8001 的 PaymentService修该服务提供者 8001 的启动类测试访问消费端超时设置修改 application.yml 文件修改提供者的超...
2020-03-29 10:15:38
2617
原创 SpringCloud —— Hystrix 简介
前文SpringCloud 简介SpringCloud 版本选型SpringCloud 工程构建SpringCloud —— Eureka 注册中心SpringCloud —— Eureka 集群SpringCloud —— 服务注册进 Eureka 集群SpringCloud —— Eureka 自我保护SpringCloud —— SpringCloud Cons...
2020-03-29 10:14:25
2270
原创 SpringCloud —— OpenFeign
文章目录什么是 OpenFeign?Feign 能干什么?Feign 集成了 RibbonFeign 和 OpenFeign 的区别新建 Module(80)编写 application.yml 文件编写启动类编写业务接口编写控制器代码启动服务OpenFeign 超时控制超时演示出错情况服务提供方 8001 故意写暂停程序服务消费方 80 添加超时方法 OpenFeignPaymentServic...
2020-03-28 09:57:58
2396
1
原创 SpringCloud —— Ribbon 负载均衡算法
前文微服务(一)SpringCloud 简介微服务(二)SpringCloud 版本选型微服务(三)SpringCloud 工程构建微服务(四)SpringCloud —— Eureka 注册中心微服务(五)SpringCloud —— Eureka 集群微服务(六)SpringCloud —— 服务注册进 Eureka 集群微服务(七)SpringCloud —— Eu...
2020-03-28 09:56:31
2325
原创 SpringCloud —— Ribbon
文章目录什么是 Ribbon?Ribbon 能干什么?负载均衡(LB)集中式 LB进程内 LB什么是 Ribbon?SpringCloud Ribbon 是基于 Netflix Ribbon 实现的一套 客户端负载均衡的工具 简单地说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供 客户端软件负载均衡算法和服务调用。Ribbon 客户端组件提供一系列完善的配置项,如连...
2020-03-27 11:38:34
2243
原创 SpringCloud —— 三个注册中心的异同点
三个注册中心的异同点组件名语言CAP服务健康检查对外暴露接口SpringCloud 集成EurekaJavaAP可配支持HTTP支持ConsulGoCP支持HTTP/DNS支持ZookeeperJavaCP支持客户端支持另外,Eureka 和 Consul 都是有界面的,而 Zookeeper 没有什么是 CAP?...
2020-03-27 09:00:02
2602
原创 SpringCloud —— SpringCloud Consul 实现服务注册中心
文章目录Consul 是什么?SpringCloud Consul 具有如下特性Consul 的下载安装启动 Consul访问页面新建 Module(8006)添加依赖编写 application.yml启动类编写 Controller测试新建 Module(80)添加依赖编写 application.yml 文件编写启动类配置 Bean编写 Controller测试Consul 是什么?Co...
2020-03-27 08:58:43
2253
原创 SpringCloud —— Eureka 自我保护机制
文章目录概述为什么会产生 Eureka 自我保护机制?什么是自我保护模式?怎么禁止自我保护概述 保护模式主要用于一组客户端和 Eureka Server 之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server 将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务如果在 Eureka Server 的首页看到以下这段提示,则说明 Eu...
2020-03-27 08:57:04
2024
原创 SpringCloud —— 服务注册进 Eureka 集群
文章目录修改 80 项目的 yml 文件修改 8001 项目的 yml 文件启动 EurekaServer修改 80 项目的 yml 文件server: port: 80spring: application: # 服务名称 name: demo-order-serviceeureka: client: # 表示是否将自己注册进 EurekaServ...
2020-03-27 08:54:41
2246
原创 SpringCloud —— Eureka 集群
文章目录Eureka 集群说明单机版的 Eureka 配置Eureka 集群修改 hosts 文件新建 Module(7001)添加依赖编写 application.yml 文件编写启动类新建 Module(7002)添加依赖编写 application.yml 文件编写启动类测试Eureka 集群说明先来看下单机版的 Eureka服务注册:将服务信息注册进注册中心服务发现:从注册中心上...
2020-03-26 10:57:35
1937
原创 SpringCloud —— Eureka 注册中心
文章目录什么是 Eureka ?Eureka 的基本架构Eureka 中的组件Eureka 中的三大角色1.x 和 2.x 的对比说明(Server)创建工程(Server)添加依赖编写 application.yml 文件编写启动类启动项目1.x 和 2.x 的对比说明(Client)创建工程(Client)添加依赖编写 application.yml编写启动类启动项目多个服务注册什么是 Eu...
2020-03-26 10:54:56
2076
原创 微服务 SpringCloud 工程构建
下载工程为了方便,这里直接从 Spring 的官网上下载项目,链接地址 https://start.spring.io/下载之后直接解压即可使用 IDEA 导入项目工程修改 pom.xml 文件,添加 pom,设置为总工程Maven 中的 DependencyManagement 和 DependenciesMaven 使用 dependencyManagement 元素来提供...
2020-03-26 10:51:57
1632
原创 微服务 SpringCloud 版本选型
右边的是 SpringBoot 的版本,对应左边 SpringCloud 的版本如果你使用 SpringCloud 的 Hoxton 版本,那么 SpringBoot 的版本就必须是 2.2.x 以上通过访问 https://start.spring.io/actuator/info 可以知道 SpringCloud 技术选型要想同时使用 SpringBoot 和 SpringCloud...
2020-03-26 10:50:00
1988
Python 实现的 word 转 pdf 小工具
2020-03-11
Python 实现的解压缩工具-zipfile.exe
2019-11-08
一款强力有效的卸载工具
2024-02-23
Java反编译工具——jad.exe
2019-11-23
ClassRandom.exe
2019-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅