【java+Mysql】学生信息管理系统

学生信息管理系统是一种用于管理学生信息的软件系统,旨在提高学校管理效率和服务质量。本课程设计报告旨在介绍设计和实现学生信息管理系统的过程。报告首先分析了系统的需求,包括学生基本信息管理、成绩管理等功能。接着介绍了系统的设计方案,包括系统架构、数据库设计和界面设计等内容。在实现部分,报告详细描述了系统的开发过程和关键技术,如数据库连接等。最后,报告总结了系统的特点和优势,并提出了进一步改进和发展的建议。通过本课程设计,我们深入理解了学生信息管理系统的设计与实现,提高了软件开发能力和团队合作能力。

1  引言

随着信息技术的飞速发展,学校管理也逐渐转向数字化和信息化方向。学生信息管理系统作为学校管理的重要组成部分,承担着学生信息录入、查询、统计等功能,为学校管理者提供了便捷高效的工具。本课程设计旨在通过设计和实现一个全功能的学生信息管理系统,深入理解数据库设计、编程开发等相关知识,提升学生的信息管理能力和实践能力。本课程设计将采用intelij idea、Navicat作为开发平台,以信息录入与管理、信息查询为设计目标,结合学生信息管理的实际需求,设计并实现一个易用可靠的学生信息管理系统。通过本课程设计,学生将深入了解数据库设计与管理、编程开发等相关技术,提升自身信息管理和系统开发能力。本报告将围绕学生信息管理系统的设计与实现展开,首先介绍系统的需求分析,然后详细阐述系统的设计思路和功能模块,最后给出系统的实现和测试情况,并总结本次课程设计的收获和不足之处。通过本报告的撰写,旨在全面展示学生信息管理系统课程设计的全过程和成果,为今后的学习和实践积累经验,提供参考和借鉴。

1.1  研究背景和意义

1.1.1研究背景

信息化教育发展: 随着信息技术的迅速发展,教育管理也逐步向数字化、信息化转变。学生信息管理系统作为教育信息化建设的重要组成部分,受到了广泛关注和重视。

教育管理需求: 高效、准确地管理学生信息对于教育管理工作至关重要。学校管理者和教师需要一个功能完备、易用可靠的学生信息管理系统来支持学校的日常教学和管理工作。

技术发展趋势: 数据库技术、网络技术、软件工程等方面的不断发展,为学生信息管理系统的设计与实现提供了技术保障和支持。

1.1.2研究意义

提高管理效率: 学生信息管理系统的建立可以使学校管理者和教师更加便捷地进行学生信息的录入、查询和统计,提高管理效率和工作质量。

信息共享与交流: 学生信息管理系统可以促进学校内部各部门之间的信息共享和交流,提升教育教学工作的整体协调性和效率。

1. 2  国内外现状发展及趋势 

国内:中国的学生信息管理系统在不断提升数据管理和教务管理的效率,越来越多的学校采用数字化、网络化的管理方式,以满足日益增长的学生数量和复杂的管理需求。国外:国外学生信息管理系统也经历了类似的发展过程,许多国家的学校和教育机构都使用自己定制的系统或者商用系统,以支持学生信息管理、教学计划和成绩跟踪等功能。

趋势:智能化和个性化:未来学生信息管理系统将更加智能化,利用人工智能和大数据技术为学生提供个性化的学习支持和建议。云端化和移动化:越来越多的学校将信息管理系统迁移到云端,以提高系统的可访问性和可扩展性,并且系统将更加注重移动端的用户体验,支持学生、教师和家长随时随地访问和管理信息。数据安全和隐私保护:随着数据泄露和隐私问题的日益突出,学生信息管理系统将更加注重数据安全和隐私保护,采取更加严格的措施保护学生和教育机构的数据安全。

2 系统需求分析

2.1系统总体需求目标

信息记录与管理:系统能够有效地记录和管理学生的基本信息,如姓名、性别、年龄、联系方式、成绩等。

用户权限管理:对用户登录设置权限。

查询:提供查询学生信息的功能。

易用性与界面友好:界面简洁直观,操作方便。

性能优化:系统能够稳定运行,响应速度快。

2.2系统业务流程分析

学生信息录入:管理员通过系统录入新生或转入学生的基本信息。

成绩录入与管理:管理员将学生的成绩录入系统。系统会根据录入的学生的成绩进行评测。

信息查询:管理员可以通过系统查询学生信息、成绩信息等。

2.3系统功能需求分析

2.3.1学生管理功能:

学生信息录入与修改:添加学生信息,修改、删除、更新学生信息。

学生信息查询:根据姓名、学号等条件查询学生信息。

学生信息统计:统计学生人数、男女比例、年龄分布等信息。

2.3.2 成绩管理功能:

成绩录入与修改:教师录入学生的考试成绩或作业成绩。

成绩查询:学生查询自己的成绩,教师查询所教授课程学生成绩。

成绩统计:统计班级或课程的平均成绩、及格率等信息。

2.4系统性能分析

响应时间:系统对用户请求的响应时间,包括页面加载、查询、修改等操作的耗时情况,以确保用户体验良好。

并发处理能力:系统在高并发情况下的稳定性和性能表现,确保能够同时处理多个用户的请求而不降低性能。

数据库性能:数据库的读写速度、索引效率、连接池管理等方面的性能表现,对系统整体性能有重要影响。

系统资源利用率:监控系统的 CPU、内存、磁盘等资源利用率,避免资源瓶颈影响系统性能。

3 系统总体设计

3.1系统功能结构设计

学生信息管理系统:由登陆子系统、查询子系统、管理子系统。功能结构图如图3-1。

(1)登录子系统分为超级管理员登录、管理员登录以及学生端登录。它主要提供用户登录功能,并按各用户的权限使用本系统。

(2)查询子系统包含根据相应的条件进行模糊查询查询到其想要的学生信息。

(3)管理子系统包括学生信息的增加、删除等管理学生信息。

图3-1

3.2数据库设计

3.2.1 概念结构设计

(1)学生管理子系统:

在进入页面之前需要进行登录,在学生在学号和密码正确的情况下进入系统。学生可以修改个人的密码,查询选修课程、学习成绩,还可以查询、选择课程。各实体之间的关系:学生和课程:多对多,学生和老师:多对多,学生和专业:多对一。

  1. 管理员管理子系统:

老师在工号和密码对应的情况下进入系统。

老师可以查询老师的个人信息和修改个人密码,可以查询授课课程信息,可以查询选修课程的学生,可以对学生的成绩进行录入、修改和查询。修改个人的密码

查询授课课程,查询选修课程的学生信息,对学生的成绩进行录入、修改和查询。各实体之间的关系:老师和课程:多对多,老师和专业:多对一。

E-R图:

图3-2

3.2.2 逻辑结构设计

关系模型

班级(编号,班级名称,备注)

学生(编号,姓名,学号,性别,所在院系,班级id,成绩等级)

用户(编号,用户名,密码)

学院(编号,学院名称)

关系模式

t_school_class(id,className,classDesc)

t_student(id,name,sn,sex,dept,classld,score)

t_user(id,userName,password)

dept(id,dept)

基础数据处理

1. t_school_class班级

2. t_student学生

3. t_user用户

4.dept学院

3.2.3 物理结构设计

数据库存储:在数据库服务器上,可以创建多个数据库实例来存储不同类型的数据,如学生信息、课程信息、成绩信息等。每个数据库实例包含多个表,每个表包含相应的字段来存储具体的数据。

3.2.4 数据库建设 

1.建立数据库

2.使用数据库

3.创建表

DROP TABLE IF EXISTS `dept`;CREATE TABLE `dept`  (`id` int(11) NOT NULL COMMENT '编号',`dept` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学院',PRIMARY KEY (`id`) USING BTREE,INDEX `dept`(`dept` ASC) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;DROP TABLE IF EXISTS `t_school_class`;CREATE TABLE `t_school_class`  (`id` int(11) NOT NULL AUTO_INCREMENT,`className` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`classDesc` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;DROP TABLE IF EXISTS `t_student`;CREATE TABLE `t_student`  (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`sn` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`dept` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`classId` int(11) NULL DEFAULT NULL,`score` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,INDEX `classId`(`classId` ASC) USING BTREE,INDEX `t_student_ibfk_2`(`dept` ASC) USING BTREE,CONSTRAINT `t_student_ibfk_1` FOREIGN KEY (`classId`) REFERENCES `t_school_class` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;DROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user`  (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,`password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

3.3 系统安全性设计

在系统功能的安全性需求上,应该从保密性、完整性、身份可认性、可用性以及可控性等多个角度进行分析。具体有!

(1)保密性。对于系统中涉及的信息对没有授权的实体,不可进行对信息的查看与修改。

(2)完整性。信息在存储和上传过程中不会发生改变。

(3)身份可认性。在使用系统时应对用户信息进行确认,避免信息混乱,导致信息泄露

(4)可用性。保证授权的用户在使用时不会发生不能使用的情况。

3.4 本章小结

系统总体设计主要由系统功能结构设计,数据库设计和系统安全性设计组成,以此来满足用户在使用时的体验感,提高系统使用时的稳定性。

4 系统实现

 4.1 系统架构实现

本系统主要包括三种业务流程:登陆业务流程、学生个人信息业务流程、班级业务流程。该系统采用多层架构,视图类用作表示层。除了向客户提供信息之外,它还获得管理员或教师或学生输入的信息。用户输入的简单控制。表单获得用户输入信息后,提交给视图,在这里首先转换获得的数据,然后将相应的数据封装为数据传输对象。视图将封装的数据提交给模型,并使用提交给视图的数据对象来执行复杂的业务逻辑操作。对数据库的访问是在DAO级别。DAO层实现特定的数据库操作方法,服务层调用DAO层方法来实现数据库操作。通过应用这种多层体系结构,提高了系统的可维护性、可扩展性和可移植性。

登陆业务流程概述:输入用户名、密码,登录到系统,对相关信息进行增、删、改、查以及导入和导出。进行完操作之后,点击安全退出,退出系统。管理员业务流程图如图3-2所示。

图4.1.1业务流程图

从功能模块上可以分为如下几大模块:学生信息的导入、导出模块、删除学生信息模块、修改学生信息模块、查询学生信息模块、添加学生信息模块。主要功能模块如图4.1.2所示。

 

 

   

图4.1.2 学生个人信息模块图

班级信息模块类似有删除班级信息模块、修改班级信息模块、查询班级信息模块、添加班级信息模块。主要功能模块如图4.1.3所示。 

图4.1.3 班级信息模块图

4.2 系统功能实现

4.2.1登录界面实现

首先新建用户登录所对应的实体user类,一个user对象代表一个用户,此外,用户表中有的字段,都需要在这个类中反应出来,并且创建空参和满参构造方法,以及set、get和toString方法。

用户实体类:

public class User {private int id; // 编号private String userName; // 用户名private String password; // 密码public User() {super();// TODO Auto-generated constructor stub}public User(String userName, String password) {super();this.userName = userName;this.password = password;}

(set和get方法以及同toString方法省略)

第二步就是对登录的逻辑处理,首先是登陆名以及密码的非空校验,两者有一个为空就不继续访问数据库,直接返回给用户错误的信息,提醒用户更正登录信息。

图4.2.1.1登录界面图

当用户名或者密码为空的时候点击登录就会出现提示信息,如图4.2.1.2

图4.2.1.2登录界面提示信息图

代码部分的实现是使用了awt框架中的事件处理函数

private void loginActionPerformed(ActionEvent evt) {String userName=this.userNameTxt.getText();String password=new String(this.passwordTxt.getPassword());if(StringUtil.isEmpty(userName)){JOptionPane.showMessageDialog(null, "用户名不能为空!");return;}if(StringUtil.isEmpty(password)){JOptionPane.showMessageDialog(null, "密码不能为空!");return;}User user=new User(userName,password);Connection con=null;try {con=dbUtil.getCon();User currentUser=userDao.login(con, user);if(currentUser!=null){dispose();new MainFrm().setVisible(true);}else{JOptionPane.showMessageDialog(null, "用户名或者密码错误!");}} catch (Exception e) {e.printStackTrace();}finally{try {dbUtil.closeCon(con);} catch (Exception e) {e.printStackTrace();}}}

4.2.2 班级信息模块设计

首先新建班级所对应的实体studentClass类,一个studentClass对象代表一个班级,此外,班级表中有的字段,都需要在这个类中反应出来,并且创建空参和满参构造方法,以及set、get和toString方法。

班级实体类:

public class SchoolClass {private int id; // 编号private String className; // 班级名称private String calssDesc; // 备注public SchoolClass() {super();}public SchoolClass(String className, String calssDesc) {super();this.className = className;this.calssDesc = calssDesc;}public SchoolClass(int id, String className, String calssDesc) {super();this.id = id;this.className = className;this.calssDesc = calssDesc;}

(set和get方法以及同toString方法省略)

第二步就是对班级信息逻辑部分的实现了,包括增加删除修改查询,其中添加是单独放在了一个界面,而查询、修改以及删除放在了同一个界面,这样便于维护,如图所示

图4.2.2.1班级信息界面图

点击添加则会调用添加部分的界面函数,弹出信息添加的界面如图所示,可以输入班级的名称,以及对班级的详细描述进行添加,在输入错误的情况下也可以点击重置,就会清空所有填写的信息,这样便于操作。

图4.2.2.2班级信息界面图

点击维护则会调用维护部分的界面函数,弹出信息维护的界面如图所示,可以修改班级的名称,以及对班级的详细描述进行修改。

图4.2.2.2班级信息界面图

实现班级信息维护的代码如下,其中也是使用了awt中的事件处理函数,以及swing中的函数实现界面的显示跳转弹框等交互的操作。

private void bookTypeAddActionPerformed(ActionEvent evt) {String className=this.classNameTxt.getText();String classDesc=this.classDescTxt.getText();if(StringUtil.isEmpty(className)){JOptionPane.showMessageDialog(null, "班级信息名称不能为空!");return;}SchoolClass schoolClass=new SchoolClass(className,classDesc);Connection con=null;try{con=dbUtil.getCon();int n=schoolClassDao.add(con, schoolClass);if(n==1){JOptionPane.showMessageDialog(null, "班级信息添加成功!");resetValue();}else{JOptionPane.showMessageDialog(null, "班级信息添加失败!");}}catch(Exception e){e.printStackTrace();JOptionPane.showMessageDialog(null, "班级信息添加失败!");}finally{try {dbUtil.closeCon(con);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

4.2.3 学生信息模块设计

首先新建学生所对应的实体student类,一个student对象代表一个用户,此外,用户表中有的字段,都需要在这个类中反应出来,并且创建空参和满参构造方法,以及set、get和toString方法。

用户实体类:

public class Student {private int id; // 编号private String name; // 姓名private String sn; // 学号private String sex; // 性别private String dept; // 所在院系private Integer classId; // 班级Idprivate String className; // 班级名称private String score; // 成绩等级public Student() {super();}public Student(String name, String sn, String sex, String dept, Integer calssId, String address) {super();this.name = name;this.sn = sn;this.sex = sex;this.dept = dept;this.classId = calssId;this.score = score;}

(set和get方法以及同toString方法省略)

第二步就是对学生个人信息逻辑部分的实现了,包括增加删除修改查询,其中添加是单独放在了一个界面,而查询、修改以及删除放在了同一个界面,这样便于维护,如图所示

图4.2.3.1学生信息界面图

其中手工填写学生的姓名学号、所在院系和成绩等级,性别通过单选框选择,班级通过下拉菜单进行选择。

图4.2.3.2学生信息添加界面图

在学生信息维护的界面可以对学生信息进行检索,可以通过学生的姓名、学生的编号、学生所在的班级进行筛选,点击选择某位学生的信息,就可以对该学生的信息进行操作了,可以修改其名字、性别、所在的学院、学生的学号、所属的班级以及家庭住址。也可以点击删除、删除该学生的信息。

图4.2.3.3学生信息修改/删除界面图

实现个人信息维护的代码如下,其中也是使用了awt中的事件处理函数,以及swing中的函数实现界面的显示跳转弹框等交互的操作,学生信息的字段信息比较多需要注意要对应字段赋值。

private void studentUpdateActionPerformed(ActionEvent evt) {String id=this.idTxt.getText();if(StringUtil.isEmpty(id)){JOptionPane.showMessageDialog(null, "请选择要修改的记录");return;}String sname=this.nameTxt.getText();String sn=this.snTxt.getText();String dept=this.deptTxt.getText();String address=this.addressTxt.getText();if(StringUtil.isEmpty(sname)){JOptionPane.showMessageDialog(null, "学生信息名称不能为空!");return;}if(StringUtil.isEmpty(sn)){JOptionPane.showMessageDialog(null, "学生学号不能为空!");return;}if(StringUtil.isEmpty(dept)){JOptionPane.showMessageDialog(null, "学生学院不能为空!");return;}String sex="";if(manJrb.isSelected()){sex="男";}else if(femaleJrb.isSelected()){sex="女";}SchoolClass schoolClassTmp=(SchoolClass) schoolClassJcb.getSelectedItem();int scId=schoolClassTmp.getId();Student book=new Student(Integer.parseInt(id),  sname, sn, sex, dept,  scId,  address);Connection con=null;try{con=dbUtil.getCon();int addNum=studentDao.update(con, book);if(addNum==1){JOptionPane.showMessageDialog(null, "学生信息修改成功!");resetValue();this.fillTable(new Student());}else{JOptionPane.showMessageDialog(null, "学生信息修改失败!");}}catch(Exception e){e.printStackTrace();JOptionPane.showMessageDialog(null, "学生信息修改失败!");}finally{try {dbUtil.closeCon(con);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

学生的编号是信息维护逻辑操作的关键所在,首先需要通过学生的编号id查出该学生的各类信息反显在前台界面,然后根据前台更新后的信息,先映射到学生的实体类然后通过数据库dao层同步更新数据库的信息,最后达到学生信息的维护。

5 测试

5.1.1数据一致性测试

本次测试主要检测添加和修改班级信息的功能部分是否符合预期,通过输入不同的班级信息确认表的建立

表5.1.1 添加和修改班级信息

班级名称

班级信息

是否成功

计科1班

某个班级

计科2班

老师带的最好班级

null

某个班级

本次测试主演检测添加班级功能部分是否符合预期,通过输入班级名称为空的情况,如表5.1.2所示,若班级名称为空都能添加成功,所以这个系统的数据库在后期的维护中要进行修改,不符合实际情况,实际情况就是,在学校内,班级名称是必不可少的。当然,本小组成员在后期维护中会不定期检查系统,完善系统。

表5.1.2 添加和修改班级测试表

班级名称

班级信息

是否通过

计科1班

某个班级

计科2班

最好的班级

null

某个班级

本次测试主要检测学生信息添加部分是否符合预期,通过输入不同的名字和学号,包括两者为空的情况,如表5.1.3所示,当学号、名字、学院有一者为空时,均无法实现信息的添加,符合实际情况,而当输入的成绩为空时,这段信息符合部分考生因缺考等原因无成绩,符合预期。

表5.1.3 输入学生成绩信息测试表

名字

学号

学生学院

成绩等级

是否通过

小鸣

20209054

信工院

A

null

12345678

传艺院

B

陈哥

null

信工院

A

张三

23145678

null

A

李四

45678912

经管院

null

本次测试主要检测学生信息的查询功能部分是否符合预期,通过输入不同的姓名、学号、班级包括为空的情况,测试它的实体完整性。如表5.1.4所示,当输入学生姓名,学号,班级为空时,可以出现该学生的相关信息;输入学生学号。而姓名班级为空时,同样可以出现该学生信息,而姓名学号为空时,输入如班级,则显示为2班全班信息,当姓名、学号、班级全为空时,则显示所有数据。符合预期。

表5.1.4 学生信息查询测试

姓名

学号

班级

学院

是否通过

陈璆鸣

null

null

null

null

12345678

null

null

null

null

计科2班

null

null

null

null

信工院

null

null

null

null

本次测试主要检测管理员操作修改学生信息功能部分是否符合预期,在选择相应的信息后,在相关内容里进行修改,测试实体完整性。如表5.1.7所示,若没有选择相应的信息则无法进行修改。所以,只有当数据库内有相应的信息,并且选择了相应信息并进行输入才能判断正确,通过测试。

表5.1.7 修改学生成绩信息测试表

选择

姓名

性别

学院

学号

班级

成绩

是否通过

陈璆鸣

信工

12345678

计科1班

A+

null

null

null

null

null

null

否(未选择内容

5.1.2数据库的性能测试

应用软件除了功能外,很重要的一部分就是软件的性能,而对于数据库系统,数据库性能的好坏会直接影响应用软件的性能,这部分的测试,一般手工测试就显得无能为力了,这时就要借助自动化的测试软件,例如:DataFactory,DataFactory 是一种强大的数据产生器,它允许开发人员和测试人员很容易产生百万行有意义的正确的测试数据库,该工具支持DB2、Oracle、Sybase、SQL Server 数据库。这样,就可以模拟出应用软件长期使用后,海量数据存储的数据库的性能状况。从而尽早发现问题,进行数据库性能的优化。(未来的设想和维护)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux mmp文件映射补充(自用)

addr一般为NULL由OS指明,length所需长度(4kb对齐),prot(权限,一般O_RDWR以读写), flag(MAP_SHARED(不刷新到磁盘上,此进程独有)和MAP_PRIVATE(刷新…

Nginx openresty web服务 与 Go 原生web服务性能对比

1 概述 Nginx采用的是IO复用模型,能处理超高并发。 Go语言采用协程,能轻量级的处理超高并发。 那么在不考虑业务逻辑复杂的前提下,即假如将Nginx和Go都提供一个/test接口,并在接口逻辑中都只是让其做20毫秒的耗时操作&#xff0c…

[创业之路-377]:企业法务 - 有限责任公司与股份有限公司的优缺点对比

有限责任公司(简称“有限公司”)与股份有限公司(简称“股份公司”)是我国《公司法》规定的两种主要公司形式,二者在设立条件、治理结构、股东权利义务等方面存在显著差异。以下从核心特征、设立条件、治理结构、股东权…

QEMU源码全解析 —— 块设备虚拟化(21)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(20) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 特此致谢! 上一回开始解析blockdev_init函数,讲到了其中调用的blk_new_open函数,该函数的作用…

蓝桥杯中的知识点

总结: 这次考的并不理想 比赛前好多知识点遗漏 但到此为止已经结束了 mod 是 模运算(Modulo Operation)的缩写,表示求两个数相除后的 余数 10mod31 (a % b) (7%21) 1e9代表1乘以10的9次方&#xff0c…

批量替换多个 Word 文档中的指定图片

在 Word 文档中,我们可以插入各种各样的图片,比如插入 logo、插入设计图、施工图等等。在某些情况下,我们也会碰到需要将 Word 文档中某张图片替换成其它图片的场景,比如将旧的 Logo 替换成新的 Logo。当我们有大量的 Word 文档需…

基于微信小程序的中医小妙招系统的设计与实现

hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的在校大学生…

Java 8 新特性深度解析:现代编程的转折点

精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 Java 8 是 Java 发展史上的重要里程碑,它引入了函数式编程范式、增强了集合处理能力,并彻底革新了日期时间处理方式。本文将通过代码示…

鹧鸪云平台实时追踪任务进度的核心机制

一、‌三维可视化监控‌ BIMGIS融合建模‌:通过无人机测绘与三维建模技术生成施工场地数字孪生模型,支持实时查看各标段三维模型与施工进度的匹配度,偏差超过5%自动触发预警。 进度匹配度分析‌:中央数据中台整合施工规划、资源…

【Spring Boot】MyBatis多表查询的操作:注解和XML实现SQL语句

1.准备工作 1.1创建数据库 (1)创建数据库: CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;(2)使用数据库 -- 使⽤数据数据 USE mybatis_test;1.2 创建用户表和实体类 创建用户表 -- 创建表[⽤⼾表…

ISO15189认证有什么要求?ISO15189认证流程

ISO 15189 认证要求及流程详解 ISO 15189 是国际标准化组织(ISO)针对 医学实验室质量和能力 的认证标准,适用于医院检验科、第三方医学实验室、血站等机构。该认证确保实验室的技术能力和管理体系符合国际标准,提高检测结果的准确…

【Linux】调试工具gdb的认识和使用指令介绍(图文详解)

目录 1、debug和release的知识 2、gdb的使用和常用指令介绍: (1)、windows下调试的功能: (2)、进入和退出: (3)、调试过程中的相关指令: 3、调试究竟是在…

【Pytorch 中的扩散模型】去噪扩散概率模型(DDPM)的实现

介绍 广义上讲,扩散模型是一种生成式深度学习模型,它通过学习到的去噪过程来创建数据。扩散模型有很多变体,其中最流行的通常是文本条件模型,它可以根据提示生成特定的图像。一些扩散模型(例如 Control-Net&#xff0…

Milvus(3):数据库、Collections说明

1 数据库 Milvus 在集合之上引入了数据库层,为管理和组织数据提供了更有效的方式,同时支持多租户。 1.1 什么是数据库 在 Milvus 中,数据库是组织和管理数据的逻辑单元。为了提高数据安全性并实现多租户,你可以创建多个数据库&am…

【质量管理】“武藏曲线”和“微笑曲线”的差异

什么是“微笑曲线” 在电子制造领域,“微笑曲线”(Smiling Curve)是由宏碁集团创始人施振荣于1992年提出的一个理论模型,用于描述产业链中不同环节的附加价值分布。该曲线因形状类似“微笑”而得名,核心观点是&#xf…

【html】a标签target属性以及扩展应用

进行页面新窗口打开跳转&#xff0c;我们使用 <a> 标签即可实现。 <a>标签可以通过设置target的值来控制此链接的打开方式&#xff0c;一般可取以下值&#xff1a; _self&#xff1a;默认值&#xff0c;链接在当前窗口打开 _blank&#xff1a;链接在新窗口打开 …

一文读懂什么是 MCP、A2A、ANP

在人工智能快速发展的今天&#xff0c;智能体&#xff08;Agent&#xff09;正逐步成为互联网交互的新主体。它们不仅能替代人类完成复杂任务&#xff0c;还能通过协作形成更高效的网络生态。然而&#xff0c;这一切的实现离不开通信协议的支持。本文将解析智能体领域的三大核心…

Python3网络爬虫开发--爬虫基础

网络爬虫基础 1.1 HTTP基本原理 1.1.1 URI和URL URI即统一资源标志符,URL即统一资源定位符。 有这样一个链接,http://test.com/test.txt,在这个链接中,包含了访问协议https,访问目录(即根目录),资源名称(test.txt)。通过这样的链接,可以在互联网上找到这个资源,这…

OpenCV颜色变换cvtColor

OpenCV计算机视觉开发实践&#xff1a;基于Qt C - 商品搜索 - 京东 颜色变换是imgproc模块中一个常用的功能。我们生活中看到的大多数彩色图片都是RGB类型的&#xff0c;但是在进行图像处理时需要用到灰度图、二值图、HSV&#xff08;六角锥体模型&#xff0c;这个模型中颜色的…

Hadoop----高可用搭建

目录标题 **什么是高可用&#xff1f;****⭐搭建的步骤**一.jdk**安装配置**- **要点**: 二.zookeeper**集群配置**- **要点** 三.Hadoop高可用的搭建- **要点**①环境变量的配置②配置文件的修改 ③内容分发④集群任务的初次启动 什么是高可用&#xff1f; 通过冗余设计 自动…