自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jak的博客

成长之路

  • 博客(28)
  • 资源 (5)
  • 收藏
  • 关注

原创 Spring AOP 源码解析

视频教程、视频教程

2021-05-30 19:16:57 287

原创 SpringBean的生命周期

一、SpringBean的生命周期Spring Bean的生命周期参考博客

2021-05-30 02:51:38 233

原创 Spring常用扩展点

一、BeanPostProcessor如果你想在Spring容器完成实例化,配置和初始化bean之后实现一些自定义逻辑,则可以插入一个或多个自定义BeanPostProcessor实现。这些实现成为后置处理器。BeanPostProcessor接口包含两个回调方法。当实现此接口类通过容器注册为后处理器时,由Spring容器实例的Bean,Spring容器会在bean 的init方法执行前回调postProcessBeforeInitialization方法,然后会在bean初始化之后回

2021-05-29 18:55:30 9661 8

原创 Spring中init-method和destroy-method的四种方式

在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等。要用这两个方法,自然先要知道这两个方法究竟是干嘛用的。而从字面意思就很容易理解,一个是加载,一个是销毁。下边就正式代码演示几种创建方式:一、@Bean注解方式public class Person { private String name; private Integer

2021-05-29 16:31:13 12929

原创 Java反射创建对象

一、通过类对象调用newInstance()方法,适用于无参构造方法1.1 类名.classpublic class Main { public static void main(String[] args) throws IllegalAccessException, InstantiationException { Class<Person> clazz = Person.class; Person person = clazz.new

2021-05-29 14:33:59 678 1

原创 Linux日志中如何查找关键字及其前后的信息

根据关键字查看日志cat logFile | grep "调用记账系统异常"根据关键字查看后10行日志cat logFile | grep "调用记账系统异常" -A 10根据关键字查看前10行日志cat logFile | grep "调用记账系统异常" -B 10根据关键字查看前10行日志cat logFile | grep "调用记账系统异常" -C 10在最后 20 行中去搜索 stream 关键字并显示关键字所在行及上下各 3 行的内容tail -n 20 logFil.

2021-05-26 21:21:25 1101

原创 策略模式在Spring中的应用

Spring相关配置@Configuration@ComponentScan(value = "com.best")public class AppConfig { }不打印debug日志,logback-test.xml<?xml version="1.0" encoding="UTF-8"?><configuration> <include resource="org/springframework/boot/logging/log.

2021-05-25 20:04:58 471

原创 解决org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 异常

参考博客

2021-05-25 19:32:08 606

原创 Git上传项目提示Push rejected: Push to origin/master was rejected

首先是你的项目中有和和历史不符的东西Push rejected: Push to origin/master was rejected推拒绝:这是推送被拒绝直接是解决办法,直接打开你要上传代码的文件夹位置鼠标右键git Bash Here然后直接下面两行命令解决问题git pull origin master --allow-unrelated-histories强制推送的意思。强制推送 要慎用!慎用!慎用!重要的事情说三遍!这会让别人提交的代码被覆盖!!!git push -u orig

2021-05-24 12:08:44 233

原创 Spring IOC容器源码分析

一、Spring的理解IOC:控制反转AOP:面向切面编程Spring首先它是一个框架,在我们整个开发流程中,所有的框架几乎都依赖Spring,Spring帮我们起到一个IOC容器的作用,用来承载我们整体的Bean对象,它帮我们进行了整个对象,从创建到销毁整个生命周期的管理。我们在使用Spring的时候,可以使用配置文件,也可以使用注解的方式,来进行相关实现,但是,当我们程序开始启动之后,我要把注解或者配置文件,定义好的那些Bean对象,转化成一个BeanDefinition,然后,完成整个

2021-05-23 18:53:15 329 2

原创 SpringIOC与Bean工厂

一、Spring Bean的实例化过程BeanDefinition用来描述Spring Bean的

2021-05-22 20:52:44 223

原创 Spring源码编译

1.下载gradle,可以去官网下载,gradle版本需要4.2以上,小编这里选择的是gradle4.9版本。Gradle官网2.gradle下载后不需要安装,解压再本地磁盘后配置环境变量即可2.1 配置gradle环境变量3. 下载spring-framework源码Github官网4.配置idea属性5.特殊处理6.新建gradle项目测试7.测试环境搭建参考、参考博客、视频教程...

2021-05-22 17:25:11 200

原创 @Configuration源码解析

一、@Configuration1.1 未加@Configuration1.2 加上@Configuration1.3 Cglib动态代理Gitee、视频教程

2021-05-21 22:01:42 330

原创 Spring Boot禁用Debug和Info日志

新建logback-test.xml<?xml version="1.0" encoding="UTF-8"?><configuration> <include resource="org/springframework/boot/logging/logback/base.xml" /> <logger name="org.springframework" level="OFF"/></configuration>...

2021-05-21 21:19:35 648

原创 Xshell提示要更新不能打开问题

https://jingyan.baidu.com/article/b2c186c89c7120856ef6ffe9.html

2021-05-20 15:44:09 605

原创 MySQL之Buffer Pool

一、MySQL简介1.1 查看配置SQL1.2 MySQL页结构1.3 MySQL存储结构1.4 主键索引B+树主键索引树,是聚簇索引,叶子节点存放完整的数据。1.5 二级索引B+树MySQL非主键索引组织的B+树,为二级索引树,它的叶子节点为什么没有存储完整的数据记录呢?一方面,假如索引很多,每一个索引都维护一个完整的索引树,占用空间很多。另一方面,对于更新,每个索引树都需要去更新记录,耗费性能。所以,二级索引树叶子节点,存放索引值和主键值。

2021-05-17 09:28:10 399 2

原创 MySQL全面解析

一、Mysql架构图二、InnoDB数据页结构三、InnoDB行格式

2021-05-16 20:21:16 209

原创 MySQL锁原理

一、MySQL锁1.1 读锁与写锁1.1.1 读操作1.1.2 写操作这些操作默认都会加一把写锁,和select for updae是等价的。1.1.3 读写锁演示1. lock in share mode2. select for update视频教程

2021-05-16 16:55:47 389 1

原创 MySQL主从复制

一、复制的基本原理slave会从master读取binlog来进行数据同步1.1 三步骤+原理图MySQL复制过程分成三步:1 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;2 slave将master的binary log events拷贝到它的中继日志(relay log) ;3 slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的二、复制的基本原则

2021-05-15 16:39:06 174 4

原创 MySQL锁机制

一、概述1.1 定义锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、V/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保让数据开友访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。1.2 生活购物打个比方,我们到淘宝上买一件商品,商品只有一件库存,这个时候如果还有另一个人买,那么如何解决是你买到还是另一个人买到的问题?

2021-05-15 13:20:47 232

原创 MySQL存储过程

一、建表# 新建库create database bigData;use bigData; #1 建表deptcreate table dept(id int auto_increment,deptno mediumint not null default 0,dname varchar(20) not null default "",loc varchar(13) not null default "",primary key(id)); #2 建表empcrea

2021-05-14 09:44:33 183

原创 MySQL查询优化

一、查询优化1.1 小表驱动大表永远小表驱动大表,类似嵌套循环Nested LoopEXISTSSELECT ... FROM table WHERE EXISTS (subquery)该语法可以理解为。将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE或FALSE)来决定主查询的数据结果是否得以保留。提示1.EXISTS(subquery)只返回TRUE 或FALSE,因此子查询中的SELECT*也可以是select 1或select'X',官方说法是实

2021-05-12 22:09:34 317 1

原创 MySQL索引优化

一、索引优化案例1.1 单表案例1.1.1 sqlcreate table if not exists `article`(`id` int(10) unsigned not null primary key auto_increment,`author_id` int(10) unsigned not null,`category_id` int(10) unsigned not null,`views` int(10) unsigned not null,`comments` i

2021-05-10 21:35:58 353

原创 MySQL性能分析之Explain

一、性能分析1.1 MySQL Query Optimizer1.Mysql中有专门负责优化select语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最优的执行计划(他认为最优的数据检索方式,但不见得是DBA认为是最优的,这部分最耗费时间)2.当客户端向MySQL请求一条Query,命令解析器模块完成请求分类,区别出是select并转发给MySQL Query Optimizer时,MySQL Query Optimizer首先会对整.

2021-05-09 21:09:25 322 1

原创 Mysql索引分类

一、单值索引概念:即一个索引只包含单个列,一个表可以有多个单列索引语法:1.随表一起创建create table customer (id int(10) unsigned auto_increment,customer_no varchar(200),customer_name varchar(200),primary key(id),key (customer_name));2.单独建单值索引create index idx_customer_name on cu

2021-05-09 20:01:18 142

原创 MySQL索引原理

一、索引的概念1.1 是什么MySQL 官方对索引的定义为:索引(Index)是帮助MySQL 高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。可以简单理解为排好序的快速查找数据结构。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。下图就是一种可能的索引方式示例:左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址。为了加快Col2 的查找,可以维护一

2021-05-08 19:06:46 261 2

原创 ThreadLocal.withInitial

ThreadLocal的Lambda构造方式Java8中ThreadLocal对象提供了一个Lambda构造方式,实现了非常简洁的构造方法:withInitial。这个方法采用Lambda方式传入实现了 Supplier 函数接口的参数。银行存款实例@SuppressWarnings("all")public class Test { public static void main(String[] args) { safeDeposit();

2021-05-07 17:57:42 11879 1

原创 MySQL事务隔离级别和MVCC

参考

2021-05-07 10:46:47 201

jak_rabbit.zip

rabbitmq,延迟队列,死信队列,保证消息可靠性,不丢失

2021-06-28

Redis学习笔记-包括周阳和狂神说

Redis学习笔记-包括周阳和狂神说

2021-03-05

spring5学习笔记

spring5学习笔记.

2020-11-23

SpringCloud 第二季.mmap

springCloud学习脑图,各个组件配置,讲解步骤,https://blog.csdn.net/qq_38826019/article/details/107135798

2020-07-05

WGAN-GPppt详解

生成式对抗网络,搜集整理了网上关于GAN ,WGAN,汇总详解了WGAN-GP

2018-07-10

空空如也

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

TA关注的人

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