自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贝la的博客

不断的努力,只为再见时的惊艳!

  • 博客(110)
  • 资源 (1)
  • 收藏
  • 关注

原创 com.alibaba.fastjson.JSONException: toJSON error的原因

第一个参数为HttpResponse,转换成json的时候报错。2.在aop判断里边 把ServletAPI过滤掉。导出接口报错,显示json格式化异常。1.调换两个参数的位置。

2024-02-19 15:32:19 616

原创 凤凰架构之事务处理

从应用角度看,它是直接依赖于数据源本身提供的事务能力来工作的,在程序代码层面,最多只能对事务接口做一层标准化的包装(如 JDBC 接口),并不能深入参与到事务的运作过程当中,事务的开启、终止、提交、回滚、嵌套、设置隔离级别,乃至与应用代码贴近的事务传播方式,全部都要依赖底层数据源的支持才能工作,这一点与后续介绍的 XA、TCC、SAGA 等主要靠应用程序代码来实现的事务有着十分明显的区别。这种恢复方式不需要补偿,适用于事务最终都要成功的场景,譬如在别人的银行账号中扣了款,就一定要给别人发货。

2023-12-20 10:48:45 1319 1

原创 解决maven报错 ‘parent.relativePath‘ of POM

子模块的parent写的不是父模块,而是继承了springboot。

2023-12-13 17:01:28 1285

原创 Java集合知识总结

Java集合框架中的fail-fast机制是一种错误检测机制,它用于在迭代集合的过程中检测并抛出并发修改异常。当多个线程对同一个集合的内容进行操作时,可能会产生并发修改异常。例如,当一个线程正在通过迭代器遍历集合的过程中,如果该集合的内容被其他线程修改了,那么迭代器就不再合法,发生fail-fast事件,会抛出ConcurrentModificationException异常。这种机制一般仅用于检测bug,而不是用于处理并发修改的情况。

2023-11-27 14:32:35 225

原创 网络编程相关面试题

TCP协议的三次握手是建立TCP连接的重要步骤。第一次握手:客户端发送SYN包到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包后,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。此包发送完毕后,客户端和服务器进入ESTABLISHED状态,完成三次握手。

2023-11-27 13:16:24 186

原创 项目中高并发如何处理

在项目中处理高并发主要需要考虑以下几个方面的策略:

2023-11-23 11:41:39 157

原创 微服务知识小结

Eureka:服务注册与发现组件,可以通过RESTFUL接口来实现服务注册与发现,并提供心跳检测机制来保证服务可用性。Ribbon:客户端的负载均衡组件,可以集成到RestTemplate、Feign等HTTP客户端中使用。Feign:基于Ribbon和Hystrix的声明式服务调用组件,可以让我们更方便地实现服务之间的调用。Hystrix:熔断器组件,可以在服务出现故障或异常时进行自动熔断,避免服务雪崩问题。Zuul:API网关组件,可以对外部请求进行统一的路由、过滤和转发。

2023-11-23 11:30:16 588

原创 常见的电商模式

B2C(business to consumer),商对客模式,商业零售。如:苏宁易购,京东,天猫,小米商城。O2O(online to offline),让互联网成为线下交易的前台。如:饿了么,美团,叮咚买菜,京东到家。C2B(consumer to business),即消费者对企业。消费者提出需求,企业按需求生产。C2C(consumer to consumer),客户之间自己把东西放到网上去卖。B2B(business to business),是指商家与商家建立的商业关系。

2023-11-23 10:50:51 52

原创 常见的 JVM 面试题

JVM(Java Virtual Machine)是 Java 虚拟机的缩写,它是 Java 语言的核心和关键。JVM 是一种能够执行 Java 字节码的虚拟计算机,它在实际的计算机上模拟了一个完整的计算机系统,包括处理器、内存、寄存器等。在 Java 程序运行时,Java 编译器将 Java 代码编译成字节码,JVM 将这些字节码解释执行或者编译执行,并负责管理程序的内存、线程、垃圾回收等方面。

2023-06-28 10:37:11 527

原创 React知识整合

React是一个用于构建用户界面的JavaScript库,由Facebook开发。它的核心特点包括:组件化:React将用户界面分解为可重用的组件,并提供了一种简单的方法来构建和组合这些组件。虚拟DOM:React使用虚拟DOM来跟踪页面上所需的更改,然后在必要时更新实际DOM以反映这些更改。这可以减少对实际DOM的操作次数,从而提高性能。单向数据流:React中的数据流是单向的,即数据从父组件传递到子组件,子组件不能直接修改父组件的数据。这使得代码更易于维护和调试。

2023-06-25 11:37:00 602

原创 kafka常见面试题

Kafka是一种分布式流处理平台,最初由LinkedIn开发,用于处理大量实时数据的传输和存储。它是一个高性能、高吞吐量的消息队列系统,可以在多台服务器之间分布数据,并提供了水平扩展能力,以支持大规模的数据处理应用。Kafka能够快速处理大量数据,支持实时数据流处理,同时也具有很好的可扩展性和容错性,因此被广泛应用于日志收集、事件处理、消息传递等场景。

2023-06-20 14:40:10 773

原创 分布式系统主键id生成策略

2023-06-06 16:39:48 41

原创 Java序列化

serialVersionlUID变量其实是一个静态的long型的常量,它的作用在序列化和反序列化的过程中,起到了一个辨别类的作用。java.io.Serializable接口是可以进行序列化的类的标志性接口,该接口本身没有任何需要实现的抽象方法,它仅仅是用来告诉JVM该类的对象可以进行反序列化的,并且它的序列化ID由静态的serialVersionlUID变量提供。序列化,又称为“串化”,可以形象的把它理解为把Java对象内存中的数据采编成一串二进制的数据,然后把这些数据持久化到内存或磁盘。

2023-04-27 11:31:52 516 1

原创 maven初步了解

pom.xml解读mvn install 命令

2023-04-17 14:42:31 50

原创 mongodb初步了解

2023-04-17 14:39:59 52

原创 redis在linux系统中的安装

下载地址:https://redis.io/

2023-04-17 11:22:36 35

原创 element-ui radio单选框选中问题

2023-04-17 10:33:42 135

原创 ABAC权限

2023-03-30 16:06:30 84

原创 RBAC权限

2023-03-30 15:53:43 98 1

原创 解决Oracle使用in语句不能超过1000的问题

Java中按1000分批查询,再把结果加起来,这种方式稍复杂,而且查询次数过多,对业务逻辑改动较大。

2023-03-28 10:06:13 698

原创 Spring中@NotNull、@NotEmpty、@NotBlank和@PositiveOrZero注解的使用

校验集合类参数(如String类、Collection、Map、数据Array)不能为null或empty。其中String的length、Collection和Map的size不能为0。校验String字符串不能为null,且不能是空字符串(” "),即调用trim()之后字符串的长度不能为0。校验参数一定不能为null,但是可以为" “。校验参数必须是正整数或0。

2023-03-28 09:47:25 584

原创 并发编程知识

解决办法:1.缓存空值的key,即使数据库中不存在这个值,第一次加载的时候也会 被记录,拿到这个key,使用布隆过滤器进行数据过滤,如果布隆过滤器中没查到这个数据,就并不会去数据库中查找;缓存雪崩:大量并发请求缓存中的多个key,这些key在缓存中同时失效,导致批量请求打到数据库上,造成数据库压力过大甚至宕机。AOF:将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序将指令都执行一遍,以日志追加的方式将数据持久化。例如:行锁,表锁,读锁,写锁,synchronized关键字的实现原理。

2023-03-27 22:49:24 319

原创 Spring知识整合

它主要就是通过内部的方法,扫描classpath的META-INF/spring.factories配置文件(key-value),将其中的。session:与request范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。singleton:默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护;

2023-03-27 17:41:16 664

原创 Redis知识整合

数据集快照的方式半持久化模式记录,父进程先fork一个子进程,子进程进行写操作,完成后再同步到父进程,保证了redis的 高性能;大量的key过期时间过于集中,过期时容易出现短暂卡顿现象,一般需要在时间上加一个随机值,使过期时间分散一些。volititle-lru:从已设置过期时间的数据集中淘汰最近最少使用的数据。volititle-ttl:从已设置过期时间的数据集中淘汰将要过期的数据。allkeys-ttl:从全部的数据集中淘汰将要过期的数据集。高性能,丰富的数据类型,原子,丰富的特性。

2023-03-23 17:32:59 342

原创 JVM知识

内存泄漏(Memory Leak)是指本来无用的对象却继续占用内存,没有再恰当的时机释放占用的内存。由程序代码自由分配的内存,与栈内存做区分,在Java中堆内存主要用于分配对象的存储空间。CMS垃圾收集器 -XX:+UseConcMarkSweepGC。分为:新生代,存活区,老年代(新生代+存活区=年轻代)并行垃圾收集器 -XX:+UseParallelGC。串行垃圾收集器 -XX:+UseSerialGC。收集不同的指标(cpu,内存,磁盘IO,网络等等)5.内存溢出(OOM),内存泄漏。

2023-03-22 15:53:59 273

原创 HashSet底层源码分析

HashSet底层源码分析

2023-03-08 10:54:12 61

原创 LinkedList底层源码分析

LinkedList底层源码分析

2023-03-07 15:55:11 52

原创 Vector底层源码和结构剖析

Vector底层源码和结构分析

2023-03-07 15:02:41 63

原创 ArrayList底层结构和源码分析

ArrayList源码分析

2023-03-07 11:11:36 35

转载 spring 参数校验@NotNull,@NotEmpty,@NotBlank,@PositiveOrZero

spring参数校验注解

2023-02-24 14:56:28 425

原创 Java中日期大小比较

java日期大小比较

2023-02-24 14:51:21 331

原创 Git 与 SVN 区别

Git 与 SVN 区别Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。Git 与 SVN 区别点:1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

2022-11-04 17:52:46 652

原创 MyBatis分页插件的使用

mybatis分页插件使用

2022-11-04 10:49:16 116

原创 Mybatis逆向工程

mybatis逆向工程创建过程

2022-11-02 11:25:32 84

原创 mysql和oracle语法上的区别

mysql和oracle在语法上的区别

2022-09-29 10:11:11 1022

原创 Java面试题三

如何保证 Redis 中的数据都是热点数据?Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。Redis 提供 6 种 数据淘汰策略:volatile-lru:(less recently used)从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的 数据淘汰volatile-ttl:(time to live)从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据 淘汰volatile-random:从已

2022-09-26 17:44:58 298

原创 使用postman传递list数组报错

使用postman传递list数组报错

2022-08-04 10:21:19 555 1

原创 mybatis mapper方法中绑定多个参数异常

mybatis绑定多个参数异常

2022-07-26 10:10:14 760

原创 Git_Github操作

6.1 Git_Github_创建远程库和创建别名Git_Github_推送本地库到远程库Git_Github_拉取远程库到本地库6.2.3 Git_Github_克隆远程仓库到本地Git_Github_团队内协作需要先加入团队Git_Github_跨团队协作找到要修改的项目,fork一个子进程commit到本地库pull request 推送到远程仓库–>new pull requestGit_Github_SSH免密登录C:\Users\用户名xxx

2022-03-30 10:33:30 871

原创 git分支知识

4.1 Git_分支_概述和优点4.2 Git_分支_查看&创建&切换4.3 Git_分支_合并分支(正常合并)4.3 Git_分支_合并分支(冲突合并)产生冲突可以切回主分支,在主分支上手都修改要保留的内容,再提交(提交不带文件名),最后合并从分支的内容不会改变...

2022-03-29 09:52:38 297

IDEA新手开发使用教程

idea使用设置以及快捷键

2021-03-01

空空如也

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

TA关注的人

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