自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadLocal存取请求Token

有这样一个场景,A网站会多次调用B网站返回数据,前提是需要每次都携带B网站的token,由于用户与B网站用户做了一个关联,很容易拿到B的token,然后通过RestTemplate把token设置给请求头,问题就是每次请求都要先获取再设置,那么能不能获取一次呢,于是就想到了ThreadLocal,记录一下吧。三个步骤:1、创建拦截器——>2、注册拦截器——>3、设置给RestTemplate的请求头。2、注册拦截器一般上面代码就注册成功了,可是我在这里拦截器没有生效,原因是项目为了解决跨域,有一个We

2022-06-17 08:00:00 733 1

原创 Java面试突击每日十题【Day07】

Notes:先思考再看参考答案,答案在图片下面!!!Spring事务失效场景?说说Mysql索引的理解,为什么用B+树?说说Mysql有几种索引,什么是聚簇索引?Redis的淘汰原理,不是淘汰策略?G1垃圾回收过程,和CMS的区别?说说常用的集合,哪些是线程安全的?说说看过Hashmap哪些源码,比如hashcode具体怎么算的,怎么解决hash冲突的,重点说下get/put方法?给一个全是正整数的集合,不用现有的方法,如何排序?Spring的启动流程,SpringBoot的自动配置原理

2022-05-12 08:00:00 271

原创 Java面试突击每日十题【Day06】——面试高频

说说I/O多路复用模型?怎么解决mq消息堆积?怎么保证mq消息不丢失?怎么保证mq消息幂等性?怎么保证mq消息顺序性?说说Redis的缓存预热?说说Redis的缓存雪崩、缓存击穿、缓存穿透及解决方案?什么时候建立索引?说说explain?explin需要注意哪些字段?type字段有哪些值?ref是什么级别?什么时候索引会失效?一、首先需要知道两个概念socket和fd(文件描述符),socket直接翻译套接字/插口,什么玩意,用人话来说就是客户端和服务端都开了一个口子,这个口子用来.

2022-05-10 08:00:00 618

原创 Redis7.X安装卸载教程

不知不觉干了这么多运维的活,拿Redis7.X的安装卸载记录一下吧,也适用于其他版本的安装,其他软件也是如此。开始之前可以先看下这个数据库引擎网站,里面有各种数据库的介绍排名等。其他的就不多看了,直接找到官网地址去下载。进入Reids官网,找到下载地址这里有两种下载安装包方式。第一种,直接点击redis官网的Downloads下载tar.gz包,然后上传到服务器。第二种,使用wget命令下载tar.gz包。# 使用wget需要服务器有wget命令,没的可以装一下,自己可以新建一个放安装包的路

2022-05-08 07:00:00 1237 1

原创 Java面试突击每日十题【Day05】——JVM篇

Notes:先思考再看参考答案,答案在图片下面!!!JVM类加载器及类加载原理?如何打破双亲委派机制?描述一下Java类加载和初始化过程?描述一下JVM内存模型,以及这些空间存放的内容?聊一下堆的分区及特点、GC过程、空间分配担保机制?常用的GC算法有哪些,分别用在什么时候?GC收集器有哪些,你们项目使用的垃圾回收器?G1垃圾收集器有什么特点?JVM对象已死垃圾判定算法,变量什么时候下会被垃圾回收?什么是OOM?什么是Stackoverflowerror?产生的原因?Java的四种引用?

2022-05-01 17:40:07 581

原创 Java面试突击每日十题【Day04】——Spring下篇

Spring的面试题,感觉写个多少篇都不会写完,只有对十分高频的做一些总结了,上篇和下篇的这些都搞明白了Spring的常规面试应该差不多了吧!!!Notes:答案在图片下面!!!Spring Bean的初始化方式有哪些,执行顺序是什么?Spring依赖注入的方式有哪几种?@Autowired和@Resource区别?SpringBean的作用域及区别?Spring事务支持的隔离级别?Spring框架中的单例Bean是线程安全的么?如果线程不安全,如何处理?Spring通知有哪些类型?Sp

2022-04-25 08:00:00 392

原创 Java面试突击每日十题【Day03】——面试必问

Notes:先看题思考一下,再看图片下的答案!!!分布式事务都有哪些,你们用的什么?说说ThreadLocal原理,使用场景,内存泄漏?高并发下怎么保障缓存和数据库一致性问题?说说Synchronized锁升级过程?线程池核心参数,线程池底层工作原理,应该开多少个线程?说说对AQS的理解?说说BIO、NIO、AIO的理解?有没有用过Netty?Mysql索引什么情况下会失效?怎么优化索引,如何设计索引更高效?Redis为什么快?Redis的持久化方式?一、分布式事务:2PC、3P

2022-04-21 08:00:00 625

原创 Java面试突击每日十题【Day02】——Zookeeper篇

Zookeeper是什么?有哪些特性?Zookeeper有哪几种数据节点?Zookeeper下Server工作状态?Zookeeper常见的应用场景?Zookeeper是如何保证事务的顺序一致性的?Zookeeper有哪几种部署方式,集群最少几台机器,集群的规则是怎样的?若说集群有三台机器,其中一个节点宕机,这时候Zookeeper还能继续使用吗?宕机如何处理?Zookeeper支持动态添加机器吗?讲讲ZAB协议,ZAB和Paxos算法的区别和联系?Zookeeper初始化是如何进行Lea.

2022-04-20 08:00:00 174

原创 Java面试突击每日十题【Day01】——Spring上篇

Jack ma曾说过离职的两个原因:1、要么钱少;2、要么心里委屈。总之一句话就是干的不爽,反正我现在心里很是不爽,就又开始了面试新征程,和上次不一样的是这次不裸辞了,实在是顶不住裸辞的压力了,在加上互联网裁员裁的人心惶惶,有工作就不错了,但是也不能委屈自己呀,工作实在干的不爽还是要换的,面试面试也好,在这公司一年了感觉没学到多少东西,再不走出舒适区真的要废了。而真正到面试时又开始了焦虑,解决焦虑的最好办法就是找到具体的原因,一说到具体我们其实是知道方法、路径的,就像面试题,记不了那么多一天巩固十道高频有.

2022-04-19 08:00:00 1079 2

原创 分布式锁的实现原理及多种实现方式,在工作中的实际使用,面试高频。

不仅面试中常问:说说分布式锁的实现方式,你们是怎么使用分布式锁的?分布式锁在分布式项目中也是必会的一项基本技能。文章目录1.分布式锁的由来及为什么使用分布式锁,分布式锁的应用场景?2.分布式锁的实现方式有哪些,存在哪些问题,有没有完美的解决方案?分布式锁比较主流的解决方案有以下三种:1.基于数据库实现分布式锁。2.基于Redis自己实现或者Redisson框架,及RedLock算法解决什么问题。3.基于Zookeeper实现分布式锁。3、工作中实际使用?1.分布式锁的由来及为什么使用分布式锁,分布式锁的

2022-04-17 14:14:48 1072

原创 SpringBoot或Nginx方式实现通过URL链接直接在服务器下载图片、Excel、Pdf等静态资源文件

一、Springboot项目直接将静态资源放入web对应的resource的static文件夹(没有static的话可能有template,需要在配置文件配置下),不推荐,当然也可以写接口进行下载,也不推荐,不再展开。二、通过nginx直接下载,推荐使用,重点讲解改步骤。不会nginx还没有吧,没有装一个吧,可以看该博客有详细步骤。最新nginx下载安装卸载详细教程将静态资源放在服务器某一个文件夹下,记住该路径即可,这里为 /home/test/pdf编辑nginx配置文件vim /etc/n

2021-12-01 22:56:39 2964

原创 Centos使用yum安装或者卸载最新稳定版的nginx——最详细

nginx快速安装,最新详细可用。

2021-12-01 22:07:34 643

原创 最新版Knife4j在SpringBoot中的使用,美化版Swagger。

1、SpringBoot中引入依赖。 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.2</version> </dependen

2021-11-04 00:51:19 689

原创 Gradle的安装下载最新教程

之所以写这篇文章是因为在搭建最新的Spring源码时,发现用的不是maven而是Gradle,那么就安装配置一下,Spring源码环境可以点击这里。Gradle官方下载地址下载稳定版即可,其他的看心情下载。下载完成后,新建Gradle文件夹,将压缩包解压,配置环境变量。新建系统变量:GRADLE_HOME,变量值G:\gradle\gradle-6.9.1-all\gradle-6.9.1,在Path中添加%GRADLE_HOME%\bin,配置完点击确定,cmd查看配置是否成功。创建

2021-09-11 19:52:32 679

原创 IDEA搭建最新Spring源码环境基于Gradle、JDK11

Spring的地位不言而喻,很多牛逼的大佬都研究过它,相信在面试中大家也不止一次被问到说说IOC、AOP、Spring的启动流程、Bean的初始化流程、循环依赖等问题。光看别人写的八股文,没看过源码,看着看着就不知道讲什么了,只有自己去研究下才知道别人在说什么,就算不能理解的很透彻,起码死记硬背应该容易点了。所以搭建spring源码环境是很有必要的,很早就想过搭建,但是一直没有时间(忙着玩了),Spring能搭建好,也可以搭建SpringBoot,面试中基本上离不开这两个东西。废话不多说开干。最新版的S

2021-09-11 19:22:02 788

原创 Windows安装多版本JDK,JDK8和JDK11动态切换

之所以写这篇文章是因为在搭建Spring源码环境时使用JDK8有问题,看了一些博客说最好使用JDK11,而公司用的又是JDK8,为了防止出现问题所以电脑应该有多个JDK环境,而且可以动态切换,所以去官网下载了JDK11,安装配置一手。一、下载安装JDK11,配置环境变量Oracal JDK下载地址:下载完成后,进行选择自己想要安装的文件夹,这是我的安装路径。配置环境变量:这是我之前的JDK8的配置点击新建,新建系统变量变量名JAVA11_HOME,路径就是上图自己的安装路径,例如D:\deve

2021-09-11 18:30:37 2265 1

原创 dockerer-compose搭建单机clickhouse集群,工作中最新亲测能用,超详细

作为一名菜鸟Java工程师,公司这几天让我搭建clickhouse集群,对于搭建过的人来说十分简单,对zookeeper不太熟悉的人来说还是有一定难度的,这一周我在公司的角色更像是运维人员搭建集群和服务,一个字干,另外kafka搭建点击这篇,zookeeper集群搭建点击这篇。对于集群搭建来说使用docker来搭建更加方便,这里使用docker-compose来搭建clickhouse集群。由于我自己就一台服务器,那就在一台搭个三分片三副本的集群,这里分二个阶段:准备阶段、搭建阶段。1、准备阶段:连接

2021-06-26 16:03:51 3698 4

原创 dockerer-compose单机搭建Kafka,工作中最新亲测能用,超详细

作为一名菜鸟Java工程师,公司这几天让我搭建kafka,对于搭建过的人来说十分简单,对zookeeper不太熟悉的人来说还是有一定难度的,这一周我在公司的角色更像是运维人员搭建集群和服务,一般公司像这种集群搭建来说也不会给我这种小白搭建,一个字干,另外zookeeper集群搭建点击这篇。对于集群搭建来说使用docker来搭建更加方便,这里使用docker-compose来搭建单机kafka,集群类似。由于我自己就一台服务器,那就在一台单机部署kafka了为了能保证kafka搭建可用,这里分二个阶段:准

2021-06-26 15:19:37 719 6

原创 dockerer-compose搭建zookeeper集群,工作中最新亲测能用,超详细

作为一名菜鸟Java工程师,公司这几天让我搭建zookeeper集群,对于搭建过的人来说十分简单,对zookeeper不太熟悉的人来说还是有一定难度的,这一周我在公司的角色更像是运维人员搭建各种集群,一般公司像这种集群搭建来说也不会给我这种小白搭建,一个字干。对于集群搭建来说使用docker来搭建更加方便,这里使用docker-compose来搭建zookeeper集群。由于我自己就一台服务器,那就在一台搭个三节点的集群,因为zookeeper搭建集群最好是奇数台,利于选举与防止脑裂,为了能保证集群搭建

2021-06-26 15:01:43 767 2

原创 工作中常用到的Stream流的操作

这是我工作中用的比较多的stream流操作,在这里记录一下,后续有时间还会更新。package com.attack.bat.interview.java8.stream;import com.attack.bat.interview.java8.entity.Device;import org.springframework.util.CollectionUtils;import java.math.BigDecimal;import java.time.LocalDateTime;imp

2021-05-23 15:53:08 361 2

原创 Redis存储的键值没到过期时间就过期,线上token过期。

转眼入职一家公司已经12个工作日,由于公司不大,分了两三条业务线,每条业务线两三个后端,那么负责的东西也就很多了,没有所谓的运维,后端的活就更多了。自己就这样成了核心人员,一两个周改了二三十个bug,但是也有棘手的bug,比如这个token失效问题和kafka消息丢失问题,折磨了我两三天,说起来都是泪。其实我早该想到bug的原因的终究还是经验太少了,测试环境的用户登录没有问题,而生产环境的用户登录总是莫名其妙的掉线,token我明明在redis设置了半个月时间,于是去一步步排查代码,怎么测都不行,加上还有

2021-05-23 01:36:12 2255 11

原创 Redis使用Lua脚本时为什么能保证原子性

昨天面试问了一道题,让我猝不及防,说到了Lua脚本,然后面试官问我Redis使用Lua脚本为什么能保证原子性?看一看下官方的说明:“Atomicity of scriptsRedis uses the same Lua interpreter to run all the commands. Also Redis guarantees that a script is executed in an atomic way: no other script or Redis command will be

2021-04-24 01:06:18 9662 1

原创 分布式事务面试题

分布式事务:逻辑上的一组操作,组成这组操作的各个逻辑单元在不同的服务中,不同的服务器上,要么都成功,要么都失败。场景。场景:不同服务,不同数据库相同服务,不同数据库不同服务,相同数据库情况:除了本地事务的程序异常之外,网络异常、服务器宕机分布式事务基础理论:CAP:C:一致性。写完之后立马可以读取到最新数据;A:可用性。挂掉一台服务器依然可用;P:分区容忍性。分区通信失败是无法避免;BASE:妥协的方案,本质就是一个追求AP的方案。Ba:基本可用。保证核心功能可用;S:软

2021-04-21 00:50:27 1801 8

Java开发多份Word文档查重工具

用途:对多份word文档内容进行分析,把重复内容进行高亮显示。 语言:Java

2024-06-29

2022最新Java个人面试总结及整理

网上面试资料一大堆,真正经过独立思考的并不多,近期也在面试,把面试高频的面试题整理并找到满意的答案,冲击面试,收割offer。

2022-04-16

空空如也

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

TA关注的人

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