自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 跨域几种坑

目前已知出现跨域的几种原因后端接口路径写错nginx配置文件没有修改后端修改代码idea没有重启后端没有@CrossOrigin注解nginx没有配置最大文件上传

2021-10-10 16:05:40 122

原创 Java操作阿里云视频点播服务

一、主要学习1.打开视频点播,文档&SDK2. 引入依赖官网教程因为上传sdk包含了服务端的sdk,所以直接引入上传sdk即可目前最新版本的是1.4.14<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.1</version

2021-10-10 14:03:04 506

原创 开通阿里云视频点播服务

一、进入阿里云官网找到视频点播二、开通视频点播服务2.1 点击管理控制台2.2 开通服务2.3 选择按流量计费2.4 开通成功三、视频点播控制台1.主要使用可以上传视频可以看到在上传到阿里云的视频2. 视频上传选中视频上传后会出现上传失败,原因:未开通存储地址根据提示开通重新选中视频上传3. 视频管理1. 管理2. 视频地址复制url后直接在网页上输入即可播放视频4. 存储管理5. 分类管理6. 配置管理...

2021-10-09 22:43:21 481

转载 Java内省Introspector

https://www.cnblogs.com/throwable/p/13473525.html

2021-08-18 11:27:39 116

原创 Java并发编程之ThreadLocal原理解析

1.ThreadLocal内部结构1.1 常见误解如果我们不去看源代码的话,可能会猜测ThreadLocal是这样子设计的:每个ThreadLocal都创建一个Map,然后用线程作为Map的key,要存储的局部变量作为Map的value,这样就能达到各个线程的局部变量隔离的效果。这是最简单的设计方法,JDK最早期的ThreadLocal 确实是这样设计的,但现在早已不是了。1.2 现在的设计但是,JDK后面优化了设计方案,在JDK8中 ThreadLocal的设计是:每个Thread维护一个T

2021-06-29 21:48:09 136

原创 Java并发编程之volatile

一、简介volatile是java虚拟机提供的轻量级同步机制​ 作用是: 1.保证可见性 2.禁止指令重排 3.不保证原子性二、并发编程的3个基本概念1.原子性定义: 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作。简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性。例如a=1是原子性操作,但是a++和a +=1就不是原子性操作

2021-06-22 15:47:32 145

原创 java并发编程之Monitor、无锁、偏向锁、轻量级锁和重量级锁

一、Monitor在理解monitor之前,先来了解一下Java对象头:对象头对象头是java中对象都具有的属性,是jvm在编译和运行阶段读取的信息。对象头包含三个部分:mark word指针向类的指针数组的长度(只有数组的对象用到)以32位虚拟机为例:1.概念Monitor 被翻译为监视器或管程,可以理解为一个同步工具或一种同步机制,通常被描述为一个对象。每一个Java对象就有一把看不见的锁(C语言实现),称为内部锁或者Monitor锁。如果使用 synchronized

2021-06-22 13:19:14 1424 2

原创 SpringBoot Data操作Elasticsearch

1. 环境准备1.springboot 2.2.52.elasticsearch v6.8.02.引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>3.编写配置类@Configurat

2021-05-10 19:15:08 442

原创 springboot+vue前后端分离整合shiro+jwt

0.实现逻辑1.导入依赖导入shiro-redis的starter包:还有jwt的工具包<dependency> <groupId>org.crazycake</groupId> <artifactId>shiro-redis-spring-boot-starter</artifactId> <version>3.2.1</version></dependency><!-

2021-04-26 18:21:12 1048

原创 vue刷新当前页面方法

1.在App.vue中作如下修改1.在router-view标签中添加v-if<template> <div id="app"> .... <router-view v-if="isRouterAlive"></router-view> </div></template>2.在data(){return{}}里定义v-if绑定的变量data() { return { isRoute

2021-04-16 14:07:31 209

原创 MybatisPlus学习笔记

零、环境准备1.创建一个空的springboot项目2.添加依赖<!--mysql驱动--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency><!--Lombok--><depe

2020-12-24 10:17:57 320

原创 SpringData JPA学习笔记

SpringData JPA环境准备情景需要:创建spring boot项目,整合spring data jpa项目使用环境要求:JDK8+Maven3+Intellij IDEASpring Boot2+MySQL8+Spring Data JPApom.xml<!--spring data jpa依赖--><dependency><groupId>org.springframework.boot</groupId><a

2020-12-22 22:59:54 492

原创 Mybatis基于xml的一对一、一对多、多对多嵌套结果查询和嵌套查询

说在前面MyBatis在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。嵌套查询:是指通过执行另外一条SQL映射语句来返回预期的复杂类型。会执行多条sql语句嵌套结果查询:是使用嵌套结果映射来处理重复的联合结果的子集。只会执行一条复杂的sql语句简单来说:嵌套查询是多条sql语句分开写并配置嵌套结果是一条sql语句关联查询并配置实质效果是一样的。但嵌套查询会导致数据库访问次数不定,进而有可能影响到性能。一对一查询举例:人和身份证是一一对应的,满足一对一查询

2020-12-22 21:19:37 5930 2

原创 web.xml常遇报错

在Ecplise中有时候经常在配置web.xml中报错,明明代码写对了可还是报如下错误Multiple annotations found at this line:cvc-complex-type.2.4.a: Invalid content was found starting with element ‘mapping-file’. One of ‘{“http://xmlns.jcp.org/xml/ns/persistence”:shared-cache-mode, “http://xml

2020-12-02 10:25:00 850 1

原创 已经导入aspectjweaver maven坐标却无法import

从maven官网复制下来的坐标<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.6</version> <scope>runtime</scope></dependency>问题原因:scope是runtime

2020-11-29 12:18:14 1167

原创 spring集成junit出现initializationerror:method initializationerror not found问题处理

spring集成junit出现initializationerror:method initializationerror not found问题处理问题原因:缺少相关jar包除了导入junit-4.12.jar还要导入hamcrest-core-1.3.RC2.jarhamcrest-library-1.3.RC2.jarmaven坐标<dependency> <groupId>junit</groupId> <artifactId

2020-11-28 21:10:51 200

原创 数据结构之C语言实现队列(学习笔记)

一、队列的基本概念队列是只允许在另一端进行插入操作,而在另一端进行删除操作的线性表队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。二、循环队列把队列这种头尾相接的顺序存储结构称为循环队列1.队列满的条件//当头指针和尾指针相邻时,说明对了已满(rear+1)%QueueSize==front; 2.队列长度计算公式rear->front+QueueSize)%QueueSize;循环队列的

2020-07-21 23:10:36 283

原创 数据结构之C语言实现栈(学习笔记)

一、栈的基本概念栈(Stack)是限定仅在表尾进行插入和删除操作的线性表1.把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)2.==不含任何数据元素的栈称为空栈。3.栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。...

2020-07-20 17:28:34 171

原创 数据结构之C语言实现双向循环链表(学习笔记)

一、双向循环链表最后一个结点的后继指向头结点,头结点的前驱指向最后一个结点的双向链表二、双向循环链表的基本操作1.整表创建void CreateDCLinkList(DCLinkList* L,int n){ DCLinkList r,s; int data; (*L) = (DCLinkList)malloc(sizeof(DNode)); (*L)->next = (*L); //初始化头结点的后继指针指向自己 (*L)->prior = (*L); //初始化头结

2020-07-16 18:37:05 574

原创 数据结构之C语言实现双向链表(学习笔记)

一、双向链表定义双向链表(double linked list)是在单链表的每个结点中,再设置一个指向其前驱结点的指针域二、空表的判断条件//head的是头结点p->next = head;//或者p->prior = head;三、双向链表的基本操作typedef int ElemType;typedef struct DNode{ ElemType data; struct DNode* next; //直接后继指针 struct DNode* prior;

2020-07-16 17:47:36 374

原创 数据结构之循环单链表(学习笔记)

一、循环链表的定义将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表二、带头结点的循环链表的判空条件p->next 不等于头结点在设计循环单链表时,仅设计指向终端结点的尾指针可以提高效率,此时查找开始结点和终端结点就很方便了,下面以此来实现循环单链表三、循环单链表的基本操作1.循环单链表的整表创建typedef int ElemType;typedef struct Node{ ElemTyp

2020-07-15 17:43:20 1888

原创 数据结构之C语言实现单链表(学习笔记)

一、单链表的定义n个结点链结成一个链表(a1,a2,a3,…,an)的链式存储结构,因为此链表中的每个结点中只包含一个指针域,所以叫单链表头指针:链表中第一个结点的存储位置叫头指针。头结点:链表的第一个结点前附设一个结点,称为头结点,头结点的数据域可以不存储任何信息,也可以存储公共信息,如链表长度头指针与头结点的异同头指针:1.头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针2.头指针具有标识作用,所以常用头指针冠以链表的名字3.无论链表是否为空,头指针

2020-07-14 21:09:07 1264

原创 数据结构之C语言实现线性表的顺序表示(学习笔记)

一、顺序表的定义顺序表:线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素,使得逻辑上相邻的元素在物理位置上也相邻。二、顺序表的插入与删除首先做好准备工作#define true 1#define false 0#define MAXSIZE 20 /*顺序表的最大容量*/typedef int ElemType; /*ElemType类型根据实际情况而定,这里假设为int*/typedef int Status;/*Status 是函数的类型,其值是函数结果

2020-07-13 18:49:36 244

原创 数据结构之线性表的定义和基本操作(学习笔记)

一、线性表的定义线性表是一种逻辑结构,是具有相同类型的n(n>=0)个元素的有限序列若将线性表记为上图形式,则表中a(i-1)称为a(i)的直接前驱元素,a(i+1)称为a(i)的直接后继元素。 线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时称为空表。二、线性表的特点1.表中的元素个数有限2.表中元素具有逻辑上的顺序性,在序列中各个元素排序有其先后次序3.表中元素都是数据元素,每个元素都是单个元素4.表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空

2020-07-13 15:09:56 684

原创 浅析MySQL事务特性(学习笔记)

这是我复习时在B站上看的视频,顺便整理成笔记 视频在这事务事务就是DBMS当中用户程序的任何一次执行,事务是DBMS能看到的基本修改单元。事务四大特性原子性 (Atomicity)原子性:无论一个事务里有多少执行步骤,这所有的步骤合起来是一个最小的执行单元,要么不做,要么全做,不存在只做到一半情况。比如银行转账,转出跟转入这两个包含在一个事务里的动作就是原子的。要么不转出也不转入,转出了就要转入。一致性 (Consistency)一致性是指事务使得系统从一个一致的状态转换到另一个一

2020-07-11 13:52:06 104

原创 MySQL常用语句不完全总结

建库create database 数据库名;删库drop database 数据库名;更安全的方式drop database if exists 数据库名;建表create table 表名(字段1 字段名,字段2 字段名,···字段n 字段名);删表drop table 表名;插入一条记录insert into 表名 (字段1,字段2,字段3,…字段n) values(值1,值2,值3,…值n);还可以省略字段,直接赋值(注意一定要按对应的字段赋

2020-07-10 23:02:40 133

原创 Java JDK1.8—函数式接口与Lambda表达式

的撒旦

2020-06-19 17:54:34 221

空空如也

空空如也

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

TA关注的人

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