自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jar包方式部署项目

jar方式部署项目

2022-06-01 17:54:34 144 1

原创 Nginx

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录一、什么是正向代理?二、什么是反向代理?三、反向代理-路由四、请求Nginx默认页面五、Nginx进程模型1.master进程(主进程)2.worker进程(工作进程)六、nginx.conf配置结构七、开启压缩八、location 的匹配规则1、空格 :默认匹配,普通匹配2、=

2022-02-28 17:40:11 1759

原创 云服务器centos7离线安装MariaDB

云服务器centos7离线安装MariaDB一、详细可参考官网离线安装教程https://mariadb.com/kb/en/mariadb-installation-version-10121-via-rpms-on-centos-7/官网给的资料较老,可以根据自己需要的版本更换相关参数二、缺少依赖按照官网的操作还缺少libaio的依赖error: Failed dependencies: libaio.so.1()(64bit) is needed by MariaDB-cl

2022-02-20 00:40:48 1342

原创 云服务器centos7配置jdk1.8

云服务器centos7配置jdk1.8一、配置jdk1.8打开解压后的文件夹,修改配置文件vim /etc/profile在配置文件中添加环境,第一个的路径是jdk所在文件夹路径export JAVA_HOME=/usr/java/jdk1.8.0_60 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HO

2022-02-19 17:38:39 845

原创 计算机操作系统 - 死锁

计算机操作系统 - 死锁文章目录计算机操作系统 - 死锁一、必要条件二、处理方法三、鸵鸟策略四、死锁检测与死锁恢复4.1每种类型一个资源的死锁检测4.2每种类型多个资源的死锁检测4.3死锁恢复六、死锁避免6.1.破坏互斥条件6.2.破坏占有和等待条件6.3.破坏不可抢占条件6.4.破坏环路等待方法汇总六、死锁避免6.1安全状态6.2单个资源的银行家算法6.3多个资源的银行家算法2.读入数据总结一、必要条件互斥:每个资源要么分配给进程,要么是可用占有与等待:已经得到某资源的线程可以再请求新的资源

2022-02-08 11:35:45 829

原创 计算机操作系统 - 进程管理

计算机操作系统 - 进程管理文章目录计算机操作系统 - 进程管理前言一、进程与线程1.1进程1.2线程1.3区别(1)拥有资源(2)调度(3)系统开销(4)通信方面二、进程状态的切换三、进程调度算法3.1批处理系统(1)先来先服务(2)短作业优先(3)最短剩余时间优先3.2交互式系统(1)时间片轮转(2) 优先级调度(3)多级反馈队列3.3 实时系统四、进程同步4.1临界值4.2同步与互斥4.3信号量(1)使用信号量实现生产者-消费者问题4.4管程五、经典同步问题六、进程通信6.1管道6.1FIFO6.2

2022-01-28 10:01:36 1295

原创 计算机操作系统 - 概述

计算机操作系统 - 概述文章目录计算机操作系统 - 概述一、基本特征1.1并发1.2共享1.3虚拟1.4异步二、基本功能2.1进程管理2.1内存管理2.1文件管理2.1设备管理三、系统调用四、宏内核和微内核4.1宏内核4.2微内核五、中断分类5.1外中断5.2异常5.3陷入一、基本特征1.1并发并发是宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。操作系统通过引入进程和线程,使得程序能够并发运行。1.2共享共

2022-01-23 18:57:58 931

原创 计算机网络 - 链路层

计算机网络 - 链路层文章目录计算机网络 - 链路层前言一、基本问题1.1 封装成帧1.2透明传输1.3差错检测二、信道分类2.1广播通道2.2点对点信道三、信道复用技术3.1频分复用3.2时分复用3.3统计时分复用四、CSMA/CD 协议五、PPP 协议六、MAC 地址七、局域网八、以太网九、交换机十、虚拟局域网二、使用步骤1.引入库2.读入数据总结

2022-01-23 10:48:41 182

原创 计算机网络 - 网络层

文章目录网络层概述一、IP 数据报格式二、IP 地址编址方式2.1分类2.2子网划分2.3无分类三 地址解析协议 ARP二、使用步骤1.引入库2.读入数据总结概述因为网络层是整个互联网的核心,因此应当让网络层尽可能简单。网络层向上只提供简灵活的、无连接的、尽最大可能交付的数据报服务。使用ip协议,

2022-01-16 21:15:15 101

原创 计算机网络-传输层

传输层文章目录传输层前言一、UDP和TCP的特点1.UDP特点2.TCP特点二、UDP首部格式三、TCP首部格式四、TCP三次握手五 TCP三次握手原因5.1 TCP的四次挥手释放连接5.2 四次挥手的原因TIME_WAIT六 TCP可靠传输七 TCP滑动窗口八 TCP流量控制九 TCP拥塞控制假设:9.1 慢开始与拥塞避免9.2 快重传与快恢复二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都

2022-01-13 23:17:42 771

原创 Consider defining a bean of type ‘com.shanjupay.common.cache.Cache‘ in your configuration

问题描述:Description:Field cache in com.shanjupay.transaction.service.PayChannelServiceImpl required a bean of type ‘com.shanjupay.common.cache.Cache’ that could not be found.The injection point has the following annotations:- @org.springframework.beans.f

2022-01-13 11:32:57 176

原创 Spring Cloud OAuth2 + JWT

Spring Cloud OAuth2 +JWT提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Spring Cloud OAuth2 +JWT前言一、微服务架构下统⼀认证思路1.1 基于Session的认证⽅式1.2 基于token的认证⽅式3.两种方式对比二、OAuth2开放授权协议/标准2.1 OAuth22.2 OAuth2协议角色和流程2.3

2022-01-12 10:04:34 938

原创 计算机网络-应用层

应用层文章目录应用层一、域名系统1 工作原理:1.2 详细介绍:二、文件传输协议2.1 建立tcp链接(1)控制链接(2)数据链接2.2 建立链接模式(1)主动模式(2)被动模式三、动态主机配置协议三、远程登陆协议四、电子邮件协议4.1 SMTP协议4.2 POP34.3 IMAP五、常用端口六、Web 页面请求过程6.1 DHCP配置主机信息6.2 ARP解析MAC地址6.1 DNS解析域名6.1 HTTP请求页面总结一、域名系统1 工作原理:DNS通常被http,smtp,ftp协议使用。假

2022-01-05 14:14:25 1096

原创 vue-element

vue-element基本应用文章目录vue-element基本应用vue入门一、快速入门详解1.引入库2.入门详解3.vue入门升级二、vue常用指令1.指令介绍2.指令介绍1.文本插入2.绑定属性3.条件渲染4.列表渲染5.事件绑定6.表单绑定7.小结Element基本使用一、介绍二、入门1.开发步骤2.按钮3.表格Vue- Element搭建简易管理系统1、头部区域实现2、侧边栏区域的实现3、侧边栏区域的实现vue入门一、快速入门详解1.引入库下载和引入vue.js文件。编写入门程序

2021-12-31 15:53:08 342

原创 Cannot find implementation...

项目场景:Cannot find implementation for com.shanjupay.transaction.convert.PlatformChannelConvert原因分析:提示:子项目没有导入相应依赖解决方案:提示:在子项目中导入如下:<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId>

2021-12-29 23:24:02 1846

原创 Redis基本数据结构

Redis前言Redis有几种基本数据结构?分别是什么?分别什么情况下会使用?redis总共有string,list,set,zset,hash(字典)五种数据结构一、redis对象redis.h/* * redis对象 */typedef struct redisObject { // 对象的类型(取值范围:REDIS_STRING, REDIS_LIST, REDIS_HASH, REDIS_SET, REDIS_ZSET) unsigned type:4;

2021-12-16 11:06:25 1008

原创 centos7配置redis

centos7配置redis一、打开任意目录下载Redis1 下载安装包:wget http://download.redis.io/releases/redis-5.0.0.tar.gz2 解压安装包:tar –xvf redis-5.0.0.tar.gz3 编译(在解压的目录中执行):make4 安装(在解压的目录中执行make install二、修改配置文件快速启动redis1 简化配置文件在redis的conf下多创建一个data和conf存放配置文件和日志简化配置

2021-12-15 15:22:57 971

原创 Centos7下nginx的安装以及运行静态项目

Centos7下nginx的安装以及运行静态项目一、安装nginx可以去官网下载也可以直接命令下载,这里选择官网发布的稳定版本wget -c https://nginx.org/download/nginx-1.10.1.tar.gz注意:这一步最好在自己的目标目录进行操作,我一般是把压缩包下载到/usr/local目录下。二、配置nginx安装所需的环境1.安装gcc需要对源码进行编译,编译依赖gcc环境,安装指令如下:yum install gcc-c++2. 安装PCRE p

2021-12-15 10:05:41 158

原创 设计模式-工厂模式

设计模式-工厂模式提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加文章目录设计模式-工厂模式一、简单工厂模式1.不使用工厂模式2.使用工厂模式2.1 产品类2.2 工厂类2.3 客户类3.大话设计模式-简单工厂模式3.1 运算类3.2加减乘除类3.3 简单运算工厂类3.4 客户端代码2.读入数据总结一、简单工厂模式用来生产统一等级结构中的任意产品。(不支持扩展任意产品)1.不使用工厂模式public class BMW320 {public BMW320(){Syste

2021-11-09 16:41:22 50

原创 Centos7安装MySQL5.5

centos7安装MySQL5.5网上教程很多,不同版本之间可能会出现很多问题,这个安装方法没有任何问题。文章目录centos7安装MySQL5.5一、检查本地是否安装过其他版本的mysql二、下载mysql 5.5的服务器和客户端的安装包1.下载服务器和客户端2.安装服务器和客户端三、启动mysql并设置mysql服务开机自启动四、登陆密码五、开启mysql的远程登录六、登录一、检查本地是否安装过其他版本的mysqlrpm -qa|grep -i mysql如果有mariadb或MyS

2021-10-09 19:35:16 394

原创 RabbitMQ-构架原理

RabbitMQ学习目标提示:这里可以添加学习目标了解消息中间件的使用场景、发展、背景知识等掌握RabbitMQ消息中间件的构架、模型和使用(开发、运维、集群部署、监控等)掌握消息可靠性、幂等性、顺序消息、延迟消息、事务消息等进阶知识,以及大规模生产环境的使用经验。理解背后构架设计思想以及在高性能存储系统、网络编程技巧。理解消息中间件的优缺点学习内容:1、 RabbotMQ构架与实战2、 RabbitMQ高级特性解析3、RabbitMQ集群与运维4、 RabbitMQ源码剖析

2021-09-22 21:31:59 74

原创 JVM-内存模型

JVM-内存模型文章目录JVM-内存模型前言一、JVM内存模型?二、运行时数据区2.1线程共享的(1)堆Java7中内存划分Java8中内存划分(2)方法区(3)为什么要元空间取代永久代呢?2.2线程私有(1)虚拟机栈(2)本地方法栈(3)程序计数器总结前言Java语言特点是与平台无关性。而Java虚拟机就是实现这一特点的关键。比如下图是编译后产生文件是**.class文件是二进制的字节码**,字节码是不能直接被机器运行的,通过JVM把编译好的字节码转转换成不同操作系统可以直接识别的机器码指令。

2021-09-21 10:12:22 235

原创 JVM-类加载和双亲委派

JVM-类加载和双亲委派文章目录JVM-类加载和双亲委派前言一、类加载过程?1.1 加载1.2 验证1.3 准备1.4 解析1.5 初始化1.6加载那一步干了什么?1.7类加载器二、双亲委派机制三、如何自定义类加载器?前言提示:当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。一、类加载过程?其中loadClass的类加载过程如下:加载 >> 验证 >> 准备 >> 解析 >> 初始化 &gt

2021-09-20 22:23:22 81

原创 java并发编程-Synchronized

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、设计同步器的意义1.如何解决线程并发安全问题?二、synchronized原理详解1.synchronized底层原理2.什么是monitor?三、对象的内存布局1.对象头总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技

2021-09-18 20:34:56 64

原创 java并发编程-volatile内存语义

java并发编程-volatile内存语义提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录java并发编程-volatile内存语义前言一、volatile的可见性二、volatile禁止重排优化2.1硬件层的内存屏障2.2JVM提供四种内存屏障双重检测锁总结前言提示:volatile有以下两个作用:保证被volatile修饰的共享变量对所有线程总数可见的,也就是当一个线程修改了一个被volatile修饰共享变量的值,新值总是可以被其他线程立即得知。禁止指令重排序优

2021-09-18 16:54:13 90

原创 java并发编程-JMM模型

java并发编程-JMM模型JMM模型文章目录java并发编程-JMM模型一、什么是JMM模型一、JMM不同于JVM内存区域模型1.1主内存1.2工作内存1.3Java内存模型与硬件内存架构的关系二、JMM存在的必要性三、数据同步八大原子操作四、JMM不同于JVM内存区域模型五、并发编程的可见性,原子性与有序性问题六、JMM如何解决原子性&可见性&有序性问题七、JMM如何解决原子性&可见性&有序性问题总结一、什么是JMM模型JVM运行程序的实体是线程,而每个线程

2021-09-18 15:54:21 135

原创 HashMap 源码解析

HashMap 源码解析提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录HashMap 源码解析一、整体架构1.类注释2.常见属性扩容的门槛,有两种情况,如果初始化时,给定数组大小的话,通过 tableSizeFor 方法计算,数组大小永远接近于 2 的幂次方;如果是通过 resize 方法进行扩容,大小 = 数组容量 * 0.75。二、新增1.新增key,value大概步骤如下:2.链表的新增为什么链表是8才会转红黑树3.红黑树新增节点过程三、查找1 链表查找的关键代码是:2

2021-09-17 21:49:50 74

原创 LinkedList 源码解析

LinkedList 源码解析提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录LinkedList 源码解析一、引导语二、整体构架1.Node的组成部分二、源码分析1.追加(新增)1.1 从尾部开始添加1.2 从头部开始添加2 节点删除1.1从头部删除3 节点查询4 迭代器总结提示:以下是本篇文章正文内容,下面案例可供参考一、引导语Linke

2021-09-17 15:57:44 79

原创 1 java基础

1 java基础文章目录1 java基础前言一、面相对像和面向过程的区别1、面向过程2、面向对象二、java语言有哪些特点三、JVM JDK和JRE解答1、java程序到源代码运行2、JVM3、JDK4、JRE四、字符型常量和字符串常量的区别五、构造器Constructor是否可以被Overide?六、重载和重写七、Java三大特性:封装、继承、多态1封装2继承3 多态八、String StringBuffer和String Builder的却别是什么?String为什么是不可变的?1可变性2 线程安全

2021-09-16 23:08:16 88

原创 MySQL-事务和锁

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-09-14 17:24:15 58

原创 MySQL-索引原理

MySQL索引原理文章目录MySQL索引原理一、索引类型1.普通索引2.唯一索引3.主键索引4.复合索引4.全文索引二、索引原理1.二分查找法2.Hash结构2.读入数据总结一、索引类型索引可以提升查询速度,会影响where查询,以及order by排序。1.普通索引基于普通的索引类型,是基于普通字段建立的索引,没有任何限制。创建索引的方法:CREATE INDEX <索引的名字> ON tablename (字段名);ALTER TABLE tablename ADD I

2021-09-14 15:32:47 72

原创 mysql-构架原理

mysql-构架原理文章目录mysql-构架原理前言一、体系构架1.网络连接层2.服务层3.存储引擎层4.系统文件层二、运行机制1.创建连接2.查询缓存3.解析器4.查询优化器5.查询执行引擎负责执行 SQL 语句三、存储引擎1.解析器 InnoDB和MyISAM对比2.InnoDB存储结构总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案

2021-09-12 22:53:05 43

原创 Mybatis:11Mybatis源码剖析-Mapper代理方式

Mybatis:11Mybatis源码剖析-Mapper代理方式文章目录Mybatis:11Mybatis源码剖析-Mapper代理方式一、回顾写法1.1上述写法采用动态代理的方式二、源码剖析-getmapper()1.进入 sqlSession.getMapper(UserMapper.class )中三、源码剖析-invoke()3.1执行在MapperProxy中的invoke方法3.2进入execute方法:一、回顾写法public static void main(String[]

2021-07-29 17:48:37 95

原创 Mybatis:10 Mybatis源码剖析-传统方式源码剖析

Mybatis:10 Mybatis源码剖析-传统方式源码剖析文章目录Mybatis:10 Mybatis源码剖析-传统方式源码剖析一.初始化1.引入文件进行初始化2.对配置文件进行解析2.1对configuration对象进行介绍Configuration对象的结构和xml配置文件的对象几乎相同。回顾一下xml中的配置标签有哪些:2.2解析xml文件成Configuration对象3.MappedStatement3.1初始化过程3.2XMLConfigBuilder处理二.执行sql流程1.简单介绍S

2021-07-29 16:27:44 63

原创 Mybatis:9 Mybatis构架原理

Mybatis:9 Mybatis构架原理文章目录Mybatis:9 Mybatis构架原理一、构架设计二、主要构架及其相互作用1.层次结构图2.主要API三、总体流程1. 加载配置并初始化2. 接收调用请求3. 处理操作请求4. 将最终的处理结果返回。总结一、构架设计可把功能构架分为三层:API接口层:提供给外部使用的接口 API,开发人员通过这些本地API来操纵数据库。接口层一接收到 调用请求就会调用数据处理层来完成具体的数据处理。数据处理层:负责具体的SQL查找、SQL解析、

2021-07-29 09:19:03 72

原创 Mybatis:4 一对一查询

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2021-07-25 11:29:35 332

原创 Mybatis:3 配置文件深入

Mybatis:3 配置文件深入文章目录Mybatis:3 配置文件深入一、核心配置文件SqlMapConfig.xml1.1层次关系1.2 常用配置解析1.2.1 environment和mapper标签在上一篇文章介绍过了,这里不重复介绍。1.2.2 properties标签1.2.3 typeAliases标签二、映射配置文件mapper.xml2.1.动态SQL语句2.1.1 动态SQL语句条件查询2.1.2 动态SQL语句拼接操作2.1.3动态SQL语句片段抽取总结mybatis配置文件讲解

2021-07-23 11:13:05 77

原创 Mybatis:2 Mybatis基本应用

Mybatis:2 Mybatis基本应用提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Mybatis:2 Mybatis基本应用一、快速入门1.开发步骤二、Mybatis的Dao层实现1.引入库1.1 环境搭建2.读入数据总结一、快速入门1.开发步骤示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

2021-07-23 10:46:25 174

原创 Mybatis:1 Mybatis相关概念

系列文章目录第一章:对象映射关系(ORM)第二章:简介第三章:优势提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录一、对象映射关系(ORM)二、简介三、优势一、对象映射关系(ORM) ORM全称Object/Relation Mapping::表示关系映射的缩写。ORM把关系数据库包装成面向对象的模型来操作持久化对象,对持久化对象进行保存、删除、修改等操作。二、简介 1.优秀的轻量级基于ORM半自动轻量化持久化框架,支持定制化SQL、存储过程以

2021-07-22 11:17:01 50

原创 ArrayList源码解析和设计思路

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..

2021-05-25 15:59:42 136

空空如也

空空如也

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

TA关注的人

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