自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 黑马头条登陆功能详述

但是在这里,为了防止redis中的用户信息一直存在,我们在上面代码中其实的给token设置了过期时间的,但是如果我们一直没用用到用户信息的功能,登录状态就会没有。2、使用redis缓存来实现共享session问题,问题的关键是怎么获得获取redis中对象时,需要自己手动设置一个key,下次查询也需要携带这个令牌,这个时候前端就是会把返回的token保存在web服务器中,保证每次都是携带了token的。使用redis缓存验证码,key需要时唯一的,可以采用电话号码就可以,值得话直接也是string格式。

2023-11-29 21:56:46 654

原创 Mysql面经

脏读(Dirty read): 当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,依据“脏数据”所做的操作可能是不正确的。丢失修改(Lost to modify): 指在一个事务读取一个数据时,另外一个事务也访问了该数据,那么在第一个事务中修改了这个数据后,第二个事务也修改了这个数据。这样第一个事务内的修改结果就被丢失,因此称为丢失修改。

2023-11-23 09:38:40 615

原创 解决Redis分布式锁宕机出现不可靠问题-zookeeper分布式锁

直接 lock = new InterProcessMutex(client,“/lock”);InterProcessSemaphoreMutex:分布式排它锁(非可重入锁)InterProcessMultiLock:将多个锁作为单个实体管理的容器。核心思想:当客户端要获取锁,则创建节点,使用完锁,则删除该节点。InterProcessReadWriteLock:分布式读写锁。InterProcessSemaphoreV2:共享信号量。Curator 实现分布式锁 API。

2023-11-18 22:32:59 624

原创 java回调函数

在java中是存在回调函数的,我们可以把回调函数理解为一个被作为参数传递的函数。类似于,我可以设置一个功能给系统,但是,触发的时候就会把函数作为参数的形式传递到另外的函数中。一般都是使用系统中写好的接口功能时使用。下面是一个实现过程。

2023-11-18 21:52:19 667 1

原创 Redis面经

布隆过滤器主要是用于检索一个元素是否在一个集合中。我们当时使用的是redisson实现的布隆过滤器。bitmap (位图):相当于是一个以 (bit)位为单位的数组,数组中每个单元只能存储二进制数0或1它的底层主要是先去初始化一个比较大数组,里面存放的二进制0或1。在一开始都是0,当一个key来了之后经过3次hash计算,模于数组长度找到数据的下标然后把数组中原来的0改为1,这样的话,三个数组的位置就能标明一个key的存在。查找的过程也是一样的。当然是有缺点的,布隆过滤器有可能会产生一定的误判。

2023-11-18 21:07:22 334 1

原创 一文搞懂Transformer

例如,输入"“,输出"I”,输入"I",输出"I LOVE",输入"我爱",输出"I LOVE YOU",输入"我爱你",输出"我爱你"结束。在实际使用中,每一条序列数据都是以矩阵的形式输入地,故可以看到上图中,X矩阵是由"Tinking"和"Machines"词向量组成的矩阵,然后跟过变换得到Q,K,V。BN是对于相同的维度进行归一化,但是在NLP中输入的都是词向量,一个300维的词向量,单独去分析它的每一维是没有意义地,在每一维上进行归一化也是适合地,因此这里选用的是LN。

2023-11-15 11:08:40 345

原创 mmdetection安装与训练

商汤科技(2018 COCO 目标检测挑战赛冠军)和香港中文大学最近开源了一个基于Pytorch实现的深度学习目标检测工具箱mmdetection,支持Faster-RCNN,Mask-RCNN,Fast-RCNN等主流的目标检测框架,后续会加入Cascade-RCNN以及其他一系列目标检测框架。

2023-11-15 11:07:15 255

原创 基于Rabbitmq和Redis的延迟消息实现

由于我们要多次发送延迟消息,因此需要先定义一个记录消息延迟时间的消息体@Data/*** 消息体*//*** 记录延迟时间的集合*//*** 获取并移除下一个延迟时间* @return 队列中的第一个延迟时间*//*** 是否还有下一个延迟时间*/return!使用延迟消息处理器发送消息1、使用rebbitmq使用的场景是在支付和订单微服务中,用于实现消息可以延迟30分钟付款的功能。

2023-11-14 11:39:42 1138

原创 多线程&JUC

后面阻塞队列中,可以调用put和get方法去存或者取数据,两个方法中分别判断了队列中的数据长度是否和数组长度相同以及是否为0,是就会等待。2)等待唤醒机制:锁对象.notifyall()方法唤醒 锁对象.wait()4.创建FutureTask的对象 (作用管理多线程运行的结果)3.创建MyCallable的对象 (表示多线程要执行的任务)2.重写call (是有返回值的,表示多线程运行的结果)5.创建Thread类的对象,并启动 (表示线程)3、可以将该关键字方法上,此方法就是同步方法。

2023-11-13 21:25:32 105

原创 xxl-job定时任务实践

当前软件的架构已经开始向分布式架构转变,将单体结构拆分为若干服务,服务之间通过网络交互来完成业务处理。在分布式架构下,一个服务往往会部署多个实例来运行我们的业务,如果在这种分布式系统环境下运行任务调度,我们称之为分布式任务调度。1、并行任务调度并行任务调度实现靠多线程,如果有大量任务需要调度,此时光靠多线程就会有瓶颈了,因为一台计算机CPU的处理能力是有限的。

2023-11-13 10:15:15 147

原创 kafka实践-热点数据展示

Kafka Stream是Apache Kafka从0.10版本引入的一个新Feature。它是提供了对存储于Kafka内的数据进行流式处理和分析的功能。Kafka Stream提供了一个非常简单而轻量的Library,它可以非常方便地嵌入任意Java应用中,也可以任意方式打包和部署除了Kafka外,无任何外部依赖。

2023-11-13 09:13:45 116 1

原创 自媒体项目详述

java项目-自媒体平台

2023-11-10 21:23:52 302

原创 kafka微服务学习

消息中间件对比:1、吞吐、可靠性、性能。

2023-11-08 22:10:27 2614 1

原创 搜索引擎Elasticsearch基础与实践

将文档中的内容分词,然后形成词条。记录每条词条与数据的唯一表示如id的对应关系,形成的产物就是倒排索引,如下图:这里的索引库相当于mysql中的database。一个文档(document)是一个可被索引的基础信息单元。查询逻辑:根据词条去匹配查询,可以对搜索关键字先分词在查询。es中自动会对词条排序,形成一个树形的结构应用场景相当于数据库的表结构,也就是定义不同字段的类型简单数据类型1、字符串2、数值3、布尔 boolean4、二进制 .binary范国类型integer range,

2023-11-08 20:50:06 1408

原创 java高级之单元测试、反射

/default true 表示默认值为true,使用时可以不赋值。注意:注解的属性名如何是value的话,并且只有value没有默认值,使用注解时value名称可以省略。比如现在重新定义一个MyTest2注解//特殊属性@MyTest2("孙悟空") //等价于 @MyTest2(value="孙悟空")

2023-11-05 21:23:23 497 2

原创 java网络通信

由域名→IP地址 寻找IP地址的过程依次经过了浏览器缓存、系统缓存、hosts文件、路由器缓存、 递归搜索。首先要写一个服务端读取数据的线程类(此处这个线程类继承了Tread,这是一种创建线程的方法)两个计算机之间的交流无非是两个端口之间的数据通信,具体的数据会以什么样的形式展现是以不同的。不断接受新的连接,并各自的连接数据分别给不同的线程去处理。4、客户端发送 HTTP 请求获取服务器端的静态资源。3、TCP 三次握手建立客户端和服务器的连接。6、TCP 四次挥手关闭客户端和服务器的连接。

2023-11-04 22:39:00 279

原创 jvm实践

通过增大Eden区的大小,来减少GC发生的次数,但有时我们发现,虽然次数减少了,但Eden区满的时候,由于占用的空间较大,导致释放缓慢,此时STW的时时间较长,因此需要按照程序情况调优。堆太小,可能会频繁的导致年轻代和老年代的垃圾回收,会产生stw,暂停用户线程堆内存大肯定是好的,存在风险,假如发生了fullgc,它会扫描整个堆空间,暂停用户线程的时间长设置参考推荐:尽量大,也要考察一下当前计算机其他程序的内存使用情况。4、jstat统计检测工具,用于显示垃圾回收信息,类加载信息,新生代的统计等。

2023-11-04 17:28:32 384

原创 Kubernetes (K8S)基本概念

就是将应用部署在Kubernetes集群中,方便管理。

2023-10-31 18:54:28 118 1

原创 java面向对象编程高级

1、使用接口有啥好处,第一个好处是什么?可以解决类单继承的问题,通过接口,我们可以让一个类有一个亲爹的同时,还可以找多个干爹去扩展自己的功能。2、为什么我们要通过接口,也就是去找干爹,来扩展自己的功能呢?因为通过接口去找干警,别人通过你implements的接口,就可以显性的知道你是谁,从而也就可以放心的把你当作谁来用了(这样就可以通过implement中的接口方法,知道这个类的一些应该有的功能,必须存在这个功能)3、使用接口的第二个好处是什么?

2023-10-30 22:28:04 104

原创 货位库存管理页面

货位库存管理页面

2023-10-30 15:08:52 466

原创 采购申请单明细账/汇总账页面编写

采购申请单明细账/汇总账页面编写

2023-10-30 10:41:45 226

原创 rabbitmq面经

无非就是下面几个问题,消息不丢失,幂等性、消息堆积、高可用性。

2023-10-26 21:18:37 194

原创 RabbitMQ的高级使用

多个消费者绑定到一个队列,可以加快消息处理速度同一条消息只会被一个消费者处理。

2023-10-25 22:34:02 134

原创 秒杀业务10万速度怎么实现

秒杀项目10万并发

2023-10-24 18:31:02 121

原创 微服务面经

服务雪崩:一个服务失败,导致整条链路的服务都失败的情形服务降级:服务自我保护的一种方式,或者保护下游服务的一种方式,用于确保服务不会受请求突增影响变得不可用,确保服务不会崩溃,一般在实际开发中与feign接口整合编写降级逻辑服务熔断:默认关闭,需要手动打开,如果检测到 10 秒内请求的失败率超过 50%,就触发熔断机制。之后每隔5 秒重新尝试请求微服务,如果微服务不能响应,继续走熔断机制。如果微服务可达,则关闭熔断机制,恢复正常请求。

2023-10-18 22:01:15 81

原创 计算机网络基本知识

会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关。第四次挥手:主动关闭方收到。传输层:接受上一层的数据,在必要的时候对数据进行分割,并将这些数据交给网络层,保证(FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不。3、服务端收到客户端的连接请求,同意连接并向客户端发送确认,确认号是。4、客户端收到服务端的确认后,向服务端发送确认信息,确认号是。

2023-09-17 22:39:18 42

原创 mysql进阶-索引

在 tb_user 表中,有一个联合索引,这个联合索引涉及到三个字段,顺序分别为:profession,age,status。前者是返回的值都在索引数据结构中,我们可以把需要返回的值,或者是需要回表查询的值创建索引,这样这个查询语句会使用这个覆盖索引。4、用or分割开的条件, 如果or前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。3、尽量使用联合索引,因为联合索引大部分都是覆盖索引,节省空间,避免回表,增加查询效率。(=,in),不支持范围查询(between,>,< ,…

2023-09-12 10:19:36 52

原创 mysql联合索引的数据结构

存储引擎首先从根节点(一般常驻内存)开始查找,第一个索引的第一个索引列为1,12大于1,第二个索引的第一个索引列为56,12小于56,于是从这俩索引的中间读到下一个节点的磁盘文件地址,从磁盘上Load这个节点,通常伴随一次磁盘IO,然后在内存里去查找。InnoDB会使用主键索引在B+树维护索引和数据文件,然后我们创建了一个联合索引(b,c,d)也会生成一个索引树,同样是B+树的结构,只不过它的data部分存储的是联合索引所在行的主键值(联合索引:也称复合索引,就是建立在多个字段上的索引。

2023-09-12 09:35:43 473

原创 一文搞懂回溯算法

回溯算法(子集、组合、全排序)

2023-09-10 18:58:51 54

原创 招商银行信用卡中心2019秋招IT笔试

在面向对象的概念中,世间万物通过类来描绘的,但如果一个类中没有包含足够的信息来描绘一个具体的事物对象,这样的类就是抽象类。

2023-09-08 09:59:44 74

原创 农行软开面经9/5

农行java面经

2023-09-05 10:12:19 103

原创 Java分布式框架dubbo教程

Java分布式框架dubbo教程

2023-07-12 16:53:02 72

原创 rabbitmq

rabbitmq

2023-07-08 21:43:09 40

原创 gate网关学习与docker容器与镜像

gate网关学习与docker容器与镜像的学习

2023-07-03 15:02:09 206

原创 Centios7安装Docker

Centios7安装Docker

2023-07-03 11:04:00 68

原创 Http客服端Feign

Http客服端Feign

2023-06-30 22:03:04 49

原创 Ribbon负载均衡和nacos服务中心

Ribbon负载均衡和nacos服务中心

2023-06-30 16:27:43 124

原创 微服务技术栈和EurekaServer

微服务技术栈和EurekaServer

2023-06-29 21:01:16 57 1

原创 cetios怎么设置网路

cetios网络设置

2023-06-29 15:16:36 49 1

原创 MYSQL主从复制(sahrding- JDBC)

sahrding- JDBC

2023-06-27 16:17:31 52

空空如也

空空如也

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

TA关注的人

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