自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 kafka基本知识点

由Scala和Java编写,Kafka是一种Kafka是最初由Linkedin公司开发,是一个,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等。

2023-12-15 15:17:24 144

转载 分布式事务

常用的分布式锁的实现有三种方式。

2024-03-13 15:41:25 22

转载 PostgreSQL vs MySQLvs Sqlite

其免费开源,目前是使用最广泛的开源关系数据库系统,是众多IT厂商的第一选择。PostgreSQL是一个功能强大的开源数据库系统,它诞生于美国加州大学伯克利分校,PostgreSQL于1996年首次以开源软件的形式发布。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。

2024-02-22 17:02:47 91

原创 Modbus协议基础讲解

MODBUS 协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的 MODBUS 协议映射能够在应用数据单元(ADU)上引入一些附加域。在某种请求中,数据域可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。

2024-02-20 16:38:41 341

原创 Spring Cloud全家桶

但区别于springMvc的是,springBoot专注于微服务方面的接口开发,和前端解耦,虽然springBoot也可以做成springMvc前后台一起开发,但是这就有点不符合springBoot框架的初衷了;对于springCloud框架来说,它和springBoot一样,注重的是微服务的开发,但是springCloud更关注的是全局微服务的整合和管理,相当于管理多个springBoot框架的单体微服务;但他们的基础都是Spring的ioc、aop等. ioc 提供了依赖注入的容器,

2024-02-07 15:51:03 365

原创 AMQ基础

一对一。实现了负载均衡,将producer生产的消息发送到消息队列中,由多个消费者消费。但一个消息只能被一个消费者接受,当没有消费者可用时,这个消息会被保存直到有一个可用的消费者。一对多。实现了发布和订阅,当你发布一个消息,所有订阅这个topic的服务都能得到这个消息,所以从1到N个订阅者都能得到一个消息的拷贝。详见。

2023-11-29 15:45:18 90

原创 html笔记

html笔记

2022-08-18 11:22:24 714 1

原创 本地运行PY

pythoncmd打开,输入python,查看是否已经安装python,若没有则按步骤进行安装(这里是已经安装了python)

2022-07-15 10:46:49 639

原创 MQTT从入门到放弃

mqtt

2022-07-14 11:16:58 1993 2

原创 web浅试

前端1、htmlhtml–超文本标记语言,用来描述网页的一种语言html不是编程语言,而是标记语言什么是超文本?1、可以加入图片、声音、动画、 多媒体等内容(超越了文本限制)2、可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)...

2022-04-13 11:16:16 213

原创 run node

1、按照 https://www.cnblogs.com/wanglu/p/7062081.html 安装至第5步即可。(node、vue、npm)2、进入node.js界面:3、进入前端项目目录,输入:npm install接下来会进行一系列安装启动。4、启动完成后输入:npm run serve启动前端...

2021-10-21 14:57:57 226 1

原创 mybatis-plus

-----惊奇期待

2021-10-12 17:27:09 85

转载 springMVC+拦截器、过滤器

https://blog.csdn.net/weixin_44176169/article/details/104852285?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242https://blog.csdn.net/a745233700/article/details/80963758?utm_medium=distribute.pc_relev

2021-04-19 19:29:24 424

原创 杂谈123

对象的深浅复制为什么要重写equals和hashCode方法?HashMap是通过验证hashCode和key的相等两个步骤保证key的唯一性的。所以要想实现对象作为键插入,则需要重写hashCode()和equals()方法。在HashMap中,为什么不能使用基本数据类型作为key?HashMap存储数据的特点是:无序、无索引、不能存储重复元素。之所以key不能为基本数据类型,则是因为基本数据类型不能调用其hashcode()方法和equals()方法,进行比较,所以HashMap集合的k

2021-04-14 21:56:58 130 1

转载 消息中间件如何保证不丢失消息

丢失数据场景丢数据一般分为三种,一种是生产者发送消息失败,一种是mq把消息丢了,一种就是消费时将消息丢了。下面从rabbitmq和kafka分别说一下,丢失数据的场景:A:生产者弄丢了数据生产者将数据发送到rabbitmq的时候,可能在传输过程中因为网络问题而将数据弄丢了。B:rabbitmq自己丢了数据如果未开启rabbitmq的持久化,那么rabbitmq一旦重启,那么数据就丢了。所依必须开启持久化将消息持久化到磁盘,这样就算rabbitmq挂了,恢复之后会自动读取之前存储的数据,一般数据不会

2021-04-12 21:23:10 1163

转载 WebSocket

@ServerEndpoint:当ServerEndpointExporter类通过Spring配置进行声明并被使用,它将会去扫描带有@ServerEndpoint注解的类。被注解的类将被注册成为一个WebSocket端点。所有的配置项都在这个注解的属性中 ( 如:@ServerEndpoint("/ws") )

2021-03-22 11:43:43 1514

转载 Redis讲解

一、redis使用1.1 开启reids服务器端1.2 开启redis客户端基本使用(修改密码):方法一:直接在客户端进行修改查看当前的密码 config get requirepass 设置新的密码 config set requirepass 123456再次查询密码时,出现:(error) NOAUTH Authentication required. 此时报错了!现在只需要密码认证就可以了: auth 123456再次查询密码 127.0.0.1:6379>

2021-03-15 17:34:13 2130 1

转载 HTTPS协议流程

一、HTTP和HTTPSHTTP: 直接通过明文在浏览器和服务器之间传递信息。HTTPS: 采用 对称加密 和 非对称加密 结合的方式来保护浏览器和服务端之间的通信安全。HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。对称加密算法加密数据+非对称加密算法交换密钥+数字证书验证身份=安全二、什么是对称加密,非对称加密?对称加密:使用同一把密匙进行加密

2021-03-09 11:19:44 503

转载 浅析Cookie和Session

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。1、Cookie机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用

2021-03-05 14:37:17 97

原创 kafka神坑

Q1:生产者连接工厂,发送信息失败原因:pom依赖有问题只有生产者时,依赖用:<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.9.0.0</version></dependency>生产者+消费者时,依赖用: <depen

2021-02-22 20:24:33 329

原创 Jpa+Hibernate主键生成策略

一、hibernate的uuid主键生成器(String) @Id @GenericGenerator(name="systemUUID",strategy="uuid")//这个是hibernate的注解 @GeneratedValue(generator="systemUUID") //使用uuid的生成策略 @Column(name ="ID",length=255) private String id;strategy–策略,hibernate有13种。Generator——生成器

2020-11-19 16:52:34 655 1

转载 rmq的消息确认机制

一 确认种类每一个颜色块之间都存在着消息的确认机制,我们大概分为两大类,发送方确认和接收方确认,其中发送方确认又分为生产者到交换器到确认和交换器到队列的确认。即:消息发送确认。这种是用来确认生产者将消息发送给交换器,交换器传递给队列的过程中,消息是否成功投递。发送确认分为两步,一是确认是否到达交换器,二是确认是否到达队列。消费接收确认。这种是确认消费者是否成功消费了队列中的消息二 消息发送确认2.1 ConfirmCallback通过实现ConfirmCallBack接口,消息发送到交换

2020-11-16 10:48:57 390

原创 RabbitMQ之web界面解析

RabbitMQ之web界面解析登录rmq管理平台点击某个队列进入详情页面获取某个队列的信息新建一个队列进行监听其中ttl的时间单位:微秒上图设置得太短了(100),懒得重新截图了。。。♪(・ω・)ノ1秒=1000000 微秒(μs)下面重新建立一个队列,不设置过期时间通过过滤器,可以快速找到刚刚添加的队列新建一个交换机(direct为例)将Exchange与Queue绑定点击Exchange的Name可进入到Exchange的详情页面,在里面将Exchange与Q

2020-11-10 16:11:35 2372 1

原创 几种常见的排序算法

一、冒泡排序原理比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排序完成。时间复杂度最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2)bubbleSort_demo @Test public void bubbleSort() { i

2020-11-02 14:43:18 259

转载 AOP基本知识点

一 AOP的定义OOP面向对象,允许开发者定义纵向的关系,但并适用于定义横向的关系,导致了大量代码的重复,而不利于各个模块的重用。AOP(Aspect OrientedProgramming, 面向切面/方面编程) 旨在从业务逻辑中分离出来横切逻辑【eg:权限认证、日志、事务处理等】,提高模块化,即通过AOP解决代码耦合问题,让职责更加单一。它是面向对象的一种补充,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面”(Aspect)。二

2020-10-13 14:23:25 498

转载 AOP_JointPoint的基本知识及常用方法

常用方法JoinPoint 对象JoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装了该方法信息的JoinPoint对象.1、常用api方法名功能Signature getSignature();获取封装了署名信息的对象,在该对象中可以获取到目标方法名,所属类的Class等信息Object[] getArgs();获取传入目标方法的参数对象Object getTarget();获取被代理的对象

2020-10-09 19:28:27 5557

原创 AOP_自定义注解+枚举类

元注解元注解:专门修饰注解的注解java中元注解有四个: @Retention @Target @Document @Inherited@Retention:注解的保留位置@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含@Retention(RetentionPolicy.CLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,@Retention(RetentionPoli

2020-10-09 15:52:35 1585 1

原创 webSocket

package com.hk.passengerflow.webSocket;import org.springframework.stereotype.Component;import javax.websocket.*;import javax.websocket.server.ServerEndpoint;import java.io.IOException;import java.util.concurrent.CopyOnWriteArraySet;@ServerEndpoin

2020-09-25 21:21:30 81

原创 上传、下载excel

/*****************************下载excel模板****************************************/@Override public void downloadExcel(HttpServletResponse response) { String[] title = {"车站编号", "车站IP", "监视器编号", "电视墙IP", "客户端IP", "备注"}; String[][] data = n

2020-09-21 11:33:23 93

原创 OSI七层+TCP/IP五层

(1)OSI七层模型OSI中的层 功能 TCP/IP协议族OSI七层模型功能协议物理设备应用层文件传输,电子邮件,文件服务,虚拟终端HTTP,MODBUS,TFTP,SNMP,FTP,SMTP,DNS,Telnet表示层数据格式化,代码转换,数据加密无会话层解除或建立与别的接点的联系无传输层提供端对端的接口TCP,UDP四层交换机、也有工作在四层的路由器网络层为数据包选择路由IP,ICMP,RIP,OSPF,BGP,IGMP路

2020-09-10 20:01:44 97

原创 2020-08-19

为什么在HashMap中数组的长度length = 2^n(初始值为16),即2的n次 ?当计算索引值index = h % length 由于计算机的取余操作速度很慢,而计算机的按位取余 & 的操作非常快,又因为 h%length = h & (length-1) (需要满足length = 2^n) 因此规定了length = 2^n 加快index的计算速度,因此是利用了计算机本身的计算特性...

2020-08-19 11:36:28 80

转载 使用线程池的好处

new Object() 过程Object obj = new Object();当我需要【对象】时,我就会给自己 new 一个(不知你是否和我一样),这个过程你应该很熟悉了:分配一块内存 M在内存 M 上初始化该对象将内存 M 的地址赋值给引用变量 obj就是这么简单创建一个线程的过程上面已经提到了,创建一个线程还要调用操作系统内核API。为了更好的理解创建并启动一个线程的开销,我们需要看看 JVM 在背后帮我们做了哪些事情:它为一个线程栈分配内存,该栈为每个线程方法调用保存一个栈帧每

2020-08-05 10:43:33 90

原创 线程的4种创建方式及区别

从1、继承Thread类2、实现Runnable接口3、实现Callable接口4、创建线程池

2020-08-04 16:32:51 8131 1

原创 @Async+Future返回值

使用@Async方法有void和Future两种返回值其中void前面demo中已经写过,本篇文档主要写Future。借用举例AsyncResult是异步方式,异步主要用于调用的代码需要长时间运行,才能返回结果的时候,可以不阻塞调用者。打个比方,同步方式就是你打电话给客服,客服没法立刻解决,客服说你等等,别挂电话,然后等了10分钟,再告诉你。再挂电话。此时电话费照收,并且你不能接打别人的电话。异步方式就是,客服说,我先查查,查到了给你回电话,然后挂断。你干别的事情。等了10分钟,客服给你来电话了

2020-08-04 10:46:45 9501 2

原创 SpringBoot 教程之处理异步请求——@EnableAsync@Async

@EnableAsync 注解

2020-08-03 14:34:51 954

原创 Initializing Spring DispatcherServlet

新建项目启动成功后 ,controller接口无法调通,且检查url参数等正确,调接口时控制台报:是由于DispatcherServlet未初始化解决方法(取其一即可):1、在application.properties文件添加:spring.mvc.servlet.load-on-startup=100在spring boot load-on-startup默认值是-1,项目启动时,默认不会初始化DispatcherServlet,也就是不会调用Servlet接口的init()方法可以通过

2020-08-03 11:42:06 32802 5

转载 数据库事务

一、事务的基本要素(ACID)事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作不成功,要么都成功。其必须遵循四个原则(ACID)。原子性(Atomicity):指一个事务要么全部执行,要么不执行,也就是说一个事务不可能只执行了一半就停止了.比如你从取款机取钱,这个事务可以分成两个步骤:1划卡,2出钱.不可能划了卡,而钱却没出来.这两步必须同时完成.要么就不完成。一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行完成后数据库的数据还是应该处于正确

2020-07-23 17:13:40 356 1

转载 mq协议

一、消息中间件相关知识1、概述消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。2、消息中间件的组成Broker消息服务器,作为server提供消息核心服务Producer消息生产者,业务的发起方,负责生产消息传输给brokerCons

2020-07-17 11:14:57 1136

原创 RabbitMQ编程基本介绍

RabbitMQ使用管理和规范简介对比ActiveMQ(协议、使用场景)概念模型消息路由ExchangeTypedirectfanouttopic使用规范一、消息生产者二、消息消费者三、消息数据类型四、可视化管理开发指导maven坐标application.properties配置消息生产者消息消费者自定义接口其他配置项注意点问题排查指导原生命令rabbitMQ Management指导(推荐)简介RabbitMQ是开源的AMQP(高级消息队列协议)协议的

2020-07-15 14:45:43 1234 2

原创 netty代码流程+源码解析

值得深看 https://www.jianshu.com/p/23393851dc1a

2020-07-06 10:59:10 298

空空如也

空空如也

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

TA关注的人

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