自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot引入websocket的问题

Springboot引入websocket踩坑

2023-02-01 10:10:01 614 1

转载 RocketMQ-4.7.1(一)基础概念

基本概念消息模型(Message Model)RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片存储于不同的 Broker。Message Queue 用于存储消息的物理地址,每个Topic中的消息地址存储于多个 Message Queue 中。Co

2022-04-01 17:57:52 323

转载 分布式事务 Seata(五) 微服务间调用的事务处理

项目结构|-- demo |-- entity 实体对象(为了让其他服务拥有所有服务对象) |-- order 订单 (pom导入了 entity ) |-- stock 库存 (pom导入了 entity ) |-- user 用户 (pom导入了 entity )项目依赖entity <properties> <mybatis-plus>3.3.1.tmp</mybatis-plus> <db-d

2022-03-31 16:23:51 1189

转载 分布式事务 Seata(四) 多数据源事务

项目搭建我搭建的是一个最基础的用户下单,减库存,减用户金额,创建订单的一个微服务框架。因为后面需要测试微服务下的分布式事务,这里测试的是 多数据源 下的分布式事务。项目结构如下:|-- demo |-- entity 实体对象(为了让其他服务拥有所有服务对象) |-- order 订单 (pom导入了 entity ) |-- stock 库存 (pom导入了 entity ) |-- user 用户 (pom导入了 entity )这里使用了mybatis-plus的相关技术,不

2022-03-31 16:19:10 1741 1

转载 分布式事务 Seata(三) Seata搭建

搭建 seata-server在搭建之前,大家一定要理解 seata 的核心角色以及之间的通信关系,Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。TC (Transaction Coordinator) - 事务协调者,维护全局和分支事务的状态,驱动全局事务提交或回滚。TM (Transaction Manager) - 事务管理器,定义全局事务的范围:开始全局事务、提交或回滚全局事务。RM (Resource Manag

2022-03-31 15:22:53 896

转载 分布式事务 Seata(二) 理解什么是AT、TCC、Saga

AT 模式AT 模式是一种无侵入的分布式事务解决方案。阿里seata框架,实现了该模式。在 AT 模式下,用户只需关注自己的“业务 SQL”,用户的 “业务 SQL” 作为一阶段,Seata 框架会自动生成事务的二阶段提交和回滚操作。AT 模式如何做到对业务的无侵入一阶段:在一阶段,Seata 会拦截“业务 SQL”,首先解析 SQL 语义,找到“业务 SQL”要更新的业务数据,在业务数据被更新前,将其保存成“before image”,然后执行“业务 SQL”更新业务数据,在业务数据更新之后,

2022-03-31 11:19:49 1172 1

转载 分布式事务 Seata(一) 理解什么是XA 2PC、3PC

数据库事务的概念在讲述分布式事务的概念之前,我们先来回顾下事务相关的一些概念。事务的基本概念:就是一个程序执行单元,里面的操作要么全部执行成功,要么全部执行失败,不允许只成功一半另外一半执行失败的事情发生。例如一段事务代码做了两次数据库更新操作,那么这两次数据库操作要么全部执行成功,要么全部回滚。事务的基本特性:我们知道事务有4个非常重要的特性,即我们常说的(ACID)。Atomicity(原子性):是说事务是一个不可分割的整体,所有操作要么全做,要么全不做;只要事务中有一个操作出错,回滚到事

2022-03-31 10:40:01 726

转载 微信小程序自定义navigation-bar导航栏(自适应安卓苹果)

json:加上"navigationStyle": "custom"把原有导航去掉{ "usingComponents": {}, "navigationStyle": "custom"}wxml:<view class="body"> <view class="header"> <!-- 官方自定义导航栏抽取出来的模块 --> <view class="navigation"> <view class="weui-.

2021-05-08 13:07:21 1733

原创 zuul网关请求异常,java.net.SocketTimeoutException: Read timed out

调用文件上传服务,由于文件过大,导致在一定时间内无法完成大文件的操作,报错zuul.fallback.consumerfallback:java.net.SocketTimeoutException: Read timed outHystrix异常排除Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码。而首次请求往往会比较慢(由于Ribbon是懒加载的,在首次请求时,才会开始初始化相关类),这个响应时间可能就大于1秒了。知道原因后,我们来总结一下解决方案。以f

2021-04-19 17:54:47 1813

转载 JAVA面试十九——JVM

194. 说一下 jvm 的主要组成部分?及其作用?类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)组件的作用: 首先通过类加载器(ClassLoader)会把 Java 代码转换成字节码,运行时数据区(Runtime Data Area)再把字节码加载到内存中,而字节码文件只是 JVM 的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器执行引

2021-04-19 17:39:52 86

转载 JAVA面试十八——Redis

179. redis 是什么?都有哪些使用场景?Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis 使用场景:数据高并发的读写海量数据的读写对扩展性要求高的数据180. redis 有哪些功能?数据缓存功能分布式锁的功能支持数据持久化支持事务支持消息队列181. redis 和 memecache 有什么区别?memcached所有的值均是简单的字符串,re

2021-04-19 17:39:39 140

转载 JAVA面试十七——Mysql

164. 数据库的三范式是什么?第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。第三范式:任何非主属性不依赖于其它非主属性。165. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?表类型如果是 MyISAM ,那 id 就是 8。表类型如果是 InnoDB,那 id 就是 6。InnoDB 表只会把自

2021-04-19 17:39:29 98

转载 JAVA面试十六——Zookeeper

157. zookeeper 是什么?zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。158. zookeeper 都有哪些功能?集群管理:监控节点存活状态、运行请求等。主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 zookeeper 可

2021-04-19 17:39:19 105

转载 JAVA面试十五——Kafka

152. kafka 可以脱离 zookeeper 单独使用吗?为什么?kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafka 的节点服务器。153. kafka 有几种数据保留的策略?kafka 有两种数据保存策略:按照过期时间保留和按照存储的消息大小保留。154. kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?这个时候 kafka 会执行数据清除工作,时间和

2021-04-19 17:39:09 121

转载 JAVA面试十四——RabbitMQ

135. rabbitmq 的使用场景有哪些?①. 跨系统的异步通信,所有需要异步交互的地方都可以使用消息队列。就像我们除了打电话(同步)以外,还需要发短信,发电子邮件(异步)的通讯方式。②. 多个应用之间的耦合,由于消息是平台无关和语言无关的,而且语义上也不再是函数调用,因此更适合作为多个应用之间的松耦合的接口。基于消息队列的耦合,不需要发送方和接收方同时在线。在企业应用集成(EAI)中,文件传输,共享数据库,消息队列,远程过程调用都可以作为集成的方法。③. 应用内的同步变异步,比如订单处理,就可以

2021-04-19 17:38:53 124

转载 JAVA面试十三——Mybatis

125. mybatis 中 #{}和 ${}的区别是什么?#{}是预编译处理,KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 21: …串替换; Mybatis在处理#̲{}时,会将sql中的#{}替…{}时,就是把${}替换成变量的值;使用#{}可以有效的防止SQL注入,提高系统安全性。126. mybatis 有几种分页方式?数组分页sql分页拦截器分页RowBounds分页128. mybatis 逻辑分页和物理分页的区别

2021-04-19 17:38:43 138

转载 JAVA面试十二——Hibernate

113. 为什么要使用 hibernate?对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。114. 什么是 ORM 框架?对象-关系映射(Object-R

2021-04-19 17:38:31 128

转载 JAVA面试十一——Spring Boot / Spring Cloud

104. 什么是 spring boot?在Spring框架这个大家族中,产生了很多衍生框架,比如 Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建,依赖注入即为由spring容器为应用程序的某个对象提供资源,比如 引用对象、常量数据等。SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且

2021-04-19 17:37:51 129

转载 JAVA面试十——Spring / Spring MVC

90. 为什么要使用 spring?1.简介目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。2.轻量 从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于

2021-04-14 14:45:33 187

转载 JAVA面试九——设计模式

88. 说一下你熟悉的设计模式?单例模式简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。观察者模式对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。装饰者模式对已有的业务逻辑进一步的封装,使其增加额外的功能,如Java

2021-04-14 14:40:19 91

转载 JAVA面试八——网络

79. http 响应码 301 和 302 代表的是什么?有什么区别?答:301,302 都是HTTP状态的编码,都代表着某个URL发生了转移。区别:301 redirect: 301 代表永久性转移(Permanently Moved)。302 redirect: 302 代表暂时性转移(Temporarily Moved )。80. forward 和 redirect 的区别?Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。直接转发方式(Forward),客

2021-04-14 14:11:15 58

转载 JAVA面试七——异常

74. throw 和 throws 的区别?throws是用来声明一个方法可能抛出的所有异常信息,throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理。而throw则是指抛出的一个具体的异常类型。75. final、finally、finalize 有什么区别?final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个常量不能被重新赋值。finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定

2021-04-14 13:11:53 61

转载 JAVA面试六——JAVA WEB

64. jsp 和 servlet 有什么区别?jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。Jsp是Servlet的一种简化,使

2021-04-14 13:08:26 67

转载 JAVA面试五——对象拷贝

61. 为什么要使用克隆?想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了,Java语言中克隆针对的是类的实例。62. 如何实现对象克隆?有两种方式:实现Cloneable接口并重写Object类中的clone()方法;实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,代码如下:import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;im

2021-04-14 11:43:31 56

转载 JAVA面试四——反射

57. 什么是反射?反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力Java反射:在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。在运行时构造任意一个类的对象。在运行时判断任意一个类所具有的成员变量和方法。在运行时调用任意一个对象的方法。58. 什么是 java 序列化?什么情况下需要序列化?简单说就是为了保存在内存中的各种对象的状态(也就

2021-04-14 11:38:41 79

转载 JAVA面试三——多线程

多线程35. 并行和并发有什么区别?并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群。所以并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。36. 线程和进程的区别?简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元

2021-04-14 11:34:11 94

转载 JAVA面试二——容器

标题容器18.java 容器都有哪些?19.Collection 和 Collections 有什么区别?20.List、Set、Map 之间的区别是什么?21.HashMap 和 Hashtable 有什么区别?22.如何决定使用 HashMap 还是 TreeMap?23.说一下 HashMap 的实现原理?24.说一下 HashSet 的实现原理?25.ArrayList 和 LinkedList 的区别是什么?26.如何实现数组和 List 之间的转换?27.ArrayList

2021-04-14 11:17:04 95

转载 JAVA面试一——JAVA基础

JAVA基础1.JDK 和 JRE 有什么区别?2.== 和 equals 的区别是什么?3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4.final 在 java 中有什么作用?5.java 中的 Math.round(-1.5) 等于多少?6.String 属于基础的数据类型吗?7.java 中操作字符串都有哪些类?它们之间有什么区别?8.String str="i"与 String str=new String(“i”)一样吗?9.如何将字符

2021-04-14 10:55:02 93

空空如也

空空如也

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

TA关注的人

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