自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

易柏州的博客

宇宙飞行士的路

  • 博客(57)
  • 资源 (4)
  • 收藏
  • 关注

原创 深入springboot怎么启动tomcat

深入springboot怎么启动tomcat@EnableAutoConfiguration这是中高级工程师面试中常问的问题。知道现在有多卷了吧!我记得我刚找工作那会儿,我只要8000的工资,面试官都要问这个问题。我真TM的醉了!关于SpringBoot自动配置流程请看:深入Springboot启动流程+自动配置原理.如果你对基本的启动原理有大致的了解,那么适合阅读此篇文章。否则请先阅读深入Springboot启动流程+自动配置原理.。@EnableAutoConfiguration

2022-05-09 16:58:17 11372 20

原创 深入Springboot启动流程+自动配置原理

深入Springboot启动流程+自动配置原理🍅写在前面🍅相关常见面试题Springboot启动入口@SpringBootConfiguration解读@ComponentScan解读@EnableAutoConfiguration解读(重点)@AutoConfigurationPackage解读@Import({AutoConfigurationImportSelector.class})解读(重点)🍅写在前面🍅自从SpringBoot问世以来,开发界可以说是乱了套。我还记得我朋友几年前去参加

2022-05-07 10:35:34 12682 13

原创 深入浅出,白话文Docker入门,万字笔记

深入浅出 白话文Docker入门笔记什么是Docker,为什么要用Docker:现在互联网行业大批人员涌入,鱼龙混杂。其中也不乏很多自身硬件条件不好(学历,年龄等)但确非常努力的朋友。也许你实力非凡,但可能就因为一纸文凭,一句年纪太大将你拒之门外。怎么办呢?随着人员的大量涌入,程序员不仅仅只是程序员了,往往还要担任“前端”,“运维”等等多重身份。对我们而言,也许我们在其他方面比不上我们的竞争对手,但我们可以沉下

2022-02-15 16:57:22 7038 8

原创 深入浅出java8 stream流操作,带案例演示(Map集合)

深入浅出java8 stream流操作  基本介绍:关于stream的基本原理这里不介绍了。我之前找到这篇博客,写得很好。java8中stream原理概述无状态:指元素的处理不受之前元素的影响;有状态:指该操作只有拿到所有元素之后才能继续下去。非短路操作:指必须处理所有元素才能得到最终结果;短路操作:指遇到某些符合条件的元素就可以得到最终结果,如 A || B,只要A为true,则无需判断B的结果。 案例演示(串行流):初始化List: static List<Map

2021-11-12 11:06:02 20889 8

原创 java中的反射原理,为什么要使用反射以及反射使用场景(面试常问)

java中的反射原理,为什么要使用反射以及反射使用场景  什么是反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.看下面一段代码在这里插入代码片这里的filter指的是Spring框架

2021-07-17 22:41:14 20184 20

原创 Kubernetes(K8s)各组件白话解释

个人笔记,仅供参考。来源于尚硅谷视频转载请评论。

2023-06-07 14:48:34 703

原创 KafKa常用命令

KafKa常用命令。

2022-10-06 18:51:23 568 1

原创 String底层、字符串常量池详解

String底层、字符串常量池详解

2022-05-29 13:19:34 340 4

原创 白话@Autowired和@Resource区别和应用场景

白话@Autowired和@Resource区别和应用场景@Autowired@Resource什么时候用@Resource? @Autowired@Autowired是我们平时开发中用的比较多的自动装备bean的注解。@Autowired由Spring提供,根据类的Type(类型)进行IOC容器中的寻找并且装配,如:会去Ioc容器中找到Type为User的对象。如果有多个,只返回第一个。 @Resource@Resource默认根据类的Name(名称)进行IOC容器中的寻找并且

2022-05-10 17:40:35 1229 2

原创 白话@Import注解

白话@Import注解@Import三种使用方式:1.直接使用:2.ImportSelector:3.ImportBeanDefintionRegister:什么时候会用到@Import:🍅你的点赞是我分享的动力🍅面试的时候,面试官经常会问这样一个问题:SpringBoot中,向IOC容器添加对象有哪几种方式?大多数人能回答一下几种:@Configuration+@Bean@Controller @Service @Repository @Component等注解,通过扫描纳入Sprin

2022-04-15 14:30:43 476

原创 elasticsearch+springboot基础API操作笔记

elasticsearch+springboot基础API操作笔记Index相关操作Doc相关操作代码链接: gitHub. Index相关操作package com.example.es.test;import cn.hutool.log.Log;import cn.hutool.log.LogFactory;import org.apache.http.HttpHost;import org.elasticsearch.action.admin.indices.delete.Delet

2022-04-02 16:42:28 2579

原创 elasticsearch关于Restful方式的交互方式笔记

elasticsearch关于Restful方式的交互方式笔记1.index操作创建index(库)查看某个index的具体信息查看所有index删除某个index2.doc文档操作添加数据添加数据(自定义数据的ID)查询数据查询所有数据1.index操作 创建index(库)请求方式参数PUTindex名(小写)如: 查看某个index的具体信息请求方式参数GETindex名(小写)如: 查看所有index请求方式参

2022-04-01 17:05:35 1984

原创 白话@PostConstruct

白话@PostConstruct@PostConstruct是什么:案例:运用场景:面试的时候遇到过一个问题,Spring中,怎么让A对象在初始化的时候调用到B对象的方法?拿到这个问题的时候我一脸懵逼的,这是什么问题,还会有这样的使用场景嘛?当时最先想到的是在A对象的构造方法里手动new一个B对象,然后调用其方法。但当前是在Spring环境中,我们是通过@Autowired自动注入来取到目标对象的,所以不能用手动的new方法来做。这时候就会想:好,我不new ,我@Autowired一个B对

2022-04-01 13:52:52 876

原创 白话Java缓冲流(BufferedInputStream,BufferedOutputStream)

白话缓冲流(BufferedInputStream,BufferedOutputStream)1. 什么是流1.1 读写(复制)文件案例2. 什么是缓冲流2.1 缓冲流的作用。2.1.1 缓冲流的逻辑。2.1.2 输入缓冲流案例:2.1.3 输出缓冲流案例(复制文件):看了整个CSDN,关于缓冲流的文章基本都是模糊不清,晦涩难懂或者复制粘贴的。这里做一个简单的分享,以免面试的时候被问到那可就阴沟里翻船了。🍅你的点赞是我分享的动力🍅其实大多数Java开发人员在工作中很少会接触的IO流。可面试偏

2022-03-24 15:39:39 2583

原创 OAuth 2.0

OAuth 2.0

2022-03-17 13:08:42 133 2

原创 深入浅出,简述MySql中的各种锁

深入浅出,详解MySql中的各种锁为什么需要锁?对数据操作的类型划分读锁(共享锁)写锁(排他锁)其实对于一个开发人员来说,对数据库的掌握并不需要这么深入。但本人亲身经历,面试的时候来一句“请你说说什么是间隙锁”,一瞬间将我排除在候选人名单外。而我面试的仅仅是中级开发工程师,可见现在的内卷程度有多严重。因此本文章整理了一番Mysql中各种锁的作用和原理,欢迎学习交流。🍅你的关注和点赞对我很重要🍅 为什么需要锁?我们知道Mysql数据库提供了4种隔离级别来预防我们操作数据的时候可能带

2022-03-15 11:16:55 1444 4

转载 MyCat配置文件解析笔记

MyCat配置文件解析笔记1.schema.xml< schema>< table>< childTable >< dataNode>< dataHost>< heartbeat>< writeHost>/ < readHost>2.server.xml< system>< property >< user>< property >当我们在linux上解压完Mac

2022-03-03 17:09:03 324 1

原创 Data truncation: Truncated incorrect DOUBLE value:

我遇到这个错误是在Mysql的 in 关键字中。原因是因为in后面的条件有问题。in(xxx,xxx,xxxx) ,in条件带的是一个逗号隔开的数组,不能是字符串如:改为:

2022-03-02 15:52:51 942

原创 【ArrayList】白话文源码分析

【ArrayList】白话文源码分析ArrayList类解析全局变/常量构造方法无参构造:有参构造(参数为int)有参构造(参数为Collection集合其他方法add()打好基础,再说其他的,不要整天好高骛远。希望我的分享能帮到一样迷茫但努力的同学。ArrayList类解析首先我想对一些基础不好同学说一句。ArrayList是一个类,不是你们认为的就直接操作内存了。既然ArrayList是一个类,那么类就有类的规则,有规则我们就能学习。我们来看看这个类的结构:public class Ar

2022-02-28 17:07:18 340

原创 白话文Maven中pom.xml笔记

Maven中pom.xml文件笔记pom文件全局一览:1.基本配置2.项目信息3.依赖配置(常用)3.1 dependencies3.2 parent现在由于Sping,SpringBoot,Maven等等框架的主流化,程序员的门槛越来越低。但你会发现,很多程序员其实只会增删改查,很多基础的东西一问三不知。就比如Maven的配置这篇文章跳过maven的安装,setting文件配置等。直接记录开发中接触最多的pom.xml文件的配置,标签的含义。pom文件全局一览:我们用idea创建一个新的sp

2022-02-25 17:15:59 300

原创 sql中 case when then else多个条件

sql中 case when then else多个条件1.案例1.1 场景1(查询)1.2 场景2(查询)1.3 场景3(转义)2.总结2.1 使用场景这在笔试题中是比较常见的一个考法。 很多同学完全不知道这种用法,导致笔试通不过,没机会面试,进不了公司赚不了钱,从而谈不到女朋友结不了婚。可以看到一个小小的sql语法会导致多么严重的后果。1.案例1.1 场景1(查询)初始化一张数据表:student三个字段:id,学生姓名,分数。需求:查出学生姓名(name)以及得分状况(用lev

2022-02-24 16:09:17 7671

原创 SQL中,in和exists详解+案例

SQL中,in和exists详解+案例1. 案例表结构2. 什么是in2.1 执行逻辑3. 什么是exists3.1 执行逻辑1. 案例表结构一张人员表:user一张地区表:area一张中间表:user_area以当前初始数据表示我们知道:张三和李四两个人的地区是”成都“,王五的地区是”湖南“。 2. 什么是inin 操作符允许我们在 where子句中规定多个值。我们在开发中最常用的就是in。现在如果我们有一个需求:用一条sql查出地区属于”成都“的人员的名字。SE

2022-02-23 15:33:08 1010

原创 深入浅出,Nginx的入门与使用案例

深入浅出,Nginx详解与使用1. 服务架构图例:1.1 服务架构的演变2. 什么是nginx:2.1 nginx的作用:2.1.1反向代理:2.1.2正向代理(了解):2.1.3 负载均衡:2.1.4 动静分离:1. 服务架构图例:1.1 服务架构的演变上图描述了最为简单得服务架构方式。 一个服务器,直接接收客户端的请求,然后返回数据。 我们平时使用SpringBoot在本地调试程序的时候就是这样的形式。如果客户端请求较少的话,这种形式是没有问题的。那如果现在客户端请求特别多,并发很高。那怎

2022-02-21 17:13:21 1549 2

原创 Failed to download metadata for repo ‘appstream‘

我在CentOS上运行yum -y install vim的时候报了这样的错。原因就是因为yum远程库的问题,网络不同,需要修改镜像拉取地址为我们国内的阿里云。下面三行命令 执行下就ok# cd /etc/yum.repos.d# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.

2022-02-17 17:19:00 618

原创 Docker常用指令,包含解释

Docker常用指令基础指令:基础指令:查看Docker版本(是否安装成功):docker version 或 docker info列出本机的所有 image 文件:docker images 或 docker image ls拉取image文件:docker image pull 【imageName】 如:docker image pull hello-world删除 image 文件: docker image rm 【imageName】 如: docke

2022-02-07 14:41:29 1395

原创 什么是Base64,应用场景有哪些

什么是Base64,应用场景有哪些什么是Base64:Base64到底是加密,还是编码:Base64应用场景:java 开发中使用Base64:我们经常在工作中听到类似的东西。加密,解密,编码,解码之类的字眼。其实很多同学,特别是转行培训出来的在这个时候往往是装聋作哑的,为什么呢? 因为不知道啊,而且很多人也不知道。很多兄的的工作焦虑就是从这里来的。下来也不利用业余时间充电,那么就会被行业慢慢淘汰。所以咱们不能好高骛远,把基础学好。以后不说大富大贵,过上中产生活还是没什么大问题。什么是Base64

2022-01-25 10:28:08 2497 1

原创 防止表单重复提交,重复请求。程序幂等性预防

防止表单重复提交,重复请求。程序幂等性预防防止表单重复提交,重复请求。程序幂等性预防防止表单重复提交,重复请求。程序幂等性预防

2021-12-21 10:45:27 223 1

原创 Spring Aop 5种通知写法及参数JoinPoint详解

Spring Aop切面参数JoinPoint详解 Spring Aop切面参数JoinPoint详解Spring Aop切面参数JoinPoint详解Spring Aop5种代理通知的写法:1.前置通知2.后置通知3.返回后通知4.异常通知5.环绕通知JoinPoint是什么:Signature 是什么:ProceedingJoinPoint是什么:Spring Aop5种代理通知的写法:1.前置通知@Before("method()") public void doBeforeAdvi

2021-12-17 17:10:41 6058

原创 深入浅出:java开发中,字符集编码详解

我相信,这个问题很多人在工作中都不知道也不敢问。说真的我一开始也不知道,我不好意思问同事,因为我觉得这种问题一旦问出口,大家都投来鄙夷的眼神。但最后我才发现,我身边的程序员其实都他妈答不上这个问题。

2021-12-16 18:02:52 1164

原创 RedisTemplate没有setNx怎么办

RedisTemplate没有setNx怎么办

2021-12-14 13:59:15 2040

原创 java判断一个字符串是否是整数/正整数

java判断一个字符串是否是整数/正整数

2021-12-09 17:10:10 3620 2

原创 Java基本数据类型解析及转换。(面试必问)

Java基本数据类型解析及转换。(面试必问) 很多高级程序员在工作中都会遇到数据类型转换等问题。这种问题不能死记硬背,这里总结一下。工作中有需要可以打开博客看看。 基本数据类型分类:总览图:位数:看了上面的列表我们看到有一列叫做”位数“。那么什么他妈是位数呢?我们知道,计算机不认识我们的代码,代码最后都会被编译为计算机认识的二进制数据(0和1)。那么这里的位数,就是代表这个数据类型占了多少二进制位数。 例如Byte类型,我们通过包装类中的SIZE属性,可以得到其占用二进制的

2021-12-09 16:58:51 12923 1

原创 深入浅出,JWT单点登录实例+原理

深入浅出,JWT单点登录实例先直接上案例,方便工作中拷贝。后面说原理。代码git链接 案例演示:Controller: 登录授权接口,用户输入名字密码后请求此接口。登录成功后返回jwt 模拟认证中心,真实环境中此接口应该是一个单独的服务,这里方便演示,用一个接口代替。 @PostMapping("/login") public Object login(){ return null; } 主业务服务的主接口,返回主页

2021-11-17 16:12:40 21863 7

原创 什么是索引,如何优化索引(explain性能分析)

什么是索引,如何优化索引(explain性能分析)  索引:帮助Mysql高效获取数据的数据结构在数据库中,维护着这样的一种数据结构(索引),这种数据结构(索引)以某种方式指向数据。所以索引一般也很大,存在磁盘中。我们平时说的索引,如果没有特别指明,一般指B树。其中有聚集索引、次要索引、覆盖索引、复合索引、前缀索引、唯一索引、默认都是B+树索引。  索引分类:单值索引:一个索引只包含单个列,一个表可以有多个单列索引。唯一索引:索引列的值必须唯一但允许是空值。复合索引:一个索引包

2021-09-07 19:02:19 747

原创 Sql的执行顺序

Sql的执行顺序From > On > Where > Group By > Having > Select > Distinct > Order By

2021-09-03 13:27:27 91

原创 事务的传播机制(案例演示)

事务的传播机制(案例演示)  案例介绍:数据库表:user表,两条数据:Mapper逻辑:两条sqlupdate1:修改张三的pass字段为2。update2:修改李四的pass字段为2。 @Update("Update user set pass = 2 where id = 1") void update1(); @Update("Update user set pass = 2 where id = 2") void update2();Se

2021-08-08 19:05:21 18188 5

原创 java线程池简述,线程池的7个参数(面试必考)

java线程池简述(面试必考)  线程池的优势:线程池的工作就是控制运行线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。翻译:就是一开始就创建一定数量的线程。来一个用一个,用完了不销毁,返还到池子里等着被下一次调用。 如果需要的线程大于了我线程池准备好的线程,那么久等待,空出来一个,用一个。线程池主要特点:线路复用 :降低资源消耗。复用以创建的线程,降低新线程创建销毁造成的消

2021-08-07 16:01:48 3355

原创 JVM中堆空间简述,JVM调优以及GC垃圾回收算法

JVM堆空间简述以及GC垃圾回收算法和方式  JVM简述(面试之前看一遍).堆(非常重要)堆内存逻辑上分为三个区:1. 新生代伊甸园区幸存者0区幸存者1区2.老年代(养老区)3.元空间(永久区)元空间也就是方法区,储存类信息+普通常量+静态常量+编译器编译后的代码GC垃圾回收流程。现在有一个程序在不间断地创建对象,对象都存在在伊甸园区。某个时间段,伊甸园区满了!第一次GC开始了,有n个对象被GC掉了。剩下了1个就留到了幸存者0区,伊甸园区被清空。由于新的对象不断被创

2021-08-05 17:53:26 3685

原创 JVM简述(面试之前看一遍)

JVM简述(面试之前看一遍)  上图,我们从上往下一一解析:类装载器(ClassLoader)类装载器负责加载由.java 文件生成的.class文件。class文件在文件的开头有特定的文件标识,将class文件字节码加载进内存中,并将这些内容转换成方法区中的运行时数据结构。ClassLoader只会负责class文件的加载,至于它是否可以运行,则由其他模块决定ClassLoader类装载器有4个启动类加载器 Bootstrap, 加载JDK自带的class文件 如Object类扩展类

2021-08-03 18:56:21 189

原创 java中ArrayList为什么线程不安全,解决办法(面试题必问)

java中ArrayList为什么线程不安全,解决办法(面试题必问)  故障现象先写一个demo,看看什么情况下,ArrayList出现线程安全问题: public static void main(String[] args) { List<String> list = new ArrayList<>(); for(int i = 0; i<3 ; i++){ new Thread(()->{

2021-08-02 18:10:56 493

Netty框架+WebSocket+SpringBoot+JSP在线聊天室

Netty框架+WebSocket+SpringBoot+JSP在线聊天室。 开箱即用,简单易懂。 项目入口为:localhost:8080/login 其中用户名/密码可以在UserInfoDaoImpl类中找到。

2022-04-01

xxlJob原始项目,项目结构清晰易懂,开箱即用

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

2022-03-25

svn安装包,window

svn安装包,window

2022-03-18

.class文件反编译工具。 .class文件转java文件

解压后启动。 把目标class文件拖进来就完事

2022-02-18

空空如也

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

TA关注的人

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