java
文章平均质量分 80
莫忘莫忧
这个作者很懒,什么都没留下…
展开
-
Java序列化与反序列化最全详解
什么是序列化和反序列化?序列化:序列化就是将 java对象 转化为字节序列的过程。序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。 为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。注意:序列化是为了在传递和保存对象时,为了保证对象的完整性和可传递性。将对象转为有序的字节流,以便在网上传输或者保存在本地文件中。反序列化:反序列化就是将 字原创 2021-09-15 14:21:05 · 2991 阅读 · 0 评论 -
问题收藏夹之Spring @Async注解不生效
问题在项目中在某个方法上使用@Async 注解,但是发现调用这个方法的时候,并没有使用异步调用,而是同步。经过排查需要注意:需要在@Async 注解的类或者启动类Application中使用@EnableAsync注解。@Async注解的函数,跟调用这个异步函数的函数不要在同一类中。不要自己使用new创建异步函数所在的类对象,而是需要通过Spring bean自动注入。异步函数所在的类需要使用@Component 或者其它的注解加入到Spring bean中。...原创 2021-04-16 09:26:44 · 201 阅读 · 0 评论 -
MQ消息队列学习系列之如何保证消息不被重复消费
如何保证消息不被重复消费:名词解释幂等性: 就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。即不是通过配置MQ使用它自带的机制来保证,而是通过开发人员通过代码来保证,以kafka为例进行说明。kafka:kafka消息消费机制:kafka使用offset的概念。在每个消息写进去时,都会生成一个offs原创 2021-03-29 09:34:53 · 738 阅读 · 0 评论 -
Spring Cloud GateWay学习之微服务网关Zuul、Gateway、nginx的区别和Spring Cloud GateWay的使用。
Spring Cloud GateWay 是什么网关,Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全原创 2021-03-24 17:17:07 · 2462 阅读 · 0 评论 -
Nacos学习之 SpringCloud整合Nacos
在Spring Cloud 中使用Nacos前提条件需先下载 Nacos 并启动 Nacos serve。 Nacos的安装和使用启动服务注册与发现添加依赖:<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <vers原创 2021-03-19 16:25:17 · 1009 阅读 · 0 评论 -
Nacos学习之 SpringBoot整合Nacos
在Spring Boot 中使用Nacos前提条件需先下载 Nacos 并启动 Nacos serve。 Nacos的安装和使用启动服务发现添加依赖。<dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-discovery-spring-boot-starter</artifactId> <version>${lates原创 2021-03-19 16:22:30 · 1018 阅读 · 0 评论 -
Nacos学习之 Nacos是什么,Nacos的使用
CAP理论在分布式领域有一个很著名的CAP定理:一致性(Consistency) (所有节点在同一时间具有相同的数据)可用性(Availability) (保证每个请求不管成功或者失败都有响应)分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)Nacos是什么 Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现(注册中心)、服务配置(动态配置中心)、服务元数据及流量管理(服务的健康和状态监控管理)。Nacos 支持的服务原创 2021-03-19 16:17:30 · 651 阅读 · 2 评论 -
MQ消息队列学习系列之什么是消息队列?为什么使用消息队列?Kafka、ActiveMQ、RabbitMQ、RocketMQ 的优缺点?
MQ消息队列学习之什么是消息队列,为什么使用消息队列,各MQ的对比什么是消息队列:消息队列,一般我们会简称它为MQ(Message Queue)。就是将消息放到队列中。队列是一种先进先出的接口。将消息放到队列中叫生产者。将消息从队列中取出来叫消费者。总结:消息队列就是由生产者将消息放到队列中,由于它先进先出的结构特性,消费者会拿最早进去的消息回来进行消费。为什么使用消息队列:消息队列的优点:三个核心:解耦、异步、削峰解耦: 传统情况下,A系统跟...原创 2021-03-18 15:41:00 · 171 阅读 · 0 评论 -
服务器推送消息到前端实现页面数据实时刷新-分布式Websocket技术方案
服务器推送消息到前端实现页面数据实时刷新-分布式Websocket技术方案背景项目上有个新的需求,需要在系统数据发生改变时,前端页面要实时刷新页面数据。简单的方案一: 最简单的方式就是直接在前端页面使用定时器定时刷新数据。 这个方案除非是定时的时间设置很短,否则还是会存在页面刷新不及时的情况。但是如果定时时间设置得过短,一旦客户端使用量变多,整个系统的请求数量会变的非常多,需要消耗许多服务器资源。故放弃这个方案。方案二: 服务端推送的方式,通过使用Websocket,进入页面时,前端就与原创 2021-03-08 09:36:23 · 15139 阅读 · 5 评论