自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用SpringBoot和ElasticSearch实现网盘搜索引擎,附源码,详细教学

用SpringBoot和ElasticSearch实现网盘搜索引擎

2023-04-02 23:27:33 2057 2

原创 Docker从入门到实践,含CentOS7.6下的Docker安装

1. 基本概念、用途、核心思想为什么需要Docker?环境配置的难题;虚拟机;Docker的基础———Linux容器;Docker是什么?Docker是一个用来装程序及其环境的容器,属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。Docker的用途提供统一的环境;提供快速拓展、弹性伸缩的云服务;防止其他用户的进程把服务器资源占用过多;Docker的特点标准化:运输方式(把程序和环境从一个机器运到另一个机器的)存储方式(程序和环

2022-05-31 17:56:16 520

原创 分布式基础

1.什么是分布式利用物理架构形成多个自治的处理元素,不共享主内存,但是通过发送信息合作。——Leslie Lamport2.分布式的作用实际工作中的痛点:工程臃肿;测试、上线繁琐;开发效率低。单体应用的问题:应用代码耦合严重,功能扩展难;新需求开发交互周期长,测试工作量大;新加入的开发同事需要很长时间才能熟悉系统;升级维护也很困难(改动任何一点地方都要升级整个系统);系统性能提升艰难,可用性低,不稳定。分布式的好处:增大系统容量;加强系统可用;因为模块化,所以系统模块重用度更高。因为软件服务模块被

2022-05-30 20:13:00 276

原创 线程池——治理线程的法宝

1.线程池为什么要使用线程池:反复创建线程开销大;过多的线程会占用太多内存。解决以上两个问题的思路:用少量的线程——避免内存占用过多;让这部分线程都保持工作,且可以反复执行任务——避免生命周期的损耗。线程池的好处:加快响应速度;合理利用CPU和内存;统一管理。线程池适合应用的场合:服务器接收到大量请求时,使用线程池技术是非常合适的,它可以大大减少线程的创建和销毁次数,提高服务器的工作效率。在开发中,如果需要创建5个以上的线程,那么就可以使用线程池来管理。2.创建和停止线程池线程池构造方法的参数

2022-05-30 18:42:09 772

原创 MySQL练习(三)---数据库的高级查询

数据库的高级查询聚合函数#聚合函数在数据的查询分析中,应用十分广泛。聚合函数可以对数据求和、求最大值和最小值、求平均值等等。#求公司员工的平均月收入是多少? 月收入=薪资+佣金,如果佣金为NULL则设佣金为0SELECT AVG(sal+IFNULL(comm,0))FROM t_emp;#SUM函数用于求和,只能用于数字类型,字符类型的统计结果为0,日期类型统计结果是毫秒数相加。SELECT SUM(ename)FROM t_emp;SELECT SUM(sal)FROM t_emp WH

2022-03-08 17:52:04 576

原创 MySQL练习(二)---数据库的基本查询

数据库的基本查询普通查询记录查询SELECT * FROM t_emp;SELECT empno,ename,sal FROM t_emp;使用列别名SELECT ename, sal * 12 as "annual_salary"FROM t_emp;查询语句的执行顺序数据分页#如果结果集的记录很多,则可以使用LIMIT关键字限定结果集数量。#SELECT ......FROM....... LIMIT 起始位置,偏移量;SELECT empno,ename FRO

2022-03-07 23:20:48 304

原创 MySQL练习(一)

数据库表的相关操作DDL数据定义语言 定义逻辑库、数据表;CREATE DATABASE demo; #创建一个名为demo的数据库SHOW DATABASES; #显示该连接下所有数据库DROP DATABASE demo;#删除名为demo的数据库USE demo;CREATE TABLE `t_dept`( #在demo数据库创建名为t_dept的表 `deptno` int(2) NOT NULL COMMENT '部门编号', `dname` varchar(20) DEFA

2022-03-07 17:42:25 457

原创 Redis基础

Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、散列表、集合、有序集合。与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。另外,Redis 也经常用

2021-11-27 14:35:19 968

原创 Spring基础

Spring是一个轻量级Java开源框架,最早由Rod Johnson创建,目的是解决企业级应用开发的复杂性,简化Java开发。Spring为开发Java应用程序提供全面的基础架构支持,因此Java开发者可以专注于应用程序的开发。Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程(aspect-oriented programming,AOP)。为了降低Java开发的复杂

2021-11-26 21:37:48 569

原创 MySQL基础

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。连表查询关键字?作用?join,left join,right join,union,cross join。详

2021-11-25 23:28:49 1496 1

原创 Java基础

深拷贝和浅拷贝深拷贝和浅拷贝都是对象拷贝,而不是引用拷贝;引用拷贝:创建一个指向对象的引用变量的拷贝。对象拷贝:创建对象本身的一个副本。深拷贝:深拷贝是一个整个独立的对象拷贝,深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。简而言之,深拷贝把要复制的对象所引用的对象都复制了一遍。浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主”对象

2021-11-23 22:26:25 636

原创 【SpringBoot】学生信息录入和查阅的前后端分离的小项目,SpringBoot+React+MySQL,手把手教学

运行效果点击录入,下方的状态会变成数据更新成功。刷新student_db数据库,发现学生数据被录入数据库并成功获取展示到花名册页面。运行演示完,写一下这个小项目的步骤。新建数据库student_db,在该数据库下新建表stu_tbCREATE TABLE `stu_tb` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, `major` varc...

2021-11-19 22:50:14 1979 2

原创 用MVC模式来改写用户登录验证程序【JavaWeb】【附完整代码】【数据库应用开发】连接数据库登录注册功能实现

实验八 MVC模式一、实验要求用MVC模式来改写用户登录验证程序。二、实验步骤/代码2.1项目结构2.2实现代码实现了model模型层、view视图层、controller控制层的分离。具体代码见文档尾,可点击链接跳转查看User.javaUserDao.javaJdbcUtils.javaJdbcUserDaoImpl.javaDaoFactory.javaUserException.javaUserService.javaComm.

2021-11-05 21:52:23 1167 1

原创 【Web前端】笔试题含解析

下面标签嵌套正确的是A.ul只能紧挨着liB.a中不能再嵌套aC.dl dtD.ol li是有序排列下面哪些是HTML5 新增的表单元素?在HTML中,( )可以在网页上通过链接直接打开邮件客户端发送邮件。mailto 后面加发送邮件地址请选出所有的置换元素()a) 置换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容。例如:浏览器会根据标签的src属性的 值来读取图片信息并显示出来,而如果查看(x)html代码,则看不到图片的实际内容;标签的type属性来决定是显.

2021-11-03 18:47:49 4359

原创 Java实现基础编程题

1.完数//如果一个数等于其所有因子之和,我们就称这个数为"完数",例如 6的因子为1,2,3 6=1+2+3 6就是一个完数.请编程打印出1000以内所有的完数class wanshu { public static void main(String[] args) { int i,j; for(i=1;i<=1000;i++){ //判断一千以内的完数 int sum=0; for(j=1;j&l

2021-11-03 13:45:46 338

原创 【Java】Java中内存泄露的场景

在这里呢 ,如果面试官问你Java是否会存在内存泄漏呢 ,一定要回答 ,是的 。但是面试官他马上就会问道: 那你给我列举几个内存泄露的场景吧,这个时候, 很多有经验的程序员, 他都无法准确的回答 ,这里我给大家准备了一些经典的内存泄露场景。首先 ,内存泄漏是指一个不再需要被程序使用的对象或者变量还在内存中占有着它的空间, 在c或者c++语言中, 内存的分配和释放是由开发人员手动操作的, 如果程序员忘记了释放, 那么就会造成内存泄露。但是呢, Java在引入垃圾回收机制的时候, 由垃圾回收器自动的回收,

2021-11-01 16:16:14 332

原创 【Java】浅谈Java的垃圾回收(GC)及常用的垃圾回收算法

垃圾回收机制在Java语言中,垃圾回收是一个非常重要的概念,它的主要作用是回收程序中不再使用的内存,我们通常说的gc是英文单词garbage collection,也就是垃圾回收器的意思。在我们以前使用c语言或者c++进行开发的时候,开发人员必须仔细的管理好内存的分配与释放,如果忘记或者错误的释放内存,往往会导致程序不能够正常运行, 甚至是崩溃。为了减轻开发人员的工作, 同时增加系统的安全性与稳定性,Java语言提供了垃圾回收器来自动检测对象的作用域。具体而言,垃圾回收器主要完成三方面工作:第一为对

2021-11-01 15:34:36 357

原创 【Java】JVM的内存组成

在运行中,JVM分成5个部分,分别是方法区、堆、程序计数器、虚拟机栈、本地方法栈。堆和方法区是代表了共享区,是所有线程都能访问到的地方。而程序计数器和虚拟机栈和本地方法栈是线程独有的部分,私有区包含程序计数器、虚拟机栈和本地方法栈。堆:堆是Java虚拟机所管理的内存中最大的一块,也是最主要的一部分,它唯一的目的就是存放在程序运行时所创建的对象实例,堆是垃圾回收的主要区域,对于垃圾回收来说,主要是在堆中进行处理,对于那些不再被使用也就是没有持有引用的对象,Java的垃圾回收器在堆中对其进行回收及销毁.

2021-11-01 15:07:03 141

原创 【SpringBoot】学生信息查询案例

我们首先需要新建一个数据库,这里可以用MySQL命令行或者其他的数据库软件.我们希望在spring boot中成功连接到数据库并且把数据查出来我们需要先在pom.xml文件中添加一些我们需要的依赖接着在配置文件application.properties中写入对数据库的配置注意:此处驱动可以改成MySQL 8对应的com.mysql.cj.jdbc.Driver如果报错的话,需要提前添加mysql-connector-java-8.0.19.jar到项目的Libralies本案例相对比较

2021-10-10 17:39:02 946

原创 数据结构上机测试题超全合集【C语言描述算法】(完整可编译代码,含运行结果截图)

1、 编写算法,将二个升序链表在原表空间内归并成一个升序链表。/* 1、 编写算法,将二个升序链表在原表空间内归并成一个升序链表。*/#include <stdio.h>#include <stdlib.h>#define MaxSize 50typedef int ElementType;typedef struct LNode { ElementType data; struct LNode *Next;} LNode,*List;

2021-06-21 12:42:12 5262 3

原创 二叉搜索树操作集,C语言实现,数据结构

二叉搜索树操作集,C语言实现,数据结构代码AC创建建二叉搜索树//创建建二叉搜索树BinTree CreateBST(BinTree BST){ ElementType X; printf("\n请输入二叉树结点(用空格隔开各结点,以-999结束输入)(不必按顺序,将会自动依据结点数据的大小建立二叉搜索树):\n"); while (1){ scanf("%d",&X); if (X == -999) break; BST = Insert(B

2021-06-02 23:03:22 212

原创 二叉树操作集,C语言实现,数据结构

二叉树操作集,C语言实现,数据结构创建二叉树//采用前序初始化二叉树//中序和后序只需改变赋值语句的位置即可void CreateBT(BinTree * BT) { char data; scanf("%c",&data); if (data!='#') { if (!((*BT)=(TNode*)malloc(sizeof(TNode)))) { printf("申请结点空间失败"); return; } else { (*BT)->Data=da

2021-06-02 22:31:42 155

原创 线性表算法设计作业,C实现,完整可编译,严蔚敏数据结构第二版

线性表算法设计作业,C实现,完整可编译,严蔚敏数据结构第二版最终完整代码详见文末,代码AC,文件后缀改成cpp教材53页2.2题将两个非递减的有序链表合并为一个非递增的有序链表,要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。算法如下,C描述/* 线性表算法设计作业 教材53页2.2题 将两个非递减的有序链表合并为一个非递增的有序链表,要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。*/void

2021-06-02 21:52:19 649 1

原创 内部排序算法效率比较,数据结构实验,C语言实现

内部排序算法效率比较,数据结构实验,C语言实现1.直接插入排序2.折半插入排序3.希尔排序4.简单选择排序5.堆排序6.冒泡排序7.快速排序8.归并排序实验内容与要求对我们所学过的各种排序算法,分别测试统计数据量为100、10000、1000000时各自在正序、逆序、随机序时所耗的时间,写出分析报告。可用图表说明你的分析内容。(确保算法正确的情况下可以不需要输出,以节约时间)实验过程1.首先,写出各个排序算法的C语言代码【详见后面的代码】;2.声明一个存储待排序数据的数组,数组的

2021-05-27 21:09:42 2961 22

原创 Java作业:文本I/O实验

Java作业:文本I/O实验1.完成课本428页12.15;(写/读数据)编写一个程序,如果名为Exercise12_ 15.txt的文件不存在,则创建该文件。使用文本I/O将随机产生的100个整数写人文件,文件中的整数由空格分开。从文件中读回数据并以升序显示数据。源代码和运行结果截图:2.完成课本428页12.21;(数据排好序了吗?)编写一个程序,从文件SortedStrings.txt中读取字符串,并且给出报告,文件中的字符串是否以升序的方式进行存储。如果文件中的字符串没有排好序,显示没

2021-05-26 16:08:38 2210

原创 Java作业:异常处理实验

Java作业:异常处理实验NumberFormatException异常ArrayIndex0utBoundsException异常Illega1ArgumentException异常IllegalTriangleException异常课本426页12.1;代码结果课本427页12.3;代码结果课本427页12.4;代码package leiPackage;class NewLoan { private double annualInterestRate; pr

2021-05-26 13:58:40 670

原创 NumberFormatException异常【java】

【java】NumberFormatException异常课本P426 T12.1( NumberFormatException异常)程序清单7-9是一个简单的命令行计算器。注意,如果某个操作数非数值,程序就会中止。编写一个程序,利用异常处理器来处理非数值操作数;然后编写另一个不使用异常处理器的程序,达到相同的目的。程序在退出之前应该显示一条消息,通知用户发生了操作数类型错误(参见图12-12 )。源代码package leiPackage;import java.util.*;public

2021-05-26 11:47:25 3385

原创 链表操作集完整代码【C语言】详解版

链表操作集完整代码【C语言】详解版结果代码#include <stdio.h>#include <stdlib.h>typedef int ElementType;//声明结点结构typedef struct Link { ElementType elem;//存储自定义类型ElementType类型的元素,根据实际需要通过typedef修改ElementType的具体数据类型 struct Link *next;//指向直接后继元素的指针} link;

2021-05-26 00:02:05 135

原创 顺序表操作集C语言详解版完整可编译

顺序表操作集C语言详解版完整可编译顺序表操作集C语言源代码#include <stdio.h>#include <stdlib.h>#define MAX_SIZE 30 //对MAXSIZE进行宏定义,表示顺序表申请空间的大小typedef int ElementType;typedef struct SqList { ElementType * Data;//声明了一个名为Data的长度不确定的数组,也叫“动态数组” int length;//记录当前顺序表的

2021-05-25 23:51:33 262

原创 顺序表操作集(插入删除查找等)[C语言版]【完整可编译】

顺序表操作集(插入删除查找等)[C语言版]【完整可编译】详细注释顺序表操作集源代码#include <stdio.h>#include <stdlib.h>#define MAXSIZE 30#define ERROR -1typedef enum {false, true} bool;typedef int ElementType;typedef int Position;/*List结构定义如下:*/typedef struct LNode *List;st

2021-05-25 23:40:16 424

原创 中国大学MOOC-陈越、何钦铭-数据结构-2021春期末考试

中国大学MOOC-陈越、何钦铭-数据结构-2021春期末考试判断题单选题程序填空题编程题

2021-05-25 17:58:36 1036 1

原创 (利用继承实现MyStack)在程序清单11-10中,MyStack是用组合实现的。创建一个继承自 ArrayList的新的栈类MyStack。编写一个测试程序,提示用户输人5个字符串,逆序输出

(利用继承实现MyStack)在程序清单11-10中,MyStack是用组合实现的。创建一个继承自 ArrayList的新的栈类MyStack。编写一个测试程序,提示用户输人5个字符串,然后以逆序显示这些字符串。【课本389页11-10】运行结果代码import java.util.Scanner;//MyStack 使用继承实现堆栈class MyStack extends java.util.ArrayList<Object> { public boolean isEmp

2021-05-13 21:45:26 950

原创 (新的Account类)编程练习题9.7中给出了一个Account类,如下设计一个新的Account类;编写一个测试程序,创建一个年利率为1.5%、余额为1000,名字为George的account

(新的Account类)编程练习题9.7中给出了一个Account类,如下设计一个新的Account类;编写一个测试程序,创建一个年利率为1.5%、余额为1000,名字为George的account,打印账户清单,显示账户持有者名字、利率、余额和所有的交易。//题目要求交易类型为char数据类型,在我的代码中改成了String类型,如果你要有char类型,自行替换即可,并相应地把**”取款“** 改成**’W‘** 把存款改成D运行结果代码enjoy!...

2021-05-13 21:32:18 3108 1

原创 (Course类)改写程序清单10-6中的Course类,使用ArrayList代替数组来存储学生。不改变Course类之前的合约(即构造方法和方法的定义都不改变)-课本387页11.5;

(Course类) --- Java作业--课本387页11.5;改写程序清单10-6中的Course类,使用ArrayList代替数组来存储学生。不改变Course类之前的合约(即构造方法和方法的定义都不改变,但私有的成员可以改变)运行结果截图:源代码:...

2021-05-13 21:13:39 1014

原创 网页版贪食蛇【基于HTML+CSS+JavaScript】实现

最终效果HTML代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/style.css"> <title>贪食蛇</title></head><body> <div id="map" style="backg

2021-05-04 20:45:37 1771

原创 表达式求值【C语言实现】数据结构实验

表达式求值【C语言实现】数据结构实验实验内容表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。实验要求基本要求:以字符序列的形式从键盘输入语法正确的,不含变量的整型表达式。利用教科书表 3.1 给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书的例 3.1 演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。实现提示1 设置运算符栈和运算数栈辅助分析算符优先关系。2 在读入表达式的字符序列的同时

2021-05-04 20:33:56 12121 13

原创 字符频度统计【C语言实现】【数据结构C语言版第二版P109_3-(1)】

字符频度统计【C语言】【数据结构C语言版第二版P109_3-(1)】写一个算法统计在输人字符串中各个不同字符出现的频度并将结果存入文件(字符串中的合法字符为AZ这26个字母和09这10个数字。源代码#include <stdio.h>#include <stdlib.h>#include <string.h>void charCount() { int i,j,digit_num[10],cap_num[26]; char ch; FILE *fp =

2021-05-04 20:23:26 3081

原创 字符串替换算法:编写算法实现replace(s,v,t),【基于KMP算法】即将串s中所有出现的串v用串t替换【C语言实现】

编写算法实现replace(s,v,t),【基于KMP算法】即将串s中所有出现的串v用串t替换【C语言实现】源代码#include <stdio.h>#include <stdlib.h>#include <string.h>#define SIZE 1000//KMP算法中的next数组void Next(char*T,int *next) { int i=1; next[1]=0; int j=0; while (i<strlen(T))

2021-05-04 19:54:07 4732

原创 约瑟夫环(持有密码版和经典版)【C语言实现】数据结构实验

约瑟夫环(持有密码版和经典版)【C语言实现】约瑟夫环最开始的是没有密码的,如果有密码的话,约瑟夫和朋友是无法预测最后两个到底是哪两个位置的。现在,我们改编一下约瑟夫环,改成每个人手中都持有密码。实验内容约瑟夫环问题的一种描述是:编号为 1,2,…,n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个人开始按顺时针方向自 1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,将他的密码作为新的 m 值,从他在顺时针方向上的下一个人开始

2021-05-04 19:37:41 6087 1

原创 文学研究助手【C语言实现】数据结构实验

目录文学研究助手【C语言实现】->数据结构实验实验内容实验要求测试数据关键代码备注运行结果其他补充说明文学研究助手【C语言实现】->数据结构实验数据结构实验:文学研究助手【C语言实现】实验内容文学研究人员需要统计某篇英语小说中某些特定单词的出现次数和位置。设计一个实现此目标的文字统计系统。英文小说存放于一文本文件中,待统计的词汇集合要一次输入完毕,程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。实验要求约定小说的词汇一律不跨行。这样,每读入一行,就统计每个词在

2021-05-04 18:53:14 9517 14

空空如也

空空如也

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

TA关注的人

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