自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 MyBatis源码解读-SqlSession执行流程

​ 既然要看MyBatis源码,当然是把源码拉取下来debug一步一步看才方便呢,这里已经拉取下来,并准备好例子了。​ 从上诉例子来看,我们观察到首先是解析配置文件,再获取SqlSession,获取到Sqlsession之后在进行各种的CRUD操作,我们先来看下SqlSession是怎么获取的。...

2022-06-07 17:23:31 361

原创 线程池原理与理解

1、线程​ 线程是调度CPU资源的最小单位,线程模型分为KTL模型与ULT模型,什么是KTL模型与ULT模型,请看下方名称描述用户级线程(User-LevelThread, ULT)由应用程序所支持的线程实现,内核意思不到用户级线程的实现内核级线程(Kemel-LevelThread,KLT)内核级线程又称为内核支持的线程具体详细的模型请参考 点击跳转JVM使用的是KLT模型,java线程与OS线程保持1:1映射关系,也就是说一个java线程也会在操作系统里有一个

2022-04-18 14:28:13 352

原创 SSM升级JDK1.8

【背景】因基础组件的升级,必须使用jdk1.8以上版本【步骤-升级JDK8】1、升级maven编译器,修改pom中编译器Java版本 <configuration> <source>1.8</source> <target>1.8</target> </configuration>2、升级maven编译器,修改pom中编译器Java版本 Settings 点击 F

2022-03-08 18:06:05 591

原创 Spring Security Oauth2(二)

前言上一篇我们是用了password模式来进行授权认证,获取token,接下来我们来看看其中关键的类是怎么获取token,分发token的。ClientCredentialsTokenEndpointFilter首先外部通过请求/oauth/token来获取token,当请求进来之前就会通过一个ClientCredentialsTokenEndpointFilter的过滤器,关键方如下:@Overridepublic Authentication attemptAuthentication(Htt

2021-12-03 10:36:56 824

原创 Spring Security Oauth2记录(一)

前言​ 由于公司要求使用Spring-Security-Oauth2快速搭建一套账号中心,此版本为初级版本,仅为作为记录学习下Spring-Security-Oauth2的原理和快速搭建。开发前准备​ 在快速搭建之前首先要弄明白Oauth2是什么,大概的运行流程是怎么样子的,而Security是一套Spirng提供的一套安全框架,这个没有接触到的小伙伴可以在这里停住了,由于我已经大概了解是怎么用的,这里就不再过多逼逼。Oauth简单理解​ 首先呢Oauth2是一种关于授权的开放网络标准,在讲

2021-12-02 10:20:29 386

原创 发布到maven center仓库

发布到maven center仓库官方说明:为了让Maven用户利用项目生成的构件,必须将它们部署到maven center repository。 许多开源项目希望允许使用Maven构建的项目用户透明地访问项目的构件。 为了实现这一点,项目应该将其构件部署到中央存储库。简单来说就是将我们自己写好的文件上传到maven中央仓库,其他人想用就可以通过依赖的方式去引入。需求:releases: Only releases can be uploaded to the Central Repos

2021-11-16 11:20:41 1001

原创 Linux环境下安装JDK11

Linux环境下安装JDK11安装包下载链接:https://pan.baidu.com/s/1PpORKQ5dcynRl9L0jvInjw提取码:rxdj安装步骤将下载的文件放入Linux的文件中并使用如下命令进行解压tar -xvf jdk-11.0.12_linux-x64_bin.tar.gz修改环境变量, vim /etc/profile 添加如下内容(目录为自己解压的路径)# JAVA_HOME# /home/software/jdk11为自己解压的路径e

2021-11-15 14:18:06 1536 2

原创 记录常用Nginx配置文件解释

Nginx.conf# user user [group];# user : 指定可以运行的Nginx用户# [group] : 指定可以运行的Nginx的用户组# 如果指令不配置或者配置user nginx nginx,则默认所有用户都可以启动Nginx进程user nginx nginx; # 这是Nginx服务器实现并发处理的关键配置,Nginx进程最多可以产生的woker process数worker_processes 2;# worker_cpu_affinity 000000

2021-11-12 10:43:51 1893 2

原创 2021-08-24 garcia-sync模块没有出现定时操作的问题

【背景】2021-08-24 garcia-sync模块没有出现定时操作的问题【原因】        原因1:在task-properties的文件中配置了拉取http:/xxx/conf/garcia/sync/V1.1,而在task-properties文件使用监听的时候监听的是garcia/sync/1.0,导致了没有拉取配置文件cron表达式,使得任务没有执行    &nbs

2021-08-26 19:45:56 75

原创 JVM内置锁之synchorized关键字详解

设计同步器的意义多线程编程中,有可能出现多个线程同时访问同一个线程,可变资源的情况,这个资源我们称之为临界资源;这种资源可能是:对象、变量、文件等。共享:资源可以由多个线程同时访问可变:资源可以在其生命周期内被修改有上述可得出:由于线程执行的过程是不可控的,所需要采用同步机智来协同对象可变状态的访问!如何解决线程并发安全问题?​ 实际上,所有的并发模式在解决线程安全问题时,采用的方案都是**序列化访问临界资源。**即在同一时刻,只有一个线程访问临界资源。​ Java中,提供了两种解决方式来

2021-08-04 10:40:46 210

原创 并发编程之volatile详解

并发编程的可见性,原子性与有序性问题原子性​ 原子性指的是一个操作是不可中断的,即使是在多线程环境下,一个操作一旦开始就不会被其他线程影响。​ 在java中,对基本数据类型的变量的读取和赋值操作是原子性操作有点要注意的是,对于32位系统来说,对于基本数据类型都是读写操作,long类型和double类型数据的读写并非是原子性,也就是说,如果存在两条线程同时对long类型或者double类型的数据进行读写是存在相互干扰的,对于32位虚拟机来说,每次原子读写是32位的,而long和double则是64

2021-07-21 10:26:03 166

原创 并发编程之JMM理解

什么是JMM模型?        Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,它不是真实存在的,它只是一种帮助我们去理解程序中各个变量而定义出来的一种规范。JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存,用于存储线程私有的数据,而Java内存模型中规定所有变量都存储在主内存,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作必须在工作内存中进行。首

2021-07-19 19:44:22 117

转载 Spring之Error creating bean with name ‘xxxxController‘ Could not autowire field

原因分析:错误创建Bean一定是配置出问题解决方法:1.检查controller层,service层,dao层有没有去添加注解2.检查注解dao层,service层,controller层对应的包有没有添加进针对这些注解的包扫描中,如果没有就加上// 找到spring-context的配置文件去添加如下<context:component-scan base-package="xxxx.xxxx.xxxx.xxxx.service" />转载: 两步教你解决 Error creat

2021-07-13 14:28:11 115

原创 我的学习系列之Spring Data JPA】三、Spring Data JPA之JPQL的应用

Spring Data JPA之JPQL的应用     JPQL全称Java Persistence Query Language。     是一种Java持久化查询语言,一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。     其特征与原生SQL语句类似,并且

2020-08-31 11:28:23 399

原创 【我的学习系列之Spring Data JPA】二、Spring Data JPA之CRUD

Spring Data JPA之CRUD事务管理     在数据库操作中添加数据的时候,是需要使用到事务来进行管理的,而在上面的添加User数据的示例中,并没有看到在哪里使用了事务管理,那么它是怎么起作用的呢???    需要知道的是,如果没有事务,我们对数据表的增删改操作不可能会成功的。那么问题就来了,SpringData 是在哪里进行了事务的管理呢??    在示例中

2020-08-28 11:40:09 140

原创 【我的学习系列之Spring Data JPA】一、SpringBoot整合Spring Data JPA

一、SpringBoot整合Spring Data JPA在数据库的操作中,有非常多的优秀的ORM框架,如Hibernate、Mybatis、JPA等等。这个时候就有小伙伴问,什么是ORM呢?    ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系

2020-08-25 16:03:22 125

原创 SpringBoot添加日志应用

SpringBoot添加日志应用在使用Mybatis的时候,为了方便进行调试、测试观察,在执行数据库操作的时候,都会显示出操作的SQL日志相关的信息,这需要配置Log4j,添加它的日志配置文件。那么在SpringBoot中,如何来显示日志呢??SpringBoot默认日志框架需要知道的是,SpringBoot的应用中,默认使用的日志Logback。官网地址:https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/reference/htmlsin

2020-08-24 16:14:14 536

空空如也

空空如也

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

TA关注的人

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