自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 阿里云OSS

讲师管理模块中的添加讲师时上传头像使用阿里云OSS存储服务一,创建阿里云OSS对象存储服务的环境配置对象存储OSS注册使用阿里云对象存储OSS通过java代码操作OSS,上传文件到阿里云OSS操作1、创建操作阿里云OSS许可证(秘钥和id)在父工程的pom文件中,添加阿里云OSS依赖上传下载等实例代码阿里云官方文档给出实例代码步骤:1、在service模块中创建子模块,service_oss模块如果当前service_oss模块的java 文件无法编译,右键当前模块,选择openM

2021-08-26 10:31:42 101

原创 springboot

springboot1、@Bean注解spring中的@Bean注解用于告诉方法,产生一个Bean对象,然后这个bean对象交给spring管理,产生这个bean对象的方法sping只会调用一次,随后spring将这个bean对象放在自己的IOC容器中。springIOC容器管理一个或者多个bean对象,同时这些bean对象都需要在@Configuration注解的类中进行创建,在一个方法上使用@bean注解,表明该方法需要交给spring管理。2、springboot的核心注解@SpringBo

2021-08-25 18:57:16 97

原创 Lambda表达式

Lambda表达式lambda是一个匿名函数,可以吧lambda表达式理解为一段可以传递的代码lambda表达式基础语法:java8中引入了一个新的操作符,"->",该操作符称为箭头操作符或者lambda操作符。箭头两端:左侧:lambda表达式参数列表右侧:lambda表达式所需执行的功能,即lambda体。(1)lambda表达式可以看成接口的实现:即用lambda表达式去实现接口。由于接口中有抽象方法。因此lambda表达式左侧参数列表:就是接口中抽象方法的参数列表。lambd

2021-08-24 10:57:13 83

原创 mysql索引、锁、事务、MVCC

Mysql:索引:是帮助mysql高效获取数据的数据结构,索引数据结构,目的:提高查找效率。1、索引:排好序的快速查找数据结构,2、索引的优势:提高数据的检索效率,降低数据库的IO成本通过索引对数据进行排序,降低数据排序的成本,降低了CPU消耗3、索引的缺点:空间上:占内存空间:时间上:创建和维护所用需要大量的时间,索引提高了查询速度,降低了更新表的速度,如增删改,4、索引分类:(1)普通索引:基本的索引类型,没有唯一性的限制,允许为null(2)唯一索引:索引列的值必须唯一,不允许重

2021-08-19 19:12:37 108

原创 项目最终总结

微服务架构微服务是架构风格微服务是有多个服务,把一个项目拆分为独立的多个服务,多个服务是独立运行,每个服务占用一个独立的进程(1)spring cloud并不是一种技术,是很多技术的总成,很多框架的集合。(2)spring cloud里面有很多框架(技术),使用springcloud里面这些架构实现微服务操作(3)使用springcloud,需要依赖技术springboot微信扫码登录OAuth2介绍...

2021-08-14 10:27:34 47

原创 登录、注册功能实现

登录和注册功能由于在线教育项目采用分布式微服务架构,包含多个模块,且多个模块独立运行。因此这里使用单点登录,即在任何一个模块进行登录之后,在其他模块不需要进行二次登录,都可以直接访问单一服务器登录:使用session对象:SSO(single sign on)单点登录单点登录三种常见的方式session默认过期时间30分钟第一种:session广播机制实现:使用session复制,在当前模块中登录之后,将登录信息复制到其他模块。(早期的方式)了解第二种:使用cookie+redis实现单点

2021-08-11 19:20:24 410

原创 easyexcel、课程分类:添加课程

课程分类添加功能这里课程分类和讲师管理在一个模块中第一步:引入easyExcel的相关依赖,由于easyexcel还封装了poi,因此还要引入poi相关依赖,在父工程中引入poi相关依赖,在service_edu中引入easyExcel依赖,这里注意easyexcel2.1.1版本对应poi3.17版本,一定要匹配第二步:使用代码生成器,生成课程分类相关代码这里使用代码生成器,在service_edu 模块下生成相关代码,controller,entity、mapper,service,在第三

2021-08-10 18:40:35 138

原创 EasyExcel操作

EasyExcel逐行读取Excel表数据,逐个解析,即采用逐行的解析模式。利用EasyExcel操作Excel,进行读和写的操作。一、引入EasyExcel依赖,在service_edu模块中的pom文件中引入阿里easyexcel相关依赖,因为easyexcel对POI做了封装,因此还要引入poi依赖,在父工程的pom文件中引入POI依赖这里一定要注意版本对应关系:easyexcel2.1.1版本对应poi的3.17版本二、创建实体类,和excel对应通过@ExcelProperty注

2021-08-10 14:00:59 565

原创 Nginx使用操作

Nginx三个作用:1、请求转发2、负载均衡3、动静分离一、请求转发当服务器端有多个服务器,例如这里的service_edu:8001 , service_oss:8002,两个服务器,当客户端/浏览器访问服务器时,先通过Nginx进行请求转发,例如Nginx向外暴露一个端口9001,客户端访问9001端口,通过路劲匹配,匹配到具体的要访问的服务器,然后转发到相应的服务器即nginx根据客户端的请求,利用路径匹配进行转发,转发到相应的服务器中例如路径中包含serviceedu,则转发到se

2021-08-10 12:47:12 90

原创 讲师管理模块中头像上传OSS对象存储

讲师管理模块中的添加讲师时上传头像使用阿里云OSS存储服务一,创建阿里云OSS对象存储服务的环境配置对象存储OSS注册使用阿里云对象存储OSS通过java代码操作OSS,上传文件到阿里云OSS操作1、创建操作阿里云OSS许可证(秘钥和id)在父工程的pom文件中,添加阿里云OSS依赖上传下载等实例代码阿里云官方文档给出实例代码步骤:1、在service模块中创建子模块,service_oss模块如果当前service_oss模块的java 文件无法编译,右键当前模块,选择openM

2021-08-09 16:23:08 84

原创 讲师管理模块流程

前端当后端接口写完之后,前端通过ajax调用后端编写好的接口当前项目使用的是B2C模式,包含两个部分,一个管理员,一个普通用户,对应管理员部分,包含后端接口和前端页面,采用前后端分离开发的方式前端部分没有写,重点写后端接口部分第一个模块是编写讲师管理的增删改查的后端接口部门讲师管理模块的总结第一步:创建父工程父工程的操作:第一:父工程的pom文件由于当前是父工程,其下面包含多个子模块,因此当前工程为pom类型1、父工程中的pom文件主要实现依赖的管理和存放一些公共依赖;2、父工程下创

2021-08-08 19:13:27 239

原创 项目——讲师管理模块后端接口

项目父工程为pom类型,管理依赖的版本和存放公共的依赖。(只要一个模块下面有子模块,则当前模块为pom类型)子模块中引入具体的依赖,在子模块的子模块中编写具体代码模块。配置文件mybatis_plus提供了代码生成器模板mybatis_plus提供的代码生成器需要引入相关依赖,即velocity依赖//controller:通过service接口来控制业务流程,同时也接收前端的请求,controller中引入service借口//controller:控制器,将注解的部分交给

2021-08-08 14:00:10 69

原创 mybatisplus

mybatisplus(1)、springboot 2.1以上版本的数据库驱动器需要加cj,同时数据库路径需要加时区,serviceTimezone=GMT%2B8,表示东八区。(2)、引入lombok插件以及相关依赖的作用是对于变量或者属性,自动生成set()方法、get()方法、有参构造器和无参构造器。mybatisplus操作数据库步骤:(1)、创建配置文件,即添加数据库驱动——数据库路径——用户名——密码(2)、创建实体类,类中有各个属性,即数据库的各个字段通过lombok插件实现set

2021-08-05 19:36:47 124

原创 单例、final、String、StringBuilder、StringBuffer

单例设计模式饿汉式单例模式懒汉式单例模式

2021-08-01 22:05:52 66

原创 多线程基础知识

多线程创建多线程方式一方式二线程的生命周期线程同步

2021-07-31 22:12:40 47

原创 集合总结一

java集合

2021-07-29 22:00:55 52

原创 动态规划模板

动态规划动态规划的思想动态规划的思想是将待求解问题分解为若干个子问题。动态规划的过程:每次决策依赖于当前状态,又随即引起状态的转移。动态规划使用场景1、最优子结构:假设该问题的最优解包括的子问题的解也是最优的,成为最优子结构问题。2、无后效性:即某个阶段的状态一旦确定,就不收这个状态以后的决策的影响。3、有重叠子问题:子问题之间是不独立的动态规划解题步骤1、状态定义:每个状态的决策,存放每个状态的变量2、状态转移方程:当前状态和上一个状态之间的关系3、初始状态:初始状态或者边界条件

2021-07-28 09:50:53 63

原创 Mysql基础1

DQL语言#基础查询语言/*语法:select 查询列表 from 表名;类似于System.out.println(打印东西);特点:1、查询列表可以是: 表中的子段、常量值、表达式、函数2、查询的结果是一个虚拟的表格*/USE myemployess;#在每次查询表时,首先要打开或者启用指定的库#1、查询单个子段(子段就是列)SELECT last_name FROM employees;#2、查询表中多个子段SELECT last_name,email,salar

2021-07-28 09:48:25 43

原创 Mysql基础2

表的修改表的删除表的复制常见的数据类型小数常见约束

2021-07-27 14:05:40 51

原创 二分查找、分治、动态规划、KMP、贪心总结

二分查找算法(包括二分递归查找和二分不递归查找)package com.algorithm.binarysearch.binarysearchnorecur;import java.lang.reflect.Array;import java.util.ArrayList;public class BinarySearchNoRecur { public static void main(String[] args) { int[] arr = {1, 3, 8, 10,

2021-07-13 11:06:12 80

原创 DFS和BFS知识点

图深度优先搜索(Depth First Search)DFS:标广度优先搜索(Broad First Search) BFS:代码解析package com.shizhong.graph;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;/*深度优先搜索算法(Depth first search)DFS:1、访问初始节点v, 并标记节点v已访问2、查找

2021-07-12 20:24:23 68

原创 二叉排序树(BST)、AVL树、2-3树、B树、B+树、B*树知识点

二叉排序树(BST)总结package com.shizhong.binarysorttree;public class BinarySortTreeDemo { public static void main(String[] args) { int[] arr = {7, 3, 10, 12, 5, 1, 9, 2}; BinarySortTree binarySortTree = new BinarySortTree();

2021-07-10 09:36:50 94

原创 堆排序、赫夫曼树、数据压缩和解压总结

堆排序package com.shizhong.tree;import java.util.Arrays;public class HeapSort { public static void main(String[] args){ int[] arr = {4, 6, 8, 5, 9, 1, -11, 23, 4444,-111,999, -22222};//要求将数组进行升序排列, 即采用大顶堆方式,将最大元素下沉 heapSort(ar

2021-07-07 19:41:25 46

原创 二叉树相关知识总结

二叉树package com.shizhong.tree;public class BinaryTreeDemo { public static void main(String[] args) { //先创建二叉树 BinaryTree binaryTree = new BinaryTree(); HeroNode root = new HeroNode(1,"宋"); HeroNode node2 = new

2021-07-06 21:34:12 48

原创 哈希表学习笔记

哈希表

2021-07-02 14:43:09 58

原创 排序(时间复杂度、七大排序算法)

排序时间复杂度冒泡排序package com.shizhong.sort;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;public class BubbleSort { public static void main(String[] args) { //冒泡排序的时间复杂度是O(n**2),因为是两个for循环

2020-12-09 14:50:05 2876

原创 递归(recursion)--原理及代码解释

package com.shizhong.recursion;public class RecursionDemo { public static void main(String[] args) { test(4); System.out.println(factorial(4)); } //利用栈的思想 /* 栈的最下面是main()方法,调用一个新的方法,就会开辟一个栈的空间 */ public stat..

2020-12-05 14:29:19 119

原创 栈、前缀prefix、中缀infix、后缀suffix表达式

package com.shizhong.stack;import java.util.Scanner;public class ArrayStackDemo { public static void main(String[] args) { ArrayStack stack = new ArrayStack(4); String key = ""; boolean loop = true;//用来控制是否退出菜单 ...

2020-12-04 18:38:53 685

原创 双向链表---环形单向链表

双向链表package com.shizhong.linkedlist.doublelinkedlist;public class DoubleLinkedListDemo { public static void main(String[] args) { HeroNode hero1 = new HeroNode(1,"一","一一"); HeroNode hero2 = new HeroNode(2,"二","二二"); HeroNod

2020-12-01 15:52:27 65

原创 单链表singleLinkedList

package com.shizhong.linkedlist;import java.util.Stack;public class SingleLinkedListDemo { public static void main(String[] args) { //创建节点 HeroNode hero1 = new HeroNode(1,"songjiang","jishiyu"); HeroNode hero2 = new...

2020-11-28 19:32:58 89

原创 sparse Array and Queue

数据结构(稀疏数组、队列)数据结构数据结构包括:线性结构和非线性结构1、线性结构是最常用的数据结构,其数据元素是一一对应的关系。线性结构分为:顺序存储结构(数据)和链式存储结构(链表),顺序存储结构:即顺序表,其元素之间是连续的,这里说的是位置是连续的。链式存储结构:即链表,链表中存储的元素不一定是连续的,常见的线性结构:数组、队列、链表、栈2、非线性结构:常见的非线性结构:二维数组、多维数组,广义表,树,图稀疏数组1、定义:当一个数组中的大部分元素为0,或者为同一个元素时,可以使用稀疏

2020-11-20 20:48:20 98

原创 java初学知识概述(包含代码解析)

@JAVA基本知识总结基本知识注释java注释有三种:单行注释://多行注释:/* 注释内容 */文档注释:/**@Description:@Author:*/标识符类名:首字母大写+驼峰规则方法名:首字母小写+驼峰规则变量名:首字母小写+驼峰规则,所有的变量命名要见名知意,采用单词常量:常量命名要用大写字母和下划线注意:类变量或者类的属性在类里面,在方法之外方法中的变量是局部变量static与类同时加载,类存在时,static就存在局部变量在方法中,使用之前必须声

2020-11-08 14:30:34 206

空空如也

空空如也

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

TA关注的人

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