自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_43892890的博客

java后台学习总结

  • 博客(16)
  • 收藏
  • 关注

原创 深刻理解select、poll、epoll

深刻理解select、poll、epoll

2022-11-29 22:46:00 111 1

原创 MySQL做分布式做在未提交读级别下会有问题吗

MySQL做分布式做在未提交读级别下会有问题吗

2022-11-27 20:57:53 258

原创 spring的三级缓存,一些个人思考

我的答案是能解决,不考虑生命周期这些东西,把现在bean初始化的第二步放到第九步后边,也就是先生成代理对象,放到第二级缓存中,然后再去填充属性,如果发生了循环依赖,直接在二级缓存中能拿到最终的代理对象,没有必要去弄一个三级缓存出来。斗胆猜测,spring是先有生命周期这玩意的,后来才发现有循环依赖这个bug,这个时候不能去把之前定义好的东西给推翻吧,就像咱们写代码的时候发现一个bug就去把之前的流程全都改了,不太符合我们摸鱼的本性吧。spring如何解决循环依赖的,三级缓存的原理是什么。

2022-11-14 23:01:13 114

原创 java线程引发的意思思考

最近被迫失业了,时间比较多,也为了找工作看了看一些八股文,看到操作系统的进程和内核态线程的时候引发了一些思考和猜测,不一定准确没有问题大家留言探讨。

2022-11-13 19:25:02 188

原创 mit6.824 raft系列1

mit6.824

2022-10-25 17:29:32 184

原创 图的常见算法(拓扑排序,Dijkstra,Union Find,Prim)

g个人总结

2022-06-30 16:47:27 143

原创 rabbitMQ使用SpringCloud Oauth2 的jwt鉴权

想要达到的目的项目master向mq中的队列1,2,3发送不同的消息,项目slave1,slave2,slave3分别订阅队列1,2,3的消息。这些slave项目只能订阅自己队列的消息,不能订阅其他队列的消息。简单的做法是创建三个不同的虚拟主机(vhost),用不同的账号分给slave项目。缺点就是如果队列和项目是动态增加的,就很麻烦。rabbitmq_auth_backend_oauth2翻了一下rabbitmq官网,发现了这个插件rabbitmq_auth_backend_oauth2。3

2021-12-24 15:06:11 1400

原创 mybatis plus+sharding+动态数据源启动报错:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

**mybatis plus+sharding+动态数据源启动报错:Property ‘sqlSessionFactory’ or ‘sqlSessionTemplate’ are required**百度Google搜了一大堆都说不能用 druid springboot启动器 ,但是我用的是HikariCP ,压根没有druid的包。根据报错debug发现是缺少sqlSessionTemplate bean导致的这个问题。sqlSessionTemplate的创建是在MybatisPlusAu

2021-09-07 17:40:11 5480 5

原创 Spring Cloud Gateway+Consul对Netty Socket IO+SSL负载均衡

Spring Cloud Gateway+Consul对Netty Socket IO+SSL负载均衡问题Netty Socket IOGateway最后附上nginx的配置问题项目当中用到了WebRTC,这玩意调用摄像头必须是在https情况下,然后就直接把前端的服务器nginx弄了个ssl证书,结果项目在建立NettySocket连接的时候使用的是http协议被浏览器阻止了,所以只能把NettySocketIO服务也升级成SSL。这样的结果就是nginx,gateway,netty socket三个

2021-05-23 18:22:07 1373

原创 Spring Boot+NettySocketIo+RabbitMQ实现websocket集群

Spring Boot+NettySocketIo+RabbitMQ实现websocket集群效果连接到不同的服务器的两个客户端可以互发消息websocket的连接Client是不能序列化的,所以不能使用session共享那样的方法来做websocket的集群nettySocket已经支持了Redission的集群方案,这里在原来有的基础上使用RabbitMQ实现的集群方案目录结构引入依赖 <dependency> <groupId>c

2021-01-27 20:21:38 1607 1

原创 看完这篇文章,再也不惧面试官问到多线程

本人目前还未毕业,也没有接触过多线程的项目,所以有不对的地方还请见谅(轻喷)线程的一些基本概念就不写了,像线程和进程的区别,线程的状态啥的可以去看看别的文章说到多线程那就少不了并发,一般面试官会问“说说你对多线程的理解”或者是对线程安全的了解啥的1. 多线程到底是什么?想要了解多线程就要知道底层原理是什么。首先多线程不是某种语言具有的,而是操作系统的,可以理解为程序的多线程都是调用了操作系统来实现的。操作系统也是依赖于计算机本身的硬件,我们知道多线程的原理是把cpu的执行时间划分成很多小片段,但是这

2020-07-15 20:26:52 505

原创 阿里2020春招4.3Java实习生笔试题

第2题小强有一天想去郊区玩,但是路上会经过一片山路,山路可以看作是一个N*M的网络,每个网格代表一个区域,山路崎岖不平,每一个区域都有一个会消耗的体力值。小强在走山路的时候,只能从一个区域走到相邻的4个区域中的任意一个。每到一个区域,会消耗对应的体力值。小强初始位置在第1行上方,需要去到第N行下方。小强想找一种走法,使得经过山路的总体力值消耗最小,请你帮小强找到这么一条路,并输出最小的总体力值...

2020-04-25 20:54:59 972 1

原创 HashMap put方法源码解析

先上源码 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); }这里先调用了hash方法得到key的hash值(并不是直接得到key的hash,具体可以看hash方法)然后调用了内部putVal方法,hash,key,value参数不需要多说,fi...

2020-04-15 17:21:13 136

原创 vue admin template开启顶部导航

官网上没有太多的说明废话不多说,直接上代码1.复制vue element admin必要组件AppMain.vue覆盖一下2.修改一些文件/src/store/index.js/src/store/getters.js/src/layout/components/index.js/src/layout/index.vue<template> <...

2020-03-05 14:28:01 3483 11

原创 spring boot异步方式参数失效

首先说明这篇文章没有解决办法背景用spring boot aop添加操作日,为了给前端更快的返回结果,日志操作用了异步方式问题为了获取请求地址,调用异步方法会把request传过去,有时候这里 String url = request.getRequestURL().toString();会报空指针异常aop方法代码:@AfterReturning(returning = "re...

2019-10-22 12:10:34 603 2

原创 springboot 2.0整合mybatis+druid 详解

springboot据说与1.x版本区别很大,我也是刚刚开始学习springboot,并没有接触过1.x的版本,直接开始学习springboot 2.1.1的版本,小版本之间的差别应该不是很大。这几天开始整合mybatis,在网上找的教程发现多多少少都有些问题,中间也遇到了很多坑,写下这篇文章帮助其他朋友。1.修改pom文件在pom文件中导入以下几个坐标: //mybatis的启动器,我这里...

2018-12-26 18:20:16 693 2

空空如也

空空如也

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

TA关注的人

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