- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 序列化与反序列化
所有需要网络传输的对象都需要实现序列化接口,通过建议所有的javaBean都实现Serializable接口。对象的类名、实例变量(包括基本类型,数组,对其他对象的引用)都会被序列化;方法、类变量、transient实例变量都不会被序列化。如果想让某个变量不被序列化,使用transient修饰。序列化对象的引用类型成员变量,也必须是可序列化的,否则,会报错。反序列化时必须有序列化对象的class文件。当通过文件、网络来读取序列化后的对象时,必须按照实际写入的顺序读取。
2024-08-22 16:11:06
465
原创 JAVA异常
在程序运行过程中出现轻微问题不会使程序终止的叫做异常,程序员可以使用一些方法来处理这些问题。在运行过程中,有方法应对在程序运行过程中出现巨大问题对程序进行终止的叫做错误,错误是无法捕获的,是无法处理的。
2024-07-26 15:45:00
830
原创 Elasticsearch概念及ELK安装
它是elastic技术栈中的一部分。完整的技术栈包括:Elasticsearch:用于数据存储、计算和搜索Logstash/Beats:用于数据收集Kibana:用于数据可视化整套技术栈被称为ELK,经常用来做日志收集、系统监控和状态分析等。
2024-07-25 14:06:21
1359
原创 一分钟认识枚举类
枚举类(Enumeration Class)是一种数据类型,它包含了一组预定义的常量值。在编程语言中,枚举类通常用于表示一组固定的常量值,使得代码更加清晰和易于理解枚举类型就是多例,一个类有多个实例,但是实例的个数不是无穷的,是有限的;枚举类中实例称为枚举项,一般一个枚举类不应该有太多的枚举项。
2024-07-24 17:45:00
1338
原创 MP的使用
MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。
2024-07-23 16:15:38
1117
原创 微服务分布式事务
微服务架构中的分布式事务是指在多个服务实例之间保持数据一致性的机制。由于微服务通常涉及将业务逻辑拆分成独立的服务,每个服务可能有自己的数据库,因此当一个业务操作需要跨多个服务进行时,确保所有服务的数据保持一致性就变得复杂。在单体应用中,数据库事务可以很容易地通过本地事务(如ACID事务)来管理,但在微服务架构中,每个服务可能使用不同的数据库,这就要求一种不同的事务管理策略。
2024-07-22 17:55:29
1362
原创 微服务保护
微服务保护是指在微服务架构中采取的一系列措施,以确保各个服务的稳定性、可靠性和安全性。微服务是一种将应用程序作为一套小服务开发的方法,每个服务运行在其独立的进程中,并通常围绕特定的业务能力进行构建。微服务保护的目标是防止单个服务的故障影响到整个系统。
2024-07-19 16:41:37
1219
原创 图解HTTP有感
HTTP是单双工通信,是在数据传输时只能有一方传输,另一方进行等待,服务器不能主动的发送数据,只能是客户端发送请求了,服务器根据请求响应对应的数据所以这是一个致命的问题,要解决这个问题就要引入Websocket由于是建立在 HTTP 基础上的协议,因此连接的发起方仍是客户端,而一旦确立 WebSocket 通信连接,不论服务器还是客户端,任意一方都可直接向对方发送报文。
2024-07-18 17:19:07
976
原创 微服务组件之Gateway
有一个routes集合里面有几个属性来制定规则id:路由的唯一标示predicates:路由断言,其实就是匹配条件filters:路由过滤条件,后面讲uri:路由目标地址,lb://代表负载均衡,从注册中心获取目标微服务的实例列表,并且负载均衡选择一个访问。
2024-07-16 09:30:00
1512
原创 Redis入门,Idea操作Redis
Redis(Remote Dictionary Server,远程字典服务器)是一个开源的高性能键值对(key-value)数据库。它以其出色的性能、可靠性和灵活性而闻名,常用于开发中来实现多种数据存储和通信模式。
2024-07-15 13:11:53
1101
原创 微服务组件之OpenFegin
OpenFeign是一个声明式的Web服务客户端,它使得编写Web服务客户端变得更加容易。OpenFeign是在Netflix Feign的基础上发展起来的,它整合了Spring Cloud体系,提供了一些额外的功能和改进。
2024-07-13 09:45:00
1383
原创 微服务组件之注册中心(Nacos)
注册中心(Service Registry)是微服务架构中的一个关键组件,它提供了服务注册、服务发现、服务监控和配置管理等功能。在分布式系统中,注册中心使得服务之间的通信和管理变得更加容易和高效。
2024-07-12 09:15:00
1431
原创 JWT的神奇用法
JWT)是一种用于在网络应用环境间传递声明的一种紧凑的、URL安全的方式。JWT可以被用来在身份验证和信息交换中安全地在服务之间传递信息//注入JwtProperties对象@Autowired/*** 校验jwt* @return*///判断当前拦截到的是Controller的方法还是其他资源if (!//当前拦截到的不是动态方法,直接放行//1、从请求头中获取令牌//2、校验令牌try {log.info("jwt校验:{}", token);
2024-07-11 10:22:13
644
原创 docker的使用
Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后可以在任何支持Docker的机器上运行这个容器。Docker 使用 Linux 容器(LXC)技术,但是它提供了比传统容器更加易用的工作流和用户界面。数据卷(Volumes)是 Docker 的一个重要组件,用于管理容器数据的持久化和共享。数据卷提供了一种机制,允许你将数据独立于容器的生命周期进行存储和管理,这样即使容器被删除,数据也不会丢失。数据卷(volume)是一个虚拟目录,是容器内目录与。
2024-06-22 14:26:06
1116
原创 安装docker
执行docker ps命令,如果不报错,说明安装启动成功 docker ps。安装成功后,执行命令,配置docker的yum源。首次可能需要选择立刻开通,然后进入控制台。在首页的产品中,找到阿里云的。进入到虚拟的终端,执行命令。这里以阿里云镜像加速为例。
2024-06-19 15:55:55
366
原创 将本地文件上传到gitee保管
比如说: 该项目的所有者是 Administrator,而当前用户是pengmude, 那么就会导致上面的错误。也可以添加部分 :git add 文件全称(可以是文件夹,也可以是多个文件,空格隔开)因为我的testGit文件夹下的几个测试文件夹里都没有文件,所以没有上传上。输入这个命令回车,就会把所有的目录对当前登录用户都设置为安全目录。这个点相当于把该文件夹下的所有东西都添加到.git文件夹里。这个远程仓库就是刚才1.3部在gitee上创建的仓库。会在该文件夹下生成一个.git文件夹,
2024-06-02 18:10:30
1152
原创 下载windows版的redis及redis客户端
打开服务端:redis-server.exe redis.windows.conf。连接客户端:redis-cli.exe -h localhost -p 6379。输入redis-service.exe redis.windows.conf。开启redis:redis-service --service-start。输入redis-cli.exe -h localhost -p 6379。关闭redis:redis-service --service-stop。第一次打开软件是英文的,但是是可以改的。
2024-06-02 17:22:21
1355
原创 Java中的泛型
一般在写项目是会使用到自定义泛型,也就是自己封装一个类,类里填写所需要的字段也就是实体类,将对象存入到集合中//创建学生1student1.setName("学生1");//创建学生2student2.setName("学生2");//添加到list//输出list//遍历集合运行结果。
2024-05-26 14:25:50
1259
原创 Java中的反射
(2)、Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。2、在项目开发时我们会使用一些xml配置文件,他们可能需要根据配置文件加载不同的类或者对象,调用不同的方法,这个时候就必须使用到反射了,运行时动态加载需要的加载的对象。1、java语言中的很多地方都用到了反射比如说:当我们new出一个类的对象,可以通过对象点idea就可以提示你可以调用它的属性和方法,这里就用到了反射。
2024-05-25 16:06:38
725
原创 多线程以及进程,并发和并行
(Concurrent):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行他们需要去抢占资源,夺取cpu(Parallel):在同一时间内,有多条指令在多个处理器上运行。(Process):进程就是正在运行中的程序,每一进程都有属于自己的存储空间和系统资源进程之间的资源不可共享(Thread):一个进程包含若干个线程,线程之间共享资源。:进程是操作系统的基本单位,线程是cpu的基本单位。:一个进程包含若干个线程,但至少有一个线程。
2024-05-24 20:41:52
579
1
原创 Springboot为什么优于SSM
Springboot是优于ssm的,无需引入大部分的依赖,只需引入封装好的start模块。从而开发速度更快,程序员无需考虑环境的配置,更注重代码的编写,使开发变得更加简便,迅速。
2024-05-09 15:12:39
786
1
原创 Aop是什么?
/1声名是一个切面类//2 交给ioc管理//3.添加日志记录@Aspect@Component@Slf4j//定义一个通知log.info("方法放行前");//环绕通知的方法放行log.info("方法放行后");在springboot的专门 测试类SpringbootJavawebMybatisApplicationTests中定义单元测试调用TestAopImpl里实现的方法//注入依赖@Autowired@Test。
2024-05-06 11:24:42
1757
2
原创 Filter过滤器和Interceptor拦截器
创建一个类,并实现Filter接口的所有方法创建一个类LoginCheckInterceptor类来实现HandlerInterceptor接口并实现所有的方法并将该类交给ioc容器管理(供等下注册拦截器使用)(1)共同点:他们都可以实现对网络请求的拦截(2)不同点:接口规范不同:过滤器需要实现Filter接口,而拦截器需要实现HandlerInterceptor接口。拦截范围不同:过滤器Filter会拦截所有的资源,而Interceptor只会拦截Spring环境中的资源。
2024-05-04 14:54:23
403
原创 关于IOC创建的几种方式
被注入的哪个类只需要,创建一个参数类型是注入对象类型的带参构造方法,来接收注入的对象这就是为什么Sercice层没像test测试类那样通过解析applicationContext.xml文件来获取对象的原因。// 引入custService对象;但是具体要用哪一种,根据需求来定。
2024-04-29 19:24:11
594
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人