自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZhangJiawen的博客

还要继续努力呀

  • 博客(193)
  • 资源 (2)
  • 收藏
  • 关注

原创 Swagger

1.前后端分离前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合2.产生的问题前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发3.解决方案首先定义schema [ 计划的提纲 ],并实时跟踪最新的API,降低集成风险4.Swagger号称世界上最流行的API框架Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新直接运行,在线测试API。...

2022-08-11 15:25:37 272 1

原创 SpringSecurity

Shiro,;Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它实际上是保护基于spring的应用程序的标准。Spring Security是一个框架,侧重于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring安全性的真正强大之处在于它可以轻松地扩展以满足定制需求Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证。...

2022-08-10 14:20:14 1309

原创 SpringBoot 基本原理

SpringBoot 是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置。Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。...

2022-08-10 09:57:31 5609

原创 Zookeeper 的下载安装

进入安装目录下的 bin 目录,双击 zkServer.cmd 启动。bin 目录下,双击 zkCli.cmd 启动。

2022-08-08 11:19:30 624

转载 IDEA 快捷键

IDEA常用的快捷键总结。

2022-07-29 16:58:53 115

原创 Postman 的使用

后端开发中常用的接口测试工具Postman,之前用都是进行基本的增删改查测试,今天为了实现导入导出文件的功能,学习了一下用Postman进行导入导出的测试,并简单记录。

2022-07-27 16:50:23 1711

原创 Lombok常用注解

Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等。

2022-07-26 13:53:26 116

原创 正则表达式

是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则的字符串。在表单验证、Url映射等处都会经常用到。

2022-07-25 15:05:22 261

原创 SpringBoot 注解小结

最近通过做一些小项目来复习SpringBoot的相关知识,在这里顺便把SpringBoot中的注解做下记录,方便后续复习。

2022-07-25 14:22:05 145

原创 搭建SpringBoot+Vue 项目 完整流程

创建完成后,到IDEA,查看后端项目目录,看是否创建成功;若成功则继续下面的步骤;在这一步有个插曲,在IDEA运行出现了这样的错误:解决方法如下:看看自己的项目里面是否有node_modules文件夹,(1)如果没有就尝试执行npm install,这是因为缺少依赖包。(2)如果有就将这个node_modules文件夹删掉,重新执行npm install,等待安装完之后,再次运行“npm run dev”按第二步执行完后,运行成功:前端的搭建就 OK 了 !测试结果如下:到这里,

2022-07-22 15:38:53 19111 8

原创 Git 学习

Git和其它版本控制系统(包括Subversion和近似工具)的主要差别在于Git对待数据的方式。Git更像是把数据看作是对小型文件系统的一系列快照。在Git中,每当你提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。为了效率,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。Git对待数据更像是一个快照流。$gitlog//查看提交历史记录,从最近到最远,可以看到3次。...

2022-07-21 14:51:00 2841

原创 Navicat for MySQL 安装教程

Navicat for MySQL 安装教程

2022-07-08 10:54:25 32055 16

原创 动态规划——“换硬币问题”

文章目录一、LeetCode 322 零钱兑换二、LeetCode 377 组合总和三、LeetCode 518 零钱兑换二一、LeetCode 322 零钱兑换给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11 输出:3解释:11

2021-09-01 16:27:29 692

原创 Github —— 给他人开放 push 权限

1. 登录github,进入希望协同开发的仓库2. 点击Settings3. 点击Manage access4. 输入想要添加的用户名

2021-07-26 09:57:51 5714

原创 Redis——配置及应用

文章目录一、Redis 基本的是事务操作二、Redis 实现乐观锁通过 Jedis 操作 RedisSpringBoot 集成 Redis自定义Redis Template一、Redis 基本的是事务操作二、Redis 实现乐观锁通过 Jedis 操作 RedisSpringBoot 集成 Redis自定义Redis Template...

2021-05-25 16:50:30 226 1

原创 Redis——基础概念

文章目录一、NoSQL 概述1. 为什么用NoSQL2. 什么是 NoSQL3. NoSQL 特点4. NoSQL 的四大分类二、Redis 概述1. 什么是 Redis2. Redis 用途三、Redis 安装四、Redis 基础知识五、Redis 五种基本数据类型1. String 字符串类型2. List 列表类型3. Set 集合类型4. Hash 哈希类型5. Zset 有序集合类型六、Redis 三种特殊数据类型1. Geospatial 地理位置详情2. Hyperloglog 基数统计3.

2021-05-24 18:06:50 1552 12

原创 SpringBoot——核心功能(四、单元测试)

文章目录一、Junit5 简介二、Junit5 常用注解三、断言四、前置条件五、嵌套测试六、参数化测试七、迁移指南一、Junit5 简介Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成。JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit VintageJUnit Platform: Junit P

2021-05-23 10:14:13 167

原创 SpringBoot——核心功能(三、数据访问)

文章目录SQL一、数据源的自动配置——HikariDataSource1. 导入JDBC场景2. 分析自动配置3. 修改配置项4. 测试二、使用Druid数据源1. 官方地址2. 自定义方式3. 使用官方starter方式三、整合MyBatis操作1. 配置模式2. 注解模式3. 混合模式四、整合MyBatis-Plus完成CRUD1. 什么是 MyBatis-Plus2. 整合MyBatis-Plus3. CRUD功能NOSQL一、Redis自动配置二、RedisTemplate与Lettuce三、切换至

2021-05-22 17:12:04 159

原创 SpringBoot——核心功能(二、web开发)

文章目录一、SpringMVC 自动配置概述二、一、SpringMVC 自动配置概述二、

2021-05-21 17:56:47 224 1

原创 SpringBoot——核心功能(一、配置文件)

文章目录一、properties二、yaml1. 简介2. 基本语法3. 数据类型4. 示例三、配置提示文件类型:properties、yaml一、properties二、yaml1. 简介YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。非常适合用来做以数据为中心的配置文件2. 基本语法key: v

2021-05-20 14:55:38 151

原创 SpringBoot——基础入门 + 底层注解

文章目录一、Spring 与 SpringBoot1. 为什么用SpringBoot2. 时代背景二、一、Spring 与 SpringBoot1. 为什么用SpringBootSpring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.能快速创建出生产级别的Spring应用SpringBoot优点创建独立Spri

2021-05-17 20:12:17 251

转载 B树 和 B+树

B树   如果前面的2-3树与2-3-4树理解了,B树也就理解了,因为2-3树就是3阶的B树,2-3-4树就是4阶的B树。所以,对于B树的性质,根据2-3-4树都可以推导出来了,即,   一颗m阶的B树(B-tree) 定义如下: (1)每个节点最多有 m-1...

2021-05-13 17:20:42 152

原创 vue

文章目录一、vue 概述二、第一个Vue程序三、Vue 基本语法1. 指令2. 条件渲染—— if 判断3. 列表渲染—— for 循环四、Vue 绑定事件五、Vue 双向绑定1. 什么是数据双向绑定?2. 为什么要实现数据的双向绑定?3. 例子六、Vue 组件详解1. 组件基础2. 例子:七、Axios异步通信1. Axios是什么?2. Axios 功能特点3. vue 生命周期4. 应用八、计算属性1. 概念2. 例子九、插槽十、自定义事件内容分发十一、webpack 学习使用一、vue 概述

2021-05-07 12:43:49 109

原创 LeetCode——136. 只出现一次的数字

题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4自己的解法用 set 集合 存储 nums;如果添加失败,则说明集合中已存在该元素,remove;最终集合里只剩下唯一的一个元素;(时间复杂度为 O(n),不符合题目要求)class Solution {

2021-05-07 10:27:33 104

原创 数据结构—— Java实现图的算法代码(深度优先遍历、广度优先遍历、最短路径)

文章目录一、图的结构定义二、深度优先遍历三、广度优先遍历四、最短路径(Dijkstra)图的基础知识在这两篇博客中:数据结构——图的基础知识数据结构——图的应用算法详解一、图的结构定义package GraphPackage;public class GraphNode { int[][] arc; //边的信息 char[] vex; //顶点信息 int arcnum; //边数目 int vexnum; //顶点数目

2021-04-25 14:23:08 842

转载 HashMap 底层原理解析

文章目录一、HashMap底层实现原理解析1. 常见的数据结构2. HashMap的数据结构3. HashMap中的 put() 和 get() 的实现原理:4. 需要注意的问题二、HashMap红黑树原理分析一、HashMap底层实现原理解析1. 常见的数据结构我们常见的有数据结构有三种结构:数组结构、链表结构、哈希表结构。下面我们来看看各自的数据结构的特点:(1)数组结构存储区间连续、内存占用严重、空间复杂度大优点:随机读取和修改效率高,原因是数组是连续的(随机访问性强,查找速度快)缺

2021-04-24 20:49:14 103

转载 SCI审稿过程中的几种状态

审稿中涉及到的人:EIC-Editor in Chief 主编, 此人很重要,有稿件最终决定权。ADM- (可能是)Administrator 应该是协助主编日常工作的。AE-Associated Editor 副编辑(就是文章发表后在首页第一栏下方的contributing editor)。此人非常重要 ,他会在审稿人意见的基础上对文章作个综合评价后,给主编一个recommendation。一般主编都会按照AE的意见写最终的decision letter。...

2021-04-12 13:08:58 2060

转载 JAVA三层架构,持久层,业务层,表现层的理解

SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,struts-config.xml,Action)Hibernate:Hibernate是一个持久层框架,它只负责与关系数据库的

2021-03-30 21:25:56 427

转载 解决谷歌chrome浏览器双击没反应,不能启动(亲测好用)

今天突然打不开chrome浏览器了,怎么双击就是没反应。怎么改注册表也没用,最后找到一个解决办法、、、1.启动任务管理器ctrl+alt+del2.点击进程,找到chrome.exe进程,把所有的都关闭3.再次尝试双击打开浏览器,正常启动。...

2021-03-25 08:33:58 15029 2

原创 Javaweb——Filter

文章目录一、Filter 概述1. 什么是 Filter2. 过滤器的原理二、Filter 入门1. 编写一个类实现Filter接口2. 对过滤器进行配置三、FilterChain 对象的概述1. 什么是 FilterChain四、Filter 的生命周期五、FilterConfig 对象的概述1. FilterConfig 对象的作用2. FilterConfig 对象的API六、Filter 的相关配置1. \ 的配置2. \ 的配置3. \ 的配置一、Filter 概述1. 什么是 Filter

2021-03-20 20:38:23 161

原创 Javaweb——监听器

文章目录一、监听器的概述1. 监听器是什么2. 监听器用途3. 监听器的术语二、监听器的入门三、Servlet 中的监听器1. Servlet 中监听器简介2. Servlet 中监听器的分类四、监听三个域对象的创建和销毁的监听器(一)——ServletContextListener 监听器的使用1. ServletContextListener 监听器作用2. ServletContext 创建和销毁3. ServletContextListener 监听器的方法4. 编写监听器5. ServletCon

2021-03-20 19:45:07 9221

原创 计算机网络—— 一次HTTP通信的过程(七个步骤)

一次HTTP通信的过程先放一张图,这个图上就基本说明了通信的过程,我觉得还是比较详细的。文字说明过程如下1. 建立TCP连接Web浏览器首先要通过网络与Web服务器之间通过TCP建立连接,TCP与IP协议共同构建InternetHTTP协议是比TCP处于更高层的应用层协议,只有当低层协议建立练接之后才能进行更高层次的连接TCP连接的端口号一般是802. Web浏览器向Web服务器发送请求行建立TCP连接之后,Web浏览器会向Web服务器发送请求命令3. Web浏览器向服务

2021-03-19 20:33:01 3938

转载 计算机网络—— IP协议是不可靠无连接的,那为什么当初不直接把它设计为可靠的?

前言        今天在知乎上看到这样一个问题,觉得比较有意思,IP协议是不可靠无连接的,那为什么当初不直接把它设计为可靠的?对于这个问题,今天就来谈一谈我的一些想法吧。   打个比方     我们都知道IP协议是无连接的,传输也是不可靠的。那为什么还要设计这个看似“鸡肋”的协议呢? ...

2021-03-15 13:56:48 3586

原创 计算机网络——应用层

文章目录一、域名系统 DNS1. 域名系统概述2. 因特网的域名结构3. 域名服务器二、文件传送协议1. FTP 概述2. FTP 的基本工作原理3. 简单文件传送协议 TFTP三、万维网 WWW1. 万维网概述2. 统一资源定位符 URL3. 超文本传送协议 HTTP4. 万维网的文档5. 万维网的信息检索系统应用层协议的特点每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的许多协议都是基于客户服务器方式。客户(c

2021-03-09 13:32:06 361

原创 操作系统——虚拟存储器(页面置换算法)

文章目录一、最佳置换算法(OPT)二、先进先出页面置换算法(FIFO)三、最近最久未使用置换算法(LRU)四、最少使用置换算法(LFU)五、Clock置换算法(最近未使用算法 NRU)六、页面缓冲算法(PBA)七、访问内存的有效时间地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。一、最佳置换算法(OPT)其

2021-03-08 17:05:22 1239

原创 操作系统——虚拟存储器

文章目录一、虚拟存储器概述1. 常规存储管理方式的特征和局部性原理2. 虚拟存储器的定义和特征3. 虚拟存储器的实现方法二、请求分页存储管理方式1. 请求分页的硬件支持2. 请求分页中的内存分配3. 页面调入策略三、页面置换算法四、“抖动”与工作集1. 多道程序度与“抖动”2. 工作集3. “抖动”的预防方法五、请求分段存储管理方式1. 请求分段中的硬件支持2. 分段的共享与保护六、小结一、虚拟存储器概述1. 常规存储管理方式的特征和局部性原理常规存储管理方式的特征我们把之前博客所介绍的各种存储

2021-03-08 17:04:26 2844

原创 剑指Offer—— 11. 旋转数组的最小数字

题目如下把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0自己的算法及代码(代码可运行,且提交正确)具体算法如下:给最小值初始化 min=-1;遍历数组,如果满足 numbers[i] > numbers[i+1],

2021-03-08 13:21:58 82

原创 剑指Offer—— 21.调整数组顺序使奇数位于偶数前面

题目如下输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。自己的算法和代码(该算法课正确执行和提交,内存消耗较高,主要在创建了一个新的数组存放数据)创建一个新的数组 result[],和两个标志位 first 和 last,分别指向 result[] 的 第 0 个位置,第 nums.length-1 个位置。

2021-03-07 12:57:33 67 1

原创 计算机网络——运输层

文章目录一、运输层协议概述1. 进程之间的通信2. 运输层的两个主要协议3. 运输层的端口二、用户数据报协议 UDP1. UDP 概述2. UDP 首部格式三、传输控制协议 TCP1. TCP 特点2. TCP 的连接四、可靠传输的工作原理1. 停止等待协议2. 连续 ARQ 协议五、TCP 报文段的首部格式六、TCP 可靠传输的实现1. 以字节为单位的滑动窗口2. 超时重传时间的选择3. 选择确认 SACK七、TCP 流量控制1. 利用滑动窗口实现流量控制2. 必须考虑传输效率八、 TCP 拥塞控制1.

2021-03-07 10:21:30 783

原创 操作系统——存储器管理

文章目录一、存储器的层次结构二、程序的装入和链接1. 程序的装入2. 程序的链接三、连续分配存储管理方式四、对换1. 多道程序环境下的对换技术2. 对换空间的管理3. 进程的换出与换入五、分页存储管理方式六、分段存储管理方式一、存储器的层次结构寄存器、主存,属于操作系统存储管理的管辖范畴,断电后存储的信息不存在;(这两个又称为 可执行存储器)辅存,属于设备管理的管辖范畴,存储信息被长期保存;主存储器:简称内存或主存,是计算机系统中的主要部件,用于保存进程运行时的程序和数据,也称可执行存储器。

2021-03-06 13:32:44 901

BCT(复杂网络工具箱)

MATLAB复杂网络工具箱--Brain Connectivity Toolbox (BCT)

2019-04-24

剧院票务管理系统

基于JavaGUI以及SQL实现的单机版剧院票务管理系统

2017-07-25

空空如也

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

TA关注的人

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