自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot自动装配原理简述

1、问题的引出? 当我们使用spring boot时,已不需要像spring MVC那样配置很多文件,只需要配置部分文件,而大部分的配置文件都由spring boot给我们做了!2、以一个简单的demo为例 (1)spring boot主启动类@SpringBootApplication是一个很重要的注解,可以近似的把它看作是三个注解之和; (2)SpringBootApplication @...

2021-12-01 22:37:00 611 1

原创 线程间的定制化通信Demo

1、实验目的: 定制化: 1)定制线程执行的顺序 2)定制线程操作的次数创建三个线程:AA,BB,CC 以AA,BB,CC的固定顺序调用资源类中的方法,分别进行打印3,5,7次的操作。2、步骤 (1)创建资源类 condition中的方法: /...

2021-11-06 11:47:24 136

原创 线程间通信Demo

1、实验要求 使用四个线程AA,BB,CC,DD,AA,CC一个对象进行加1操作,BB,DD对一个对象进行减1操作。2、实验步骤 (1)创建资源类 以number为依据做加减操作判断,分别在资源类中添加加减方法使用ReentrantLock对象进行上锁和解锁。 其中: lock.lock(); // 代表上锁 lock.unlock(); // 代表解锁...

2021-11-06 11:28:10 149

原创 分别使用synchronized和Lock实现卖票案例

1、synchronized (1)创建资源类public int number代表门票的数量。 public synchronized void sale();卖票的方法,注意要使用sysnchronized修饰,才是使得这个方法能够自动上锁、自动解锁。// 创建资源类,定义属性和操作方法class Ticket{ // 定义票数 public int number = 30; // 方法卖票 public sync...

2021-11-03 16:53:30 190

原创 Token前后端分离验证demo

1、Token介绍(摘取自官方网站) 官方网站:JSON Web Token Introduction - jwt.io1)token可以做权限的验证和信息的交换 2)token主要有三部分组成 分别是Header、Payload、Signature。 编码之后token呈xxxxx.yyyyy.zzzzz结构分别对应Header、Payload、Signature三部分。...

2021-10-23 15:17:15 828 1

原创 Nginx负载均衡

1、负载均衡概念负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。 简单来说:负载均衡就是多个服务器分摊多个请求,而不再是一台服务器处理所有的请求了。2...

2021-10-16 12:34:53 733

原创 Nginx反向代理

1、实现目的 输入www.123.com可以访问tomcat页面。2、准备 1)windows下在hosts文件中配置映射 2)配置nginx 3)启动nginx和tomcat3、测试 访问url:www.123.com可以看到测试成功。...

2021-10-16 12:13:51 55

原创 数据结构与算法之霍夫曼树

1、霍夫曼树简介给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。2、霍夫曼树创建思想 (1)创建节点并实现Comparable接口(便于使用Collections.sort(.....);进行排序)class Node implements Comparable<Node>{ int v...

2021-09-21 18:19:37 408

原创 数据结构与算法之堆排序

1、堆排序简介堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。2、堆排序思想 假设一个堆的结构如下:(1)调整:从最后个非叶子节点[arr.length / 2 -1]开始也就是索引为1的这个节点开始调整以它为根节点的树。且以一个临时变量保存这个节点的数据,即:int temp = ar...

2021-09-19 17:08:45 83

原创 数据结构与算法之普通二叉树

1、二叉树简介二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。2、二叉树图解 1)普通二叉树结构 2)满二叉树(只有最后一层为叶子节点) 3)完全二叉树3、二叉树的生成代码 1)节点// 创建节点class Hero...

2021-09-15 16:19:49 181

原创 数据结构与算法之插值查找

1、插值查找简介插值查找,有序表的一种查找方式。插值查找是根据查找关键字与查找表中最大最小记录关键字比较后的查找方法。插值查找基于二分查找,将查找点的选择改进为自适应选择,提高查找效率。2、插值查找思路 插值查找类似于二分查找,此处定义: int mid = left + (right - left) * (finalValue - arr[left]) / (arr[right - 1] - arr[left]);...

2021-09-08 20:38:22 228

原创 数据结构与算法之二分查找

1、二分查找简介二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。2、二分查找分析3、核心代码public static int erFen1(int finalValue, int[] arr, int left, int right) { System.out.println("调用方法"); int mid = (left + right...

2021-09-08 20:23:37 99

原创 数据结构与算法之归并排序

1、归并排序简介归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。2、归并排序思路解析...

2021-08-29 10:51:27 56

原创 数据结构与算法之快速排序

1、快速排序简介快速排序(Quicksort)是对冒泡排序算法的一种改进。2、快速排序的思路 从一个数组中找出一个数作为中间值,从中间值的左边找出一个大于中间值的数,移动到右边,从右边找出一个小于中间值的数移动到左边,然后分别将这个中间值的左边和右边作为一个数组,再继续从左边右边数组中找一个中间值,继续之前的操作直到左下标的索引大于等于右下标的索引。 举例: 以数组:int[] arr = { -9, 78,...

2021-08-28 11:11:36 85

原创 数据结构与算法之希尔排序

1、希尔排序简介希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。2、希尔排序思路: 假设数组为array,设循环条件for(int gap = array.lengh / 2; gap > 0; gap /= 2);1)第一次循环将...

2021-08-27 11:35:20 111

原创 数据结构与算法之插入排序

1、插入排序简介 有一组数据,假设第一个数据是一个有序表,后面其余的数据都是无序表,第一次拿出无序表中的第一个数据与有序表中的数据作比较,插入到合适的位置,有序表中插入处后面的元素也要响应下标加1。以此类推。2、插入排序核心实现代码insertIndex >= 0 && insertVal < array[insertIndex]insertIndex >= 0是为了约束,让循环跳出时...

2021-08-26 10:39:24 227

原创 数据结构与算法之选择排序

1、选择排序简介 遍历数组中的数据,找到数据中最小(最大)的一个,找到之后将其与最前面的数交换,随后不再考虑第一个数,从第二个数开始再次遍历找到最小的数,找到之后与第二个数进行交换,随后不再考虑第二个数,以此类推。package com.feng.sort;import java.util.Arrays;public class chooseSort { public static void main(String[] args) { int[] a = { 10...

2021-08-25 10:29:33 52

原创 数据结构与算法之冒泡排序

1、冒泡排序思路 假设定义一个数组array并将它初始化,int[] array = {1,5,3,2,4,6}; 那么第一次循环使array[0]与array[1]相比较,大的数向后移动小的数向前移动,这里我们需要借助中间变量。temp = array[j]; array[j] = array[j + 1]; ...

2021-08-24 15:55:11 103

原创 数据结构与算法之八皇后问题(递归)

1、八皇后问题分析 问题表述为:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。此处我们用一维数组代替二维数组。 例:array[8] = [0,4,7,5,2,6,1,3]; 数组的下标加一代表棋盘的行,数组对应位置的值代表棋盘的列。public class Queue8 { // 皇后的最大数量 int max = 8; // 定义一个一维数...

2021-08-24 12:01:10 253

原创 数据结构与算法之迷宫回溯问题(递归)

1、创建一个迷宫 代码约定: 0:表示未走过的区域 1:表示墙壁 2:表示走过且为通路的区域 3:表示走过且路不通的区域public static void main(String[] args) { // 先创建二维数组模拟迷宫 int[][] map = new int...

2021-08-23 11:08:02 150

原创 数据结构之栈的简单模拟

1、创建栈private int maxSize; // 代表栈的最大容量是多少 private int[] stack; // 使用数组来存放数据 private int top = -1; // 栈顶指针的初始位置class ArrayStack{ private int maxSize; // 栈的大小 private int[] stack; // 数据 private int top = -1; // 栈顶指针 /...

2021-08-18 13:44:33 102

原创 数据结构之双向链表

1、定义节点(以英雄联盟的英雄为例)public int no; // 英雄的编号 public String name; // 英雄的名称 public String nickName; // 英雄的昵称 public HeroNode2 next; // 指向下一个节点 public HeroNode2 pre; // 指向前一个节点//定义HeroNode2,每个HeroNode2对象就是一个节点class HeroNode2 { publ...

2021-08-15 11:36:13 198

原创 数据结构之单链表

1、定义一个节点(以英雄联盟为例)// 定义HeroNode,每个HeroNode对象就是一个节点class HeroNode{ public int no; // 英雄的编号 public String name; // 英雄的名称 public String nickName; // 英雄的昵称 public HeroNode next; // 指向下一个节点 // 构造器 public HeroNode(int no, String name, String nickName)

2021-08-12 13:07:29 92

原创 数据结构之循环队列

循环队列的结构:private Integer maxSize; // 队列的最大数量 private Integer front; // 队列的头 private Integer rear; // 队列的尾 private int[] arr; // 定义数组用于存放数据循环队列的初始化: 若使其为循环队列,则队列的头指向队列的第一个也就是front = 0; ...

2021-08-11 12:18:09 445

原创 2021-07-23(idea版)尚硅谷项目尚筹网学习第十二天

Menu树形菜单的显示(大量的js) 后端代码都较为简单。 ①主页menu-page.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><!DOCTYPE html><html lang="zh-CN"><%@ include file="/WEB-INF/include-head.jsp" %><link rel...

2021-07-23 21:31:35 150

原创 2021-07-21(idea版)尚硅谷项目尚筹网学习第十天

今天我们来做Role的更新操作1、role的更新逻辑 ①将模态框抽取成一个页面<%@ page contentType="text/html;charset=UTF-8" language="java" %><div id="editModal" class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> ...

2021-07-21 23:31:07 107

原创 2021-07-20(idea版)尚硅谷项目尚筹网学习第九天

1、角色维护——信息的显示 ①主页面role-page.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><!DOCTYPE html><html lang="zh-CN"><%@ include file="/WEB-INF/include-head.jsp" %><script src="jquery/jquery-2.1.1....

2021-07-20 20:53:52 196 1

原创 2021-07-18(idea版)尚硅谷项目尚筹网学习第七天

昨天做完了增删逻辑,今天咱们来看看修改逻辑。1、增加修改(更新)Admin的页面回显逻辑 点击蓝色铅笔头按钮,来到修改用户信息页面。 ①页面跳转代码:在admin-page.jsp中添加如下代码,用于跳转至更新页面:href="admin/to/edit/page.html?adminId=${admin.id}&pageNum=${requestScope.pageInfo.pageNum}&keywork=${param.keywo...

2021-07-18 22:50:07 134

原创 2021-07-17(idea版)尚硅谷项目尚筹网学习第六天

1、增加admin删除逻辑 点击红色×按钮进行单个删除 前端代码:<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE html><html lang="zh-CN"><%@ i...

2021-07-17 21:15:56 149

原创 2021-07-16(idea版)尚硅谷项目尚筹网学习第五天

昨天写到了测试管理员登录!那么我们的登录有怎么能少得了安全呢。1、编写登录拦截去(检测用户是否登录) 创建拦截器类LogtinInterceptorpackage com.atguigu.crowd.mvc.interceptor;import com.atguigu.crowd.constant.CrowdConstant;import com.atguigu.crowd.entity.Admin;import com.atguigu.crowd.exce...

2021-07-16 22:16:29 166 3

原创 2021-07-15(idea版)尚硅谷项目尚筹网学习第四天

1、添加登录页 在/WEB-INF下添加阿达admin-login.html由于跳转至admin-login.jsp也就是登录页面不需要过多的操作,所以咱们不必在controller中写一个跳转方法,而是直接在spring-web-mvc.xml中配置一个view-controllerpath:表示访问的路径 view-name表示需要跳转的页面(需要拼前后缀)<!--去登录页--> <mvc:view-controller path="/adm...

2021-07-15 22:05:36 172

原创 2021-07-14(idea版)尚硅谷项目尚筹网学习第三天

1、创建spring-web-mvc.xml配置自动扫描的包 com.atguigu.crowd.mvc是存放controller的地方 <!--配置自动扫描的包--> <context:component-scan base-package="com.atguigu.crowd.mvc"/>配置MVC注解驱动: <!--配置springMVC注解驱动--> <mvc:annotation-dri...

2021-07-14 18:28:12 176 2

原创 2021-07-13 (idea版)尚硅谷项目尚筹网学习第二天

1、配置spring-persist-mybatis.xml引入配置文件:配置文件中设置数据源信息配置文件信息: spring-persist-mybatis.xml文件代码:将jdbc.properties引入 <!-- 加载 jdbc.properties --> <context:property-placeholder loc...

2021-07-13 18:06:09 289 1

空空如也

空空如也

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

TA关注的人

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