自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++基于数组存储结构的链表设计与实现

基于数组存储结构的链表数组中的每一个元素附加一个指向后续元素的指针,对数组元素的访问顺序由指针指向的位置决定,这样可以不改变各个元素的物理位置,就可以改变数组的逻辑顺序这是一种基于数组的存储结构,倘若运算过程中数组的大小不发生改变则称之为静态链表,其实也可以改造为动态数组来实现基于数据存储结构的链表的每个元素包含:data数据和link指针域优点:对数组元素的插入、删除操作只需要修改链接指针而不需要移动元素,因此具有更高的效率缺点:查找元素需要从头部开始逐个遍历,随机存取较慢基于

2021-12-06 18:08:35 1551

原创 Windows10下载和配置MongoDB远程连接

1.下载安装从mongodb官网下载,这里使用Free Download Manage快速下载得到一个文件:mongodb-windows-x86_64-4.4.1-signed.msi安装MongoDB,这里选择Custom(自定义)安装路径:D:\Applications\MongoDB安装使用过程中根据提示,指定数据库data目录,日志目录log,注意安装开始,要去掉安装图像界面的默认选项,否则会耗费大量时间2.修改mongodb默认配置文件安装好以后,打开默认目录C:\Program

2021-01-19 17:23:01 789 2

原创 前端vue框架的项目文件创建及常见Vue指令运用

本文介绍前端Vue框架,先从npm工具创建的Vue项目开始,对Vue项目结构的一些文件用途进行说明,随后对Vue文件编写所用的两种风格(选项式API和组合式API风格)做了区分,同时对编写代码中常见的生命周期钩子函数做了一些概述,最后对Vue常见的内置指令包括内容渲染、条件渲染、列表渲染、属性绑定、表单绑定以及DOM的节点引用进行了详细介绍

2024-07-21 20:17:06 529

原创 前端XMLHttpRequest、Fetch API、Axios实现文件上传、下载方法及后端Spring文件服务器处理方法

本文总结Web应用开发中文件上传、下载的方法,即从前端表单输入文件并封装表单数据,然后请求后端服务器的处理过程;从基础的JavaScript中XmlHttpRequest对象、Fetch API实现上传、下载进行说明,并给出了前端常用的axios库的请求方式,然后给出了后端Spring实现文件服务器的方法,其中就文件上传中遇到的大小限制、跨域请求、外链请求等关键点进行了说明。

2024-07-14 18:10:54 1093

原创 javascript/js中Array、Set、Map数据结构特性及用法

本文温习前端开发中常见的3种数据结构:数组Array、有序集合Set、有序映射Map,并分别介绍其特性、用法示例。

2024-07-01 01:20:52 979

原创 快速排序—数组、数组存储结构的链表排序算法

快速排序算法,数组快速排序算法步骤图解,快速排序算法时间复杂度分析,数组存储结构的链表快速排序算法,快速排序算法源码用C语言实现

2021-12-21 19:36:27 1165

原创 插入排序—数组、数组存储结构的链表排序算法

插入排序算法的思想,数组插入排序算法步骤图解,插入排序的时间复杂度,基于数组存储结构的链表插入排序的方法,C语言实现插入排序算法

2021-12-20 19:04:38 653

原创 冒泡排序—数组、数组存储结构的链表排序算法

冒泡排序算法的思想,数组冒泡排序算法步骤过程图解,包括基于数组存储结构的链表冒泡排序的方法,冒泡排序算法源码用C语言实现

2021-12-20 15:17:14 1347

原创 VMware Workstation 16 Pro安装Ubuntu20.04镜像

安装准备1.下载并安装VMware Workstation 16 ProWindows10中下载安装VMware-workstation-full-162.官网获取Ubuntu20镜像Ubuntu20.04官网下载安装过程1.修改VMware为英文安装之前,把虚拟机修改为英文的方法:进入目录:C:\Program Files (x86)\VMware\VMware Workstation\messages修改:zh_CN文件夹为其他名称zh_CN_UNUSE以禁用中文,这是为了在安装Ubu

2021-10-03 22:05:52 3425

原创 Windows10中基于Python的Redis库的安装及使用

主要内容在Windows10中,安装基于python的redis库,并连接redis-server服务器python中使用redis库操作字符串、哈希、列表、集合和有序集合安装准备确保已经在本地安装了redis-server服务器,这里以在windows10上安装redis为例,安装过程可参考Windows10安装Redis5.0.9总结启动redis-server#若是没有把redis没有把redis的根目录配置到配置环境变量中,则需要先切换到根目录再执行:redis-server

2021-10-03 15:59:54 6006

原创 springboot项目中多个maven模块划分和依赖继承

多模块划分的必要通常一个复杂的大型项目会划分为多个模块,在结构化程序设计中,模块划分的原则是模块内具有高内聚度、模块间具有低耦合度在将一个复杂项目拆分成多个模块,有利于协同开发,方便模块重用初次上手多模块的springboot项目1.初始化工具新建springboot项目:project-root这里称这个处于外层的项目(project-root)为父模块,project-root直接路径下的pom.xml称之为顶层pom文件然后对pom.xml进行修改,删除其他不用的资源文件夹,以便被所有子模

2021-10-01 02:49:28 3480 1

原创 spring-boot静态资源的映射规则及访问配置

springboot项目如何访问webapp目录下的文件?对于springboot项目,通常都是把静态资源放到resources目录下,这样就不需要其他配置就能够直接访问;IDEA中若需要添加webapp资源目录,则需要稍微做一些额外的配置1.创建webapp资源目录在springboot项目中,当需要在src/main目录下创建webapp目录:首先需要进行如下设置Project Structure----Project Settings----Facets,在项目名上右键新建web,然后点击

2021-10-01 02:04:46 2761

原创 spring-boot跨域请求访问配置方式总结

springboot跨域请求访问的配置方法跨域请求是指当前发起请求的域,与该请求指向的资源所在的域不同的请求,这里的同域指的是 “协议 + 域名 + 端口号” 均相同,那么就是同域#前端以5500端口启动了一个服务器,并向后端8080发送请求,由于端口不同,也是跨域请求http://127.0.0.1:5500http://127.0.0.1:8080在springboot项目中,对于跨域请求默认会被拒绝访问,因此要启用跨域请求访问,后端服务器需要添加一些配置这里以使用springboot2.

2021-10-01 01:36:01 2492

原创 C++二叉树数据结构

C++二叉树数据结构什么是二叉树?二叉树是节点有限集合,集合或者为空,或者是由一个根节点加上两个子树的(左子树和右子树)、互不相交的节点组成的数据类型二叉树的每个节点最多有2个子女,且有左右之分不能颠倒,分别称为左子女和右子女二叉树中不存在只存在度为0的节点(即为叶子节点,无子女)、度为1的节点(只有一个子女的节点)、度为2的节点(左右子女都有的节点)二叉树是分支数不超过2的有序树,具有5中可能的形态:空二叉树、只有根节点的二叉树、只有左子树的二叉树、只有右子树的二叉树、左右子树都有的二叉树

2021-07-18 03:08:37 495 1

原创 C++并查集数据结构实现

什么是并查集?将N个不同元素,按照某些相似特征划分到不同的M(M<=N)个集合中实现对不同元素的合并,查找某个元素属于哪个集合,描述这类问题的抽象数据类型就称之为并查集并差集有哪些常见使用场景?实现等价类的划分构造最小生成树的Kruskal算法通过并查集判断最小生成树的连通性不同集合中判断任意两个元素是否同属于一个集合数据结构如何实现?对于N个元素,构造一个具有N个元素parent[N]数组,初始时初始化parent[i]为-1,`表示只有一个元素的集合把具有相似特

2021-07-17 17:54:30 190

原创 C++使用位向量实现集合数据类型

为什么使用位向量假设某大学有20000名学生,今年6月份安排对自愿接种新冠疫苗的学生接种疫苗,对所有学生有无接种情况进行分类并排序,要求使用效率最高,在C++中可使用位集合(向量)实现:1.20000个学生表示为N,每个学生编号号唯一,具有两种状态0或1,分别表示有无接种疫苗2.对于一个unsigned short数据类型,具有16位,每一位可表示0或1,那么可用N/16+1=1251个unsigned short可表示所有可能取值0或1,此时可映射为二进位数组A[1251]3.接下来就是对A[k]

2021-07-17 15:29:33 597 1

原创 React构建的景点门票系统

项目简介该项目是本人初学React时用官方脚手架构建和独立设计的项目项目主要对景点信息进行查询,预定门票,查询订票记录,退订门票,目前所设计的UI界面仅面向营业员,如有需要完善游客UI界面,还需要进行完善项目要点页面构建交替使用了函数式组件和类组件,展示了React组件的状态更新,不同组件之间数据传递,以及父子组件通过回调函数更新组件在函数式组件中主要使用了useState,useEffect,useCallback, useRef, useContext使用react-router-do

2021-04-11 22:48:28 206

原创 基于Java控制台的图书管理系统

简介这个小项目适合初学Java,处于入门阶段的人学习这是我本人最初开始自学Java、MySQL,独自编写的用来参加Java竞赛的一个控制台项目,数据库就只用三张表,实现对MySQL数据库数据的增删改查,代码逻辑经过最新的修改和优化,已经非常容易理解特性设计与数据库表一一对应的对象模型,将对数据库执行的操作转为对象模型,简化了处理逻辑设计可重用的方法,优化方法中条件的逻辑判断,供不同的业务调用,减少了代码冗余遵循命名规范,包的命名体现层次关系,类的命名具有代表性,方法的命名简洁易懂内容

2021-03-03 22:59:17 1564 1

原创 RESTful架构风格规范

REST与RESTful介绍REST翻译为表现层状态转移(Representational State Transfer, REST),是一种软件架构风格,是Roy Thomas Fielding在他2000年的博士论文中提出的,该结构风格提供一些指导原则和最优方法来帮助我创建可扩展的web服务REST是应用于分布式系统组件设计的一套协调的约束,它可以带来更高性能和更可维护的体系结构RESTful风格的API是遵循REST风格构建的API,它可以通过一套统一的接口为Web,IOS和Android提供

2021-03-03 22:38:13 1237 2

原创 Windows10配置Redis-5.0.9远程连接

1.安装redis服务器相关服务以下配置中,使用的版本为Redis-x64-5.0.9#安装redis服务,有的是使用如下命令,但这里注释掉不使用,按照后面的来配置#redis-server.exe --service-install redis.windows.conf --loglevel verbose#使用以下命令把redis服务发布到计算机服务列表#使用该命令不成功:#redis-server --service-install redis.windows-service.conf

2021-01-19 16:34:30 1794

原创 Windows10安装Redis5.0.9总结

Windows10关于Redis入门配置与使用1.官网下载下载可以参考github关于redis的介绍或者redis官网这是一个免安装版,得到一个文件:Redis-x64-5.0.9.zip然后解压并放到一个自定义的位置这里指定位置:D:\JavaLibraries\Redis-x64-5.0.92.在cmd窗口中使用Redis使用redis,需要按顺序来,通过根目录Redis-x64-5.0.9两个exe程序来控制先启动服务器redis-server.exe,然后再启动客户端redis-c

2021-01-19 15:49:52 796

原创 交换机的vlan划分及路由器的动态路由配置

实验内容在交换机上配置VLAN,并在路由器上配置动态路由,使得属于不同VLAN的交换机端口连接的主机可以互相通信。实验拓扑图如下:实验条件双绞线、PC机、锐捷网络实验室(路由器、交换机)以下是使用Cisco Packet Tracer 5.3配置的实现过程实现过程1.配置之前先连接交换机并在PC上使用命令ping 10.xx.xx.xx测试PC1,PC2,PC3,PC4之间的连通性2.在交换机上配置VLAN## 1.创建vlan 2,分别进入Fa0/7和Fa0/9,将其分别划入vlan

2021-01-11 18:10:46 4986

原创 路由器配置实现不同网段之间电脑通讯

主要内容实现不同网段中电脑PC0与PC1之间互相通讯,见拓扑图实现步骤先做出如下拓扑图,注意电脑与路由器连接使用的是直连线,但软件Cisco Packet Tracer 5.3.0 中可能有问题,需要使用虚线才可以然后配置PC0和PC1的IP地址和网关PC0配置IP地址:172.16.1.2网关:172.16.1.1PC1配置IP地址:172.18.1.2网关:172.18.1.11.修改路由器主机名(可选)进入Router1修改路由器主机名为RouteA进入路由器并启用配置

2020-10-28 15:29:07 5767 1

原创 一台电脑借助另一台电脑实现上网

一台电脑借助另一台电脑实现上网内容简介以下内容一这个应用场景的配置为例进行说明:台式电脑通过交叉线连接笔记本电脑,借助笔记本电脑的网络使台式电脑能够上网最后面还介绍一种最简单的方式:台式电脑通过USB共享手机网络上网实现步骤1.笔记本电脑与台式电脑连通电脑与电脑连接,需要使用一根交叉线2.笔记本电脑保证能够连接到手机热点连接上热点后,笔记本电脑进入如下界面:【控制面板】——【网络和 Internet】——【网络连接】可以看到手机热点的连接【WLAN】[外链图片转存失败,源站

2020-10-26 21:50:15 13032

原创 C++基于数据结构的通讯录管理系统

项目介绍项目名称通讯录管理系统运行环境Dev-C++ 5.11实现方法1.使用C++语言设计,其中数据的操作使用C++容器list,map来实现2.数据的保存使用C++文件读写功能3.交互界面为cmd命令行窗口,数据显示格式使用经过计算填充的格式化字符串生成的表格4.项目使用头文件包含的的方式实现多模块组合项目功能1.基于常用联系人的基本信息进行操作,包括:联系人分组、姓名、微信、通讯地址、邮箱、手机号2.适用于一个用户,简洁的用户登录功能,并能对用户密码加密3.对联系人基本信息实

2020-10-25 10:27:33 1094

原创 C++一维数组与二维数组

一维数组创建#include<iostream>#include<iomanip>using namespace std;const int COL = 3;void display(int *arr,int n){ for(int i=0;i<n;i++){ cout<<arr[i]<<"\t"; } cout<<endl; }// 函数外部,默认以0初始化 int arr[10]; int main() {

2020-10-03 23:32:10 1140

原创 基于SSM框架的实验室设备管理系统

开发目的方便高效地实验室设备统一管理,除了实现基本的增删改查,还提供借用、归还、购买和问题反馈功能,可实现对实验室设备的基本业务的处理本项目由本人负责开发完成,项目能保证正常运行,当然其中不免也会有缺漏或不完善的地方解决方案1.后端Java框架使用spring+springmvc+mybatisspring功能是实现参数参数注入,请求分发处理,对数据库操作进行事务控制,其中mybatis使用注解查询,整体上大部分使用xml配置,少部分使用注解2.前端使用HTML+javascript+css+j

2020-09-14 20:50:26 6479 31

原创 idea创建基于maven的javaweb项目入门

主要内容使用IDEA通过Maven方式创建JavaWeb项目,然后以简单的index.html和index.jsp页面请求为例,携带参数访问基于注解的HttpServlet并返回结果具体步骤1. 选择Maven并创建webapp2. 指定项目名称、项目路径3. 首次使用需要指定maven安装包的配置文件,以及本地仓库4. src/main目录中创建java文件夹并编写HelloServlet源文件,在webapp目录中创建index.html或index.jsp用于测试,lib目录是可选的

2020-07-17 00:41:05 6616

原创 拒绝BUG成功使用Socket实现http请求的响应与处理

核心内容查看http响应报文:谷歌浏览器——>右键——>检查——>Network——>ALL——>Namepublic int available() throws IOException返回从该输入流中可以读取(或跳过)的字节数的估计值,而不会被下一次调用此输入流的方法阻塞,下一次调用可能是同一个线程或另一个线程虽然InputStream的某些实现将返回流中的字节总数,但许多实现则不会使用此方法的返回值分配用于容纳此流中的所有数据的缓冲区是绝对不正确的在不阻塞的

2020-07-13 20:26:53 649

原创 URLEncoder类静态方法encode的使用

URLEncoder类静态方法encode(String s, String enc)简介主要用于HTML表单编码的实用类, 可将包含将String转换为application/x-www-form-urlencoded MIME格式的静态方法该类方法:public static String encode(String s, String enc)使用特定的编码方案将字符串转换为 application/x-www-form-urlencoded格式,不推荐使用encode(String s),因

2020-07-13 16:07:33 3708

原创 Java实例内部类、匿名内部类、静态内部类和局部内部类使用方法

主要内容包括实例内部类、匿名内部类、静态内部类和局部内部类的特点和使用方法1. 实例内部类成员内部类的一种,没有static修饰,实例内部类具有以下特点在创建实例内部类的实例时,外部类的实例必须已经存在,想创建内部类Inner类的实例,必须先创建外部类Outer类的实例实例内部类的实例自动持有外部类的实例的引用,其引用形式是:外部类名字.this,在内部类中,可以直接访问外部类的所有成员,包括成员变量和成员方法外部类实例与内部类实例之间是一对多的关系,一个内部类实例只会引用一个外部类实例,而一

2020-07-11 15:41:45 781

原创 Java关于向上转型与向下转型的区别

向上转型和向下转型对象既可作为它本身的类型使用,也可作为它的基类型使用,通过类型转换(转型)来实现,对象的类型转换分两种,把对某个对象的引用视为对其基类型的引用的做法称为“向上转型”,反之则称为“向下转型”向上转型对象不能操作子类新增的成员属性和方法(失掉了这部分功能)向上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承或重写的方法可以将向上转型对象再强制转换到它本来的类型(向下转型),该对象就又具备了其所有的属性和方法向上转型对象操作子类继承或重写的方法时,就是通知对应的子类对象去

2020-07-11 12:24:18 1922

原创 Java方法重写(方法覆盖)与方法重载的区别

方法重写(方法覆盖)与方法重载的区别方法重写也称为方法覆盖,子类重写的方法必须与父类被重写的方法具有相同的方法名、参数列表和相同(或相容)的返回值类型,否则不构成重写方法重写只针对实例方法,对于父类中的静态方法,子类只能隐藏、重载或继承覆盖方法时,不能使用比父类中被覆盖的方法更严格的访问权限,子类只能比父类强,不能比父类弱,因为有可能将子类对象当做父类对象来使用,那么能获取到的父类对象中的方法在子类中必须都能获取到父类的静态方法不能被子类重写为非静态的方法,同样,父类中的实例方法也不能被子类重写

2020-07-11 12:20:37 1586

原创 Java关于final关键字的使用方法

final关键字final具有“不可改变”的含义,它可以修饰非抽象类、非抽象成员方法和变量用final修饰的类不能被继承,没有子类用final修饰的方法不能被子类的方法重写或隐藏父类中用private修饰的方法不能被子类的方法重写,因此private类型的方法默认是final类型的用final修饰的变量表示常量,只能被赋值一次final类继承的弱点是打破了封装,子类能够访问父类的实现细节,而且能以方法重写的方式改变实现细节,为克服这一弱点,在以下几种情况下可考虑把类设计为final类型,使

2020-07-11 12:09:13 310

原创 Java抽象类与接口的特性和区别

主要内容包括抽象类与抽象方法和接口的定义和特性,以及两者之间的使用区别1. 抽象方法与抽象类只声明而不提供任何实现的方法称为抽象方法,含有抽象方法的类必须声明为抽象类抽象方法、抽象类都必须必须使用abstract修饰抽象类不能new对象,必须被继承,且必须实现其中的抽象方法才能使用抽象类中不是所有的方法都是抽象方法,可以在抽象类中声明并实现方法抽象类的子类必须在实现父类所有的抽象方法才能实例化,否则这个子类也是一个抽象类若多个类具有相同的方法声明,而方法的实现不一样,这时就可以抽象出父类,

2020-07-11 12:03:55 452 1

原创 Java关于静态代码块、构造代码块和局部代码块的区别

静态代码块用static修饰的代码块,在类加载后就会被执行静态代码块和静态方法相同,不能使用外部非静态成员静态代码块执行和静态变量的初始化顺序一样,按代码从上到下若某一段代码想在别人使用某个类的时候就运行, 而且只运行一次, 那么就可以写在静态代码块中package inter;public class StaticBlock { public static StaticBlock block = null; private String msg = "";// 静态代码 stat

2020-07-11 10:41:16 467

原创 Java匿名对象与对象引用

匿名对象使用new关键字创建对象后直接使用,这样的对象没有名字,所以叫匿名对象1. 通常一个对象只使用一次的时候,就可以使用匿名对象,比如将对象作为一个参数传递给另外一个函数2. 匿名对象因为没有任何引用到达,在使用一次之后就会被内存回收对象引用通过关键字new创建一个类的对象,并将对象指向类的引用变量,即为对象引用类与对象两者之间的关联:类是用来描述对象的,是数据及其操作方法的集合体,是一种新的数据类型,通过这种数据类型定义的变量就是对象。对象是类的实例,类是对象的描述(或者说类是对象的模板

2020-07-11 02:19:31 343

原创 Java关于修饰符public、private和protected的访问权限

修饰符public、protected、private的访问权限修饰符影响的访问范围从大到小:其他包的类或子类访问、同包内其他类或子类访问、本类范围内访问不使用public、protected和private权限修饰符,则默认同包内其他类或子类可以访问修饰符修饰类修饰变量和方法本类范围内访问同包内其他类或子类访问其他包的类或子类访问public√√√√√protected×√√√×private×√√××...

2020-07-11 01:34:52 255

原创 Java关于ArrayList与LinkedList的详细用法

概述ArrayList与LinkedList均实现List接口,两者有很多相同的方法,其中LinkedList中方法更多,表现为LinkedList具有一些独特的方法,可用作栈和队列的一种实现主要内容1. ArrayList与LinkedList转换2. LinkedList和ArrayList一些相同的方法3. LinkedList中不同于ArrayList的方法附录:官方文档中ArrayList和LinkedList的参考资料详细内容1. ArrayList与LinkedList转换

2020-07-09 20:57:18 971

原创 常见编码ASCII、GB2312、GB18030 、GBK 、Unicode和UTF-8占用字节数

编码类型编码说明ASCII每个字符占1个字节GB2312兼容ASCII,英文占1个字节(正数),中文占2个字节(负数)GB18030GB18030向下兼容GBK和GB2312编码,每个英文占1个字节(正数),每个中文占2个字节(第一个负数、第二个可正可负)GBK兼容GB2312,每个中文占2个字节,每个英文占1个字节Unicode国际码表,每个字符占2个字节,Java中存储字符类型使用Unicode编码UTF-8国际码表,英文占1个字...

2020-07-09 16:43:04 3694

空空如也

空空如也

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

TA关注的人

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