自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(155)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 Springboot自动加载配置原理分析

1. springboot自动配置的原理初探​ 以下注解都在springboot的自动化配置包中:spring-boot-autoconfigurespringboot程序的入口是在启动类,该类有个关键注解SpringBootApplication@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfig

2021-10-14 17:49:59 669 1

原创 idea2020.2卡死在reading maven projects

idea2020.2创建springboot项目打开卡死在reading maven projects;解决方法:移除工程目录/.mvn/maven-wrapper.properties 文件即可参考地址

2020-11-26 14:46:04 14560 24

原创 一文看懂intel处理器型号

了解cpu型号,后缀含义

2023-08-09 09:50:02 249

原创 Maven的生命周期

最新重新回过头看了一下maven,对它的生命周期有新的理解,以前只会用,或者说出问题后百度一下,没有从原理上理解maven的运行机制。概念上分为以下几个:以前一直对maven的生命周期理解的很模糊,对clean/build/site三条生命周期稀里糊涂的,可能是被类似这种连写的方式误导了,最近有心得理解。其实字面意思很明显了,“生命周期”,什么是“生命周期”,其实就是一条完整的流程,或者叫流水线,每条流水线上已经按照顺序定义好了phase。那clean/build/site其实就是三条独立的流水线。

2023-06-09 11:08:49 934

原创 Manjaro通过源码编译jdk11

manjaro系统从源码编译jdk11

2023-01-13 10:54:15 630 1

原创 ruoyi通过oauth对接pig实现sso流程讲解

讲解ruoyi对接pig项目实现单点登录的流程,主要就是oauth2的流程分析

2023-01-04 11:49:26 2244 1

转载 5种IO模型以及常见服务IO模型设计

介绍5中IO模型,以及常见的服务比如nginx、redis中运用的io模型

2022-12-27 16:43:58 634

原创 SpringSecurity自定义多重登录方式

前后分离项目,SpringSecurity自定义多重登录方式,通过自定义AuthenticationProvider实现,同时自定义过滤器进行登录验证

2022-12-27 16:40:35 4782 13

原创 Spring如何解决循环依赖

阐述Spring中bean的生命周期以及它是如何解决的循环依赖问题的

2022-12-27 16:33:40 73

原创 Spring中的设计模式

Spring本质就是对一系列的设计模式进行代码实现,本博客记录Spring中用到的单例模式,持续完善!

2022-12-27 16:29:38 106

原创 让idea以指定版本的jdk启动

idea指定jdk版本启动

2022-12-02 12:02:31 4852

原创 使用arthas定位线上问题

强烈安利arths,线上问题分析神器

2022-07-15 21:37:35 904

原创 分布式锁以及实现方式

介绍什么是分布式锁,几种常见的实现方式

2022-07-15 21:35:44 306

原创 Linux高效命令总结(持续更新)

总结我常用的linux命令

2022-07-15 21:31:42 310

原创 线上Mysql CPU引起飙升问题定位

定位线上数据库引发cpu飙升问题

2022-07-15 21:29:53 301

原创 使用github+vuepress搭建个人博客

使用github+vuepress搭建个人博客,实现自动化部署,提交代码自动发布,效果参考https://chensino.github.io/

2022-07-15 21:26:56 396

原创 VSCode使用git-bash作为默认终端

给vscode设置bash作为默认终端,解决遇到的问题

2022-07-15 21:24:25 958

原创 git常见使用场景总结(持续更新)

git常见使用场景分享

2022-07-15 21:21:49 5370

原创 证明SPI打破双亲委派

1、什么是双亲委派?注:此处直接摘抄周志明老师的《深入理解java虚拟机》​ 站在Java虚拟机的角度来看,只存在两种不同的类加载器:一种是启动类加载器(BootstrapClassLoader),这个类加载器使用C++语言实现[1] ,是虚拟机自身的一部分;另外一种就是其他所有的类加载器,这些类加载器都由Java语言实现,独立存在于虚拟机外部,并且全都继承自抽象类java.lang.ClassLoader。​ 站在Java开发人员的角度来看,类加载器就应当划分得更细致一些。自JDK 1

2022-04-01 12:00:55 2363

原创 彻底搞懂java中的几种代理以及他们之间的关系

1、代理的分类#mermaid-svg-RecfC3RkFwKe4kmj {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-RecfC3RkFwKe4kmj .error-icon{fill:#552222;}#mermaid-svg-RecfC3RkFwKe4kmj .error-text{fill:#552222;stroke:#552222;}#mermaid-svg

2022-03-13 17:41:29 1195

原创 给不用的对象设置null的意义

前言:是否需要把不用的对象设置为null?1、开始写代码测试(所有测试都要加上以下指令)jvm参数-Xms20m -Xmx20m -Xmn10m -XX:+PrintGCDetails -XX:SurvivorRatio=8 -XX:PretenureSizeThreshold=2097152简单解释一下:-Xms20m -Xmx20m这两个指令限制堆内存固定为20m不允许扩容-Xmn10m代表分配给新生代的总内存为10m-XX:SurvivorRatio=8代表Eden区和Survivo.

2022-03-08 15:38:49 374

原创 Mybatis连接数据库部分源码分析

1、JDBC连接数据库的四部曲 public static void main(String[] args) throws Exception { //1. 加载驱动 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "

2022-03-07 16:27:19 912

原创 Linux查找目录下多文件中是否包含字符串

grep -r targetString targetDirectory# -r 表示递归查询# targetString 表示目标字符串# targetDirectory 表示目录更过功能:-r 是递归查找-n 是显示行号-R 查找所有文件包含子目录-i 忽略大小写—xargs配合grep查找find -type f -name '*.php'|xargs grep 'message'...

2021-11-02 10:17:57 237

原创 java程序启动后删除jar包会怎么样?

今天想复习一下JDK8的MetaSpace内存空间,找到了一篇博客,对比了MetaSpace和老版本jdk的永久代PermGen。其中 有一句话·it contains data about bytecode, names, and JIT information.·,翻译过来就是永久代包含了bytecode, names, and JIT information,这里的字节码指的就是class文件。所以回到题目,当我们运行一个jar项目,就比如是一个springboot项目,然后我们删除jar包,程序会不

2021-10-19 11:50:51 3689 1

原创 Spring源码分析之BeanPostProcessor

文章目录1. BeanPostProcessor介绍1.1 postProcessBeforeInitialization方法和postProcessAfterInitialization方法调用时机2. 再看看BeanPostProcessor能做什么,有什么使用场景1. BeanPostProcessor介绍打开源码里面有两个方法,分别是postProcessBeforeInitialization和postProcessAfterInitialization。public interface B

2021-10-18 14:41:43 358

原创 盘点面试官那些沙雕又自以为高深的面试题

1. String有长度限制吗?如果有限制是多少?答:String底层用的char [] 数组,长度函数返回是int类型,因此理论上最大长度是Integer.MAX_VALUE public int length() { return value.length; }理论上是这么多,但是字段串还要放到常量池,因此还受到常量池的规范限制,实际上最大长度是65534个长度。但是我们可以通过StringBuilder构造一个长度大于65534的字符串,然后传给String对象

2021-10-10 18:20:07 174

原创 字符串拼接

1、从字符串拼接学习字节码分析public class JvmTest { public void test() { String s4 = new String("hel") + "lo"; }}先反汇编,到class文件所在目录打开控制台执行javap -c 类名$ javap -c JvmTest警告: 二进制文件JvmTest包含com.chen.base.jvm.JvmTestCompiled from "JvmTest.java"public cl

2021-10-09 17:28:38 221

原创 集合接口的一点总结

1、Queue 队列1.1 queue类图queue是java中的队列,可以实现队列特性,即:先进先出,先进先出这里就说明了要从队列中移除元素,只能从头部移除,因为要保证先进先出1.2 api介绍每个方法都有一个抛出异常(新增时空间不足、为空时获取元素),一个不抛出异常方法描述add向插入数据,继承自Collectoin,在容量已满的情况下,会抛出IllegalStateException异常offer在容量已满的情况下仅仅返回false不抛出异常remove

2021-10-09 16:50:23 76

原创 包装类常量池

环境:jdk1.81. Integer常量池默认的范围范围:[-128,127],Integer内部有个缓存池,最小值-128是固定的,最大的值127是可以调整的,看源码知道,最大值是和integerCacheHighPropValue有关,这个值是可以通过java.lang.Integer.IntegerCache.high属性指定,实际测试System.setProperty("java.lang.Integer.IntegerCache.high","300")不生效,使用-XX:AutoBoxC

2021-10-09 16:01:52 114

原创 mysql8+docker实现主从复制+mybatis读写分离

基于mysql8+docker搭建的主从复制1、mysql主从复制1.1 搭建主从复制目的?1.2 使用docker搭建基于mysql8的主从复制2、使用mybatis-plus实现读写分离2.1 参考文档2.2 java工程2.3 数据库设置2.4 测试通过java读写分离是否成功2.5 、测试代码地址1、mysql主从复制1.1 搭建主从复制目的?为了实现读写分离,解决数据库性能问题,读写分离中,“读”的数据是从哪里来呢?其实他是从“写”库copy过来的1.2 使用docker搭建基于mys

2021-09-30 11:40:38 264

原创 java动态代理

1、动态代理参考1.1 动态代理使用的流程创建代理对象的接口 /*Params: loader – the class loader to define the proxy class interfaces – the list of interfaces for the proxy class to implement h – the invocation handler to dispatch method invocations to */

2021-09-29 14:18:08 83

原创 java对象创建过程

1、在类中本地变量引用自身类,会引发的问题public class BaseFormBean { private BaseFormBean baseBean = new BaseFormBean(); { String bar = "非静态代码块中字段"; } public BaseFormBean() { String foo = "构造方法中的字段"; System.out.println("构造方法被调用.");

2021-09-22 11:31:48 96

转载 Linux开机启动自定义服务

1. 以redis为例在/etc/systemd/system/新建一个文件vi /etc/systemd/system/redis.service文件写入以下内容,ExecStart和Description相应位置的内容改成自己的。[Unit]Description=redis-serverAfter=network.target[Service]Type=forkingExecStart=/usr/local/redis/src/redis-server /usr/local

2021-08-23 10:35:38 150

原创 华为云CDN的初次实践总结

文章目录1、什么是CDN?2、CDN应用场景2.1 网站加速2.2 文件下载加速2.3 点播加速2.4 全站加速3、CDN加速原理3.1 **CDN节点无缓存场景**3.2 CDN节点有缓存场景4、如何使用华为云CDN?5、问题1、什么是CDN?CDN(Content Delivery Network,内容分发网络)是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容。CDN服务缩短了用户查看内容的访问延迟,提高了用

2021-08-12 16:06:42 604

原创 ElementUI实现下拉组件的分页以及编辑时数据回显

1、效果图2、实现过程//TODO

2021-08-06 10:00:54 527 2

原创 elementUI下拉框分页加远程搜索组件封装

<template> <el-select v-model="copyValue" :disabled="disabled" filterable clearable remote @clear="selectClear" placeholder="请选择" @change="updateValue"

2021-08-04 17:51:45 1121 3

原创 RabbmitMQ学习

1.1 路由模式中的routeKey作用?刚入门学习时,感觉routekey是脱裤子放屁,exchange要是想个queue发消息直接绑定queue不就完了了吗?搞一个routekey给我的感觉是没啥用,不知道其他刚学的朋友有没有这个疑问。其实它是有用的,如下图是一个简单的路由模式,exchange(路由,蓝色的部分)绑定了两个队列,假如有一个消息,生产者希望只有队列1可以消费它,那么此时routeKey就派上用场了,生产者在发消息时附带一个routeKey,则消息到了路由那里,它就会根据事先绑

2021-07-23 10:34:22 121

原创 内网穿透工具推荐

背景公司有内网服务器(可以访问外网,只是没有公网IP的那种),上面部署了很多服务,有时回到家想调试代码,就访问不了内网服务器上的服务,因此想办法把内网服务器上的给暴露在公网。解决方法使用公司VPN,让IT的把你这个内网服务器添加到VPN里面,然后在家用VPN访问。这种方式毕竟有求于人,我司的流程多,各种权限很烦,所以我放弃了。使用内网穿透工具frp——强烈推荐frpfrp源码地址环境准备一个有公网IP的服务器,推荐使用云服务器一个内网服务器(ip地址一般是192.168.xxx),但

2021-07-21 14:07:00 761

原创 springboot项目debug启动慢

原因开启了方法断点,启动时idea会有提示Method breakpoints may dramatically slow down debugging,意思就是在方法上打了断点会导致启动很戏剧性的变慢。解决方法去掉方法断点,就是菱形标记的那种断点...

2021-07-21 13:51:12 1050

原创 Manjaro(Arch)软件包降级

1. 降级包有时太新的包会有bug,我们希望降级到更老版本的包,并且降级后我们希望下次检查更新的时候跳过此包的检查。2.解决方法安装downgrade程序```sudo pacman -S downgrade``降级sudo DOWNGRADE_FROM_ALA=1 downgrade xxx包注意DOWNGRADE_FROM_ALA=1一定要按照我上边这样写,不能单独export DOWNGRADE_FROM_ALA=1设置忽略升级的包第二步会让你选择更新的时候是否要忽略更新,选择y的

2021-07-16 10:39:29 1117

photoshop教程

适合刚学习不久的新手学习,包含个人实践中的经验总结。

2013-01-12

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

TA关注的人

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