自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 若依cloud-plus(RuoYi-Cloud-Plus)框架(后端)分析

改掉所有配置文件里的配置项(数据库连接地址,nacos地址,redis地址等配置项)如图,只需要将绿框中的导入即可,其中1,2,3,4分别是一个数据库。看了一下整体的框架,是由几个工具集合而来的。将对应目录下的配置文件配置到nacos中。

2024-05-15 10:54:42 1104

原创 java处理视频

官方文档: https://www.xuggle.com/public/documentation/java/api/已经试过获取视频总时长,宽高,MD5码的功能,有需要的可以自取。是一个 ffmpeg 项目的 Java 语言封装。已经完成开发,如果有其他疑问,可以联系我。

2024-05-15 10:31:01 417

原创 《Redis实战》笔记

Redis只会在数据已经被其他客户端抢先修改了的情况下,通知执行了WATCH 命令的客户端,这种做法被称为乐观锁 (optimistic locking),而关系数据库实际执行的加锁操作则被称为悲观锁 (pessimistic locking)。Redis要在接收到EXEC 命令之后,才会执行那些位于MULTI 和EXEC 之间的入队命令。Redis的基本事务需要用到MULTI 命令和EXEC 命令。AOF:在执行写命令时,将被执行的写命令复制到硬盘里面。Redis不支持主主复制。

2023-11-10 18:25:05 192

原创 docker中安装rabbitMq并配置启动

RabbitMq安装

2023-10-31 16:22:37 563

原创 笔记-《RabbitMQ实战指南》

读书笔记

2023-10-27 17:25:38 253

原创 开发常用代码区

【代码】开发常用代码区。

2023-08-30 15:48:48 110

原创 知识扫盲区

例如,服务器在美国,就可以在北京建一个CDN,这样的话前端可以直接访问北京服务器上的资源(文件,视频等)云盘=NAS>OSS。

2023-06-28 17:40:08 296

原创 Spring Cloud面试题

默认情况下,如果Eureka Service在一定时间内没有接收到某个微服务的心跳,Eureka Service会进入自我保护模式,在该模式下Eureka Service会保护服务注册表中的信息,不在删除注册表中的数据,当网络故障恢复后,Eureka Servic 节点会自动退出自我保护模式Zuul是对SpringCloud提供的成熟对的路由方案,他会根据请求的路径不同,网关会定位到指定的微服务,并代理请求到不同的微服务接口,他对外隐蔽了微服务的真正接口地址。

2023-05-22 16:12:07 1009

原创 分布式面试题

缺点:但是不能保证其一致性,原因就是在redis集群+主从的结构中,数据是通过分片存储的,但是这个时候当一个master节点挂了之后,slave节点还未同步到master节点的数据,导致数据丢失,万一丢失的数据刚好是你的锁,那么就有可能造成并发问题,所以不能保证强一致性,这种情况下可以通过redisson的红锁来解决,解决的原理其实就是redis的半数写入机制,但是这样完全降低了redis的性能,所以一般情况下是不采用的,zk其实能保证其一致性的原因就是其半数写入机制加上其leader选举的逻辑实现。

2023-05-07 23:56:01 67

原创 MQ面试题

拆分多个 queue,每个 queue 一个 consumer,就是多一些 queue 而已,确实是麻烦点;你创建一个 topic,这个 topic 可以划分为多个 partition,每个 partition 可以存在于不同的 broker 上,每个 partition 就放一部分数据。,但是每个实例都同步 queue 的元数据(元数据可以认为是 queue 的一些配置信息,通过元数据,可以找到 queue 所在实例)。镜像集群模式:创建的 queue,无论元数据还是 queue 里的消息都会。

2023-05-07 23:51:23 316

原创 Spring面试题

​ AOP(Aspect-Oriented Programming:⾯向切⾯编程)能够将那些与业务⽆关,却为业务模块所共同调⽤的逻辑或责任(例如事务处理、⽇志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。​ Spring AOP就是基于动态代理的,如果要代理的对象,实现了某个接⼝,那么Spring AOP会使⽤JDKProxy,去创建代理对象;⽽对于没有实现接⼝的对象,Spring AOP会使⽤ Cglib ⽣成⼀个被代理对象的⼦类来作为代理。

2023-05-07 23:23:59 490

原创 Java面试题

Java中,任何对象都可以作为锁,并且 wait(),notify()等方法用于等待对象的锁或者唤醒线程,在 Java 的线程中并没有可供任何对象使用的锁,所以任意对象调用方法一定定义在Object类中。wait(), notify()和 notifyAll()这些方法在同步代码块中调用有的人会说,既然是线程放弃对象锁,那也可以把wait()定义在Thread类里面啊,新定义的线程继承于Thread类,也不需要重新定义wait()方法的实现。

2023-05-07 22:17:10 583

原创 JVM面试题

长期存活的对象进入老年代。​ 从虚拟机的视⻆来看,⼀个新的对象已经产⽣了,但从Java 程序的视⻆来看, ⽅法还没有执⾏,所有的字段都还为零。在并发阶段,虽然不会导致用户线程停顿,但是会因为占用了一部分线程使应用程序变慢,总吞吐量会降低,为了解决这种情况,虚拟机提供了一种“增量式并发收集器”的CMS收集器变种, 就是在并发标记和并发清除的时候。(动态对象年龄判定:程序从年龄最小的对象开始累加,如果累加的对象大小,大于幸存区的一半,则将当前的对象 age 作为新的阈值,年龄大于此阈值的对象则直接进入老年代)

2023-05-07 22:16:35 462

原创 操作系统面试题

产生原因:子进程先于父进程退出后,子进程的 PCB 需要其父进程释放,但是父进程并没有释放子进程的 PCB(进程管理块,里面存放着进程的各种属性信息,每个进程都拥有自己的PCB,它是进程存在的唯一标识)。僵尸进程不同的是,由于父进程已经死亡,系统会帮助父进程回收处理孤儿进程。一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。内存管理可以简单的分为连续分配管理方式和非连续分配管理方式。僵尸进程实际上是一个已经死掉但并未释放 PCB 的进程。连续分配管理方式:块式管理。

2023-04-26 17:34:34 356

原创 计算机网络面试题

304 Not Modified:告诉客户端请求资源成功,但是这个资源不是由服务器提供返回给客户端的,而是客户端本地浏览器缓存中就有的这个资源。500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时。301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL。302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL。

2023-04-26 16:09:21 759

原创 Mysql面试题

(3)max_trx_id表示生成readview时,分配给下一个事务的id,如果要读取的事务id大于max_trx_id,说明该id已经不在该readview版本链中了,故无法访问。(2)RR的隔离级别下,只有在同一个事务的第一个快照读才会创建readview,之后的每次快照读都使用的同一个readview,所以每次的查询结果都是一样的。max_trx_id:例如m_ids中的事务id为(1,2,3),那么下一个应该分配的事务id就是4,max_trx_id就是4。类似于hashmap。

2023-04-25 17:38:20 397

原创 redis面试题总结

redis就是通过CAS(check and set)实现乐观锁,通过watch指令监听一个或者多个key值,当用户提交修改key值的事务时,会检查监听的key是否发生变化。缓存击穿:(热key问题),当缓存中某个热点数据过期了,在该热点数据重新载入缓存之前,有大量的查询请求穿过缓存,直接查询数据库。ziplist:压缩列表(ziplist) 是 Redis 为了节省内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构。定时,定期,惰性,Redis 采用了惰性删除+定期删除。

2023-04-25 15:54:16 400

原创 多线程面试题总结

最近想整理一份面试常问的问题

2022-06-30 17:22:17 204

原创 @Transactional内层事务不影响外层事务的解决方法

如下代码:public class A{ @Transactional(rollbackFor = Exception.class) public void test1(){ test2(); } public void test2(){ //具体代码实现 }}需求:若test2中的方法出现异常,不影响主流程test1的代码。方法(test2中新起一个线程,并在主流程中处理异常):public class A{ @Transactio

2021-08-30 17:33:24 801

原创 application中获取系统环境变量值与配置的名重复问题

application.yml配置文件中的配置:test: url: ${D_ALG_URL:https://baidu.com}/bb环境变量中的配置:EXPORT TEST_URL="aa"那么@Value("${test.url}")private String url;获取到的值为"aa"以下为找源码找到的原因spring源码中QualifierAnnotationAutowireCandidateResolver#getSuggestedValue方法找到调用者D

2021-08-30 17:18:50 558

原创 hibernate Validated分组校验

新建一个类,用于分组:import javax.validation.groups.Default;public class ValidationGroups { public interface Add extends Default {} public interface Update extends Default {}}使用方式:controller中:public BaseResponse<Boolean> update(@RequestBody @Va

2021-07-24 23:45:02 889

原创 异或交换两个整数的坑

进行异或交换的方法:public static void exchange(int[] arr,int a, int b) { arr[a] = arr[a] ^ arr[b]; arr[b] = arr[a] ^ arr[b]; arr[a] = arr[a] ^ arr[b];}使用异或交换两个整数:public static void main(String[] args) { int[] arr = {1, 2}; exchange(arr,0, 1

2021-07-21 14:35:04 142

原创 fastjson配置及全局解决Long类型丢失精度问题

引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.56</version></dependency>配置/** * 使用FastJSON作为json转换 */@Configuration@ConditionalOnClass(.

2021-06-25 17:05:26 997

原创 mybatis-plus注解实现非主键字段生成uuid

springboot + mybatis-plus架构下:让非主键字段以注解方式自动生成32位uuid:自定义注解如下@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.FIELD, ElementType.ANNOTATION_TYPE})public @interface GenerateUUID { String value() default "";}在字段上的应用方式@Gener

2021-06-22 10:37:31 2683

原创 单例池、单例Bean、单例模式的区别

例如,有一个bean,类型为User,则:单例Bean:spring容器中可以有多个beanName不同,但是类型相同的bean。例如,可以有beanName分别为user1和user2,对应的类型都是User。单例模式是指每次创建的对象都是同一个。单例模式是指在一个JVM进程中仅有一个实例,而单例bean是指在一个Spring Bean容器(ApplicationContext)中仅有一个实例。单例池:spring源码中的定义为Map<String, Object> singletonO

2021-05-11 14:52:58 1478

原创 spring中bean的定义方式

spring bean,java bean和对象的区别java bean(如下代码,所有的属性私有,对外提供getset方法):public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}spring

2021-05-11 14:30:32 115

原创 spring中bean的初始化过程

spring默认单例支持循环依赖spring中bean的初始化过程:class—>推断构造方法—>实例化—>对象—>属性填充(见下)—>init(见下)—>AOP(见下)—>代理对象—>beaninit:afterPropertiesSet代码:@Componentpublic class User1Service implements InitializingBean { //空的类 private User1 defaultU

2021-05-10 14:53:20 991 1

原创 springMVC源码流程小笔记

流程:源码分析:DispatcherServlet#doServicedoDispatch源码如下:protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest processedRequest = request; //处理器执行器 HandlerExecutionChain mappedH

2021-04-28 18:21:47 62

原创 手写spring源码小笔记

注解@Retention定义被它所注解的注解保留多久,一共有三种策略,定义在RetentionPolicy枚举中.从注释上看:  source:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;被编译器忽略  class:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期  runtime:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在  这3个生命周期分别对应于:Java源文件(.java文件) —>

2021-04-26 11:35:07 319

原创 mysql带外键清空或删除表方法

mysql清空表或者删除表带外键处理办法:SET foreign_key_checks = 0;truncate table table_a ;truncate table table_b;delete table table_c;SET foreign_key_checks = 1;

2021-04-01 15:41:16 666

原创 spring循环依赖笔记

原文链接:https://blog.csdn.net/java_lyvee/article/details/101793774spring在默认单例的情况下是支持循环引用的代码如下:@ComponentScan("com.my")public class AppConfig {}@Componentpublic class IndexService { @Autowired UserService userService; public IndexService() { Sy.

2021-03-31 15:59:56 86

原创 《大话数据结构》笔记

数据结构:相互之间存在一种或多种特定关系的数据元素的集合。数据的存储结构分为:顺序存储结构,链式存储结构数据的逻辑结构分为:集合结构,线性结构(一对一),树形结构(一对多),图形结构 (多对多)算法的特性:输入,输出,有穷性,确定性,可行性算法的基本要求:正确性,可读性,健壮性,时间复杂度,空间复杂度线性结构:数组,栈,队列,单链表,循环链表,双链表,递归,排序算法头指针和头结点异同: 链表中第一个结点的存储位置叫做头指针。静态列表;用数组描述的链表。每...

2021-02-22 18:32:28 187

原创 红黑树

定义每个结点或者为黑色或者为红色根结点为黑色每个叶结点(实际上就是NULL指针)都是黑色的如果一个结点是红色的,那么它的两个子节点都是黑色的(也就是说,不能有两个相邻的红色结点)对于每个结点,从该结点到其所有子孙叶结点的路径中所包含的黑色结点数量必须相同...

2020-10-15 14:54:04 51

原创 jdk7下hashmap源码分析

常量: /** * 默认初始容量-必须是2的幂。 */ static final int DEFAULT_INITIAL_CAPACITY = 16; /** * 最大容量 */ static final int MAXIMUM_CAPACITY = 1 << 30; /** * 构造函数中未指定时使用的负载因子。 * 作用在于,当存储的容量超过阈值(存储容量和加载因子的乘积)时,要对哈希表进行

2020-10-13 11:08:38 106

原创 算法题记录

1.合并区间class Solution { public int[][] merge(int[][] intervals) { List<int[]> res = new ArrayList<>(); if (intervals.length == 0 || intervals == null) return res.toAr...

2020-04-16 12:10:20 122

原创 linux查看端口占用情况并杀死进程

根据端口号查看进程:netstat -tunlp|grep 端口号杀死进程:kill -9 pid

2019-12-13 11:27:23 271

原创 树结构二

堆排序堆:分为大顶堆,对于任何一个子树,父节点永远都大于他的子节点。小顶堆,对于任何一个子树,父节点永远都小于他的子节点。升序排列使用大顶堆,降序排列使用小顶堆...

2019-11-19 16:42:31 96

原创 树结构一

树的一些概念根节点,双亲节点,子节点,路径,节点的度,节点的权,叶子节点,子树,层,数的高度,森林二叉树定义任何一个节点的子节点数量不超过2二叉树的子节点分左节点和右节点,不能随意颠倒满二叉树所有叶子节点都在最后一层,而且节点的总数为2n−12^n-12n−1,n是树的高度完全二叉树所有叶子节点都在最后一层或倒数第二层,且最后一层的叶子节点在左边连续,倒数第二层的叶子节点在右边...

2019-11-08 09:51:59 97

原创 docker

linux下安装dockeryum install -y docker

2019-11-06 11:24:07 92

原创 并发

tomcat默认并发量:200,可以修改到500-800

2019-11-05 17:34:26 77

Downie4-2-1.dmg

适合需要扒视频的人,例如b站视频等

2021-05-11

空空如也

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

TA关注的人

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