javaWeb学生信息管理系统2
一、学生信息管理系统SIMS
一款基于纯Servlet技术开发的学生信息管理系统(SIMS),在设计中没有采用SpringMVC和Spring Boot等框架。系统完全依赖于Servlet来处理HTTP请求和管理学生信息,实现了信息的有效存储、检索和更新,为教育管理提供了一种轻量级的解决方案。
二、项目简介
为了更好地满足教学信息管理的需求以及对学生和老师信息的有效管理,学生信息管理系统应运而生。该系统通过在线平台提供信息管理服务,以实现对数据的高效处理。这不仅方便了对学生和教师各类信息的管理,还支持大数据分析,从而更好地了解和优化教育过程。
三、技术栈
Jsp+Servlet+Layui+Druid+JDBC-Template+JQuery+Js+Ajax+Json+EL/JSTL+BeanUtils
服务器: Tomcat_8.5.53
数据库: MySQL_5.6.46
开发工具:IDEA_2019.1.3
界面制作:Layui
三 、项目使用说明
-
导入结构和数据:sims.sql
-
解压下载zip重命名sims-master文件夹为sims,IDEA打开该sims项目
-
修改配置数据库连接文件:druid.properties
管理员 帐号:admin 密码:admin
学生 帐号:1812123206 密码:123
老师 帐号:9912123206 密码:123
四、 功能描述
五、数据库设计
admin表:
存储管理员信息,包括管理员ID(a_id)和密码(a_password)。
示例数据:一条管理员记录,ID为’admin’,密码为’admin’。
college_department_class表:
存储学院、专业和班级信息。
示例数据:包括应用数学学院、软件工程学院等不同学院的专业和班级信息。
complaint表:
记录学生的投诉信息,包括投诉ID(id)、投诉日期(cdate)和投诉内容(content)。
示例数据:包括不同日期和内容的投诉记录。
course表:
存储课程信息,包括课程ID(c_id)、课程名称(c_name)、教师ID(t_id)和课程信息(c_info)。
示例数据:包括不同课程和教师的记录。
notify表:
记录系统通知信息,包括通知ID(id)、通知日期(notifyDate)和通知内容(notifyInfo)。
示例数据:包括不同日期和内容的通知记录。
photo表:
存储学生照片信息,包括照片ID(photo_id)和照片名称(photo_name)。
示例数据:包括不同学生的照片记录。
select_course表:
记录学生选课信息,包括学生ID(s_id)、课程ID(c_id)和分数(score)。
示例数据:包括不同学生选择的课程和分数记录。
student表:
存储学生信息,包括学生ID(s_id)、学院、专业、班级、姓名、性别、年龄、地址、电话、邮箱和密码。
示例数据:包括不同学生的个人信息。
teacher表:
存储教师信息,包括教师ID(t_id)、姓名、性别、学历、职称和密码。
六、代码结构
七、功能实现部分截图
八、代码
login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>登录页</title><link rel="stylesheet" href="./css/layui.css"><link rel="stylesheet" href="./css/modules/layer/default/layer.css"><link rel="stylesheet" href="./css/login.css"><link rel="stylesheet" href="./css/style.css"><link rel="shortcut icon" href="./images/favicon.ico" type="image/x-icon" /><script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script><style type="text/css"></style>
</head>
<body>
<div class="frame-main"><div class="login-main"><header class="layui-elip">学生信息管理系统</header><form class="layui-form" action="" name="formf" method="post"><div class="layui-input-inline"><label class="layadmin-user-login-icon layui-icon layui-icon-username"></label><input type="text" name="id" id="id" value="${loginid}" required lay-verify="required" placeholder="用户名(学号或工号)" autocomplete="off"class="layui-input"></div><div class="layui-input-inline"><label class="layadmin-user-login-icon layui-icon layui-icon-password"></label><input type="password" value="${loginpassword}" id="password" name="password" required lay-verify="required" placeholder="密码" autocomplete="off"class="layui-input"></div><div class="layui-input-inline" style="width: 56%; margin-bottom: 0px;"><label class="layadmin-user-login-icon layui-icon layui-icon-vercode"></label><input type="password" name="verifycode" id="code" required lay-verify="required" placeholder="验证码" autocomplete="off"class="layui-input"></div><a href="javascript:refreshCode()"><img style="padding-left: 14px;" src="${pageContext.request.contextPath}/checkCodeServlet" title="刷新验证码" id="vcode" draggable="false"></a><div style="padding-left: 54px;padding-bottom: 6px;"><input type="radio" name="roles" value="student" title="学生" checked><input type="radio" name="roles" value="teacher" title="老师"><input type="radio" name="roles" value="admin" title="管理员"></div><div class="layui-input-inline login-btn"><button type="button" onclick="a()" lay-submit lay-filter="login" class="layui-btn" id="login" name="submit-login">登录</button></div><hr/><!--<div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-primary">QQ登录</button></div><div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-normal">微信登录</button></div>--><p><a href="register.jsp" class="fl">立即注册</a><div class="tooltip"><span class="tooltiptext">${login_msg}</span></div><a href="forget.jsp" class="fr">忘记密码?</a></p></form></div>
</div>
<footer style="position:absolute;bottom:0;width:100%;height:30px; text-align: center;">© 2018-2019.YOYLING.COM</footer>
<script src="layui.js"></script>
<script src="./lay/modules/layer.js"></script><script type="text/javascript">function refreshCode() {var vcode = document.getElementById("vcode");vcode.src = "${pageContext.request.contextPath}/checkCodeServlet?time="+new Date().getTime();}
</script>
<script type="text/javascript">layui.use('form',function(){var form = layui.form;//刷新界面 所有元素form.render();});
</script><script type="text/javascript">// $("#login").on("click", function(){function a() {var num = document.getElementsByName("roles");var checked_value = "student";for (var i = 0; i < num.length; i++) {var radio = num[i];if (radio.checked) {checked_value = radio.value;}}var id = document.getElementById("id").value;var password = document.getElementById("password").value;var verifycode = document.getElementById("code").value;if (id=='' || password=='' || verifycode=='') {return;}else {if (checked_value=="student") {document.formf.action="${pageContext.request.contextPath}/loginServlet?roles=student";document.formf.submit();}else if (checked_value=="teacher") {document.formf.action="${pageContext.request.contextPath}/loginServlet?roles=teacher";document.formf.submit();}else {document.formf.action="${pageContext.request.contextPath}/loginServlet?roles=admin";document.formf.submit();}}}
</script>
</body>
</html>
register.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html lang="en">
<head><meta charset="UTF-8"><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>注册页</title><link rel="stylesheet" href="./css/layui.css"><link rel="stylesheet" href="./css/style.css"><link rel="stylesheet" href="./css/login.css"><link rel="shortcut icon" href="./images/favicon.ico" type="image/x-icon" />
</head>
<body>
<div class="frame-main"><div class="login-main"><header class="layui-elip">学生信息管理系统</header><!-- 表单选项 --><form class="layui-form" id="registerForm" action="${pageContext.request.contextPath}/registerServlet" method="post"><div class="layui-input-inline"><!-- 用户名 --><div class="layui-inline" style="width: 100%"><label class="layadmin-user-login-icon layui-icon layui-icon-username"></label><input type="text" id="user" value="${studentid}" name="studentid" required lay-verify="required" placeholder="请输入学号" autocomplete="off" class="layui-input"></div></div><!-- 密码 --><div class="layui-input-inline"><div class="layui-inline" style="width: 100%"><label class="layadmin-user-login-icon layui-icon layui-icon-password"></label><input type="password" id="pwd" value="${password}" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input"></div></div><!-- 确认密码 --><div class="layui-input-inline"><div class="layui-inline" style="width: 100%"><label class="layadmin-user-login-icon layui-icon layui-icon-password"></label><input type="password" id="rpwd" value="${repassword}" name="repassword" required lay-verify="required" placeholder="请确认密码" autocomplete="off" class="layui-input"></div></div><div class="layui-input-inline" style="width: 56%;"><label class="layadmin-user-login-icon layui-icon layui-icon-vercode"></label><input type="password" id="verifycode" name="verifycode" required lay-verify="required" placeholder="验证码" autocomplete="off"class="layui-input"></div><a href="javascript:refreshCode()"><img style="padding-left: 14px; margin-top: -15px;" src="${pageContext.request.contextPath}/checkCodeServlet" title="刷新验证码" id="vcode" draggable="false"></a><div class="layui-input-inline login-btn" style="width: 100%"><button type="submit" lay-submit lay-filter="sub" class="layui-btn">注册</button></div><hr style="width: 100%" /><p style="width: 100%"><a href="login.jsp" class="fl">立即登录</a><div class="tooltip"><span class="tooltiptext">${msg}</span></div><a href="forget.jsp" class="fr">忘记密码?</a></p><i class="layui-icon" id="ri" style="color: green;font-weight: bolder; position: relative; left: 200px; top: -265px;" hidden></i><i class="layui-icon" id="wr" style="color: red; font-weight: bolder; position: relative; left: 200px; top: -265px;" hidden>ဆ</i><i class="layui-icon" id="pri" style="color: green;font-weight: bolder; position: relative; left: 180px; top: -213px;" hidden></i><i class="layui-icon" id="pwr" style="color: red; font-weight: bolder; position: relative; left: 180px; top: -213px;" hidden>ဆ</i><i class="layui-icon" id="rpri" style="color: green;font-weight: bolder; position: relative; left: 160px; top: -160px;" hidden></i><i class="layui-icon" id="rpwr" style="color: red; font-weight: bolder; position: relative; left: 160px; top: -160px;" hidden>ဆ</i></form></div><span id="s_id"></span>
</div>
<footer style="position:absolute;bottom:0;width:100%;height:30px; text-align: center;">© 2018-2019.YOYLING.COM</footer><script src="layui.js"></script>
<script type="text/javascript">function refreshCode() {var vcode = document.getElementById("vcode");vcode.src = "${pageContext.request.contextPath}/checkCodeServlet?time="+new Date().getTime();}
</script>
<script type="text/javascript">layui.use(['form','jquery','layer'], function () {var form = layui.form;var $ = layui.jquery;var layer = layui.layer;//添加表单失焦事件//验证表单$('#user').blur(function() {var studentid = $(this).val();$.get("findStudentServlet",{studentid:studentid},function (data) {if (data.studentExsit) {$('#wr').removeAttr('hidden');$('#ri').attr('hidden','hidden');layer.open({title: '错误',content: data.msg,icon: 2});$('#user').val("");} else {}});});// 为密码添加正则验证$('#pwd').blur(function() {var reg = /^[\w]{3,12}$/;if(!($('#pwd').val().match(reg))){//layer.msg('请输入合法密码');$('#pwr').removeAttr('hidden');$('#pri').attr('hidden','hidden');layer.msg('请输入3-6位合法密码');$('#pwd').val("");}else {$('#pri').removeAttr('hidden');$('#pwr').attr('hidden','hidden');}});$('#user').blur(function() {var reg = /^[0-9]{10}$/;if(!($('#user').val().match(reg))){//layer.msg('请输入合法密码');$('#wr').removeAttr('hidden');$('#ri').attr('hidden','hidden');layer.msg('请输入10位数字学号');$('#user').val("");}else {$('#ri').removeAttr('hidden');$('#wr').attr('hidden','hidden');}});//验证两次密码是否一致$('#rpwd').blur(function() {if($('#pwd').val() != $('#rpwd').val() || $('#rpwd').val()=='' || $('#pwd').val()==''){$('#rpwr').removeAttr('hidden');$('#rpri').attr('hidden','hidden');// layer.msg('两次输入密码不一致!');$('#rpwd').val("");}else{$('#rpri').removeAttr('hidden');$('#rpwr').attr('hidden','hidden');};});});
</script>
</body>
</html>
message.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.io.*,java.util.*,javax.servlet.*,javax.servlet.http.*" %>
<%@ page import="java.rmi.ServerException" %>
<%@ page import="java.nio.charset.Charset" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<html>
<head><title></title>
</head>
<body>
<%//定义上传文件的最大字节int MAX_SIZE = 102400 * 102400;//创建根路径的保存变量String rootPath;//声明文件读入类DataInputStream in = null;FileOutputStream fileOut = null;//取得互联网程序的绝对地址String realPath = request.getSession().getServletContext().getRealPath("/");realPath = realPath.substring(0, realPath.indexOf("\\out"));
// out.print(realPath);//创建文件的保存目录rootPath = realPath + "\\web\\upload\\";//取得客户端上传的数据类型String contentType = request.getContentType();try {if (contentType.indexOf("multipart/form-data") >= 0) {//读入上传数据in = new DataInputStream(request.getInputStream());int formDataLength = request.getContentLength();if (formDataLength > MAX_SIZE) {out.print("上传的字节不可以超过" + MAX_SIZE + "字节");return;}//保存上传文件的数据byte dataBytes[] = new byte[formDataLength];int byteRead = 0;int totalBytesRead = 0;//上传的数据保存在byte数组里面while (totalBytesRead < formDataLength) {byteRead = in.read(dataBytes, totalBytesRead, formDataLength);totalBytesRead += byteRead;}//根据byte数组创建字符串String file = new String(dataBytes, StandardCharsets.UTF_8);//取得上传数据的文件名String saveFile = file.substring(file.indexOf("filename=\"") + 10);saveFile = saveFile.substring(0, saveFile.indexOf("\n"));saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1, saveFile.indexOf("\""));int lastIndex = contentType.lastIndexOf("=");//取得数据的分隔字符串String boundary = contentType.substring(lastIndex + 1, contentType.length());//创建保存路径的文件名String fileName = rootPath + saveFile;int pos;pos = file.indexOf("filename = \"");pos = file.indexOf("\n", pos) + 1;pos = file.indexOf("\n", pos) + 1;pos = file.indexOf("\n", pos) + 1;int boundaryLocation = file.indexOf(boundary, pos) - 4;//取得文件数据的开始的位置int startPos = ((file.substring(0, pos)).getBytes()).length;int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length;File checkFile = new File(fileName);if (checkFile.exists()) {out.println("<p>" + saveFile + "文件已经存在.</p>");return;}//检查上传文件的目录是否存在File fileDir = new File(rootPath);if (!fileDir.exists()) {fileDir.mkdirs();}//创建文件的输出类fileOut = new FileOutputStream(fileName);//保存文件的数据fileOut.write(dataBytes, startPos, (endPos - startPos));fileOut.close();out.print("<b>文件上传成功</b>");} else {String content = request.getContentType();out.print("上传的文件类型是" + content + "类型的,请上传目录mutipart/form-data类型的文件");}} catch (Exception ex) {throw new ServerException(ex.getMessage());}
%>
</body>
</html>
九、联系与交流
扣:969060742 完整代码 sql 程序资源
相关文章:

javaWeb学生信息管理系统2
一、学生信息管理系统SIMS 一款基于纯Servlet技术开发的学生信息管理系统(SIMS),在设计中没有采用SpringMVC和Spring Boot等框架。系统完全依赖于Servlet来处理HTTP请求和管理学生信息,实现了信息的有效存储、检索和更新…...
Linux Shell 019-文本行处理工具sed
Linux Shell 019-文本行处理工具sed 本节关键字:Linux、Bash Shell、文本行处理工具 相关指令:sed、 sed介绍 sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的。sed是一行一行读取文件…...

Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷
Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷 一:fdisk磁盘分区并挂载1.查看磁盘分区信息2.分区3.强制系统重新读取分区(避免重启系统)4.格式化分区5.创建挂载目录6.设置开机自动挂载:7.验证并自动挂载(执行了该命令不需要重启系统)8.查看挂载007.异常情况处…...
【leetcode】栈与队列总结
本文内容来自于代码随想录 栈 用栈实现队列 两个栈实现队列。思路:两个栈分别表示入栈和出栈。 入队:直接入栈出队: a. 出栈为空,先把入栈中的元素全部放到出栈中(相当于反过来,这样在出栈的时候先进的元…...
[EFI]HP Spectre 13 v102nl电脑 Hackintosh 黑苹果efi引导文件
硬件型号驱动情况主板 HP Spectre 13 v102nl 处理器Intel Core i7-7500U (7th gen - Kaby Lake)已驱动内存8 GB LPDDR3-1866 SDRAM已驱动硬盘512 GB Toshiba NVMe™ M.2 SSD已驱动显卡Intel HD Graphics 620已驱动声卡Conexant CX8200 (0x2008)已驱动网卡I1211 Gigabit Etherne…...

【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec
【Pytorch】学习记录分享7——PyTorch自然语言处理基础-词向量模型Word2Vec 1. 词向量模型Word2Vec)1. 如何度量这个单词的?2.词向量是什么样子?3.词向量对应的热力图:4.词向量模型的输入与输出,其实…...

用Xshell连接虚拟机的Ubuntu20.04系统记录。虚拟机Ubuntu无法上网。本机能ping通虚拟机,反之不能。互ping不通
先别急着操作,看完再试。 如果是:本机能ping通虚拟机,反之不能。慢慢看到第8条。 如果是:虚拟机不能上网(互ping不通),往下一直看。 系统是刚装的,安装步骤:VMware虚拟机…...
人机对话--关于意识机器
人机对话–关于意识机器 这段内容是我和《通义千问》的对话。这本身展示的是人工智能的效果,同时这里面的内容也有人工智能相关,与各位分享。 我:阿尼尔赛斯 《意识机器》这本书写的是什么? 通义千问: 阿尼尔赛斯教…...
八股文打卡day16——计算机网络(16)
面试题:TCP连接是如何确保可靠性的? 我的回答: 1.数据分块控制。应用数据被分成被认为最适合传输的数据块大小,再发送到传输层,数据块被称为数据报文段或数据段。 2.序列号和确认应答。TCP为每一个数据包分配了一个序…...

Java Object浅克隆深克隆
对象克隆 把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。 实现Cloneable接口,表示当前类的对象就可以被克隆,反之,表示当前类的对象就不能克隆。 如果一个接口里面没有抽象方法,表示当前的接口…...

概率的 50 个具有挑战性的问题 [8/50]:完美的桥牌
一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇…...

自动驾驶学习笔记(二十四)——车辆控制开发
#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—>传送门 文章目录 前言 控制算法 控制标定 控制协议…...

【起草】【第十二章】定制ChatGPT数字亲人
身为普普通通的我们,不知道亲人们在哪一天就要离开这个世界 ? 作为普普通通的程序员,我们可以为我们的亲人做点什么 ? 让他们以数字资产形式留在人世间 ? 对话|6岁女孩病逝捐器官,妈妈:她去…...
MySQL数据库索引
索引的定义 索引是一个排序的列表,包含索引字段的值和其对应的行记录的数据所在的物理地址 索引的作用 加快表的查询速度,还可以对字段排序 索引的副作用 会额外占用磁盘空间;更新包含索引的表会花费更多的时间,效率会更慢 …...

【LLM 】7个基本的NLP模型,为ML应用程序赋能
在上一篇文章中,我们已经解释了什么是NLP及其在现实世界中的应用。在这篇文章中,我们将继续介绍NLP应用程序中使用的一些主要深度学习模型。 BERT 来自变压器的双向编码器表示(BERT)由Jacob Devlin在2018年的论文《BERT:用于语言…...

数字人私人定制
数字人是什么? 在回答这个问题之前,我们先回答另一个问题,人如何与人工智能交流?目前可以通过文字、语音、电脑屏幕、手机屏幕、平板、虚拟现实设备等和人工智能交流,为了得到更好的交流体验,人工智能必然…...
CollectionUtils
使用 CollectionUtils 类的常用方法 在Java开发中,我们经常需要对集合进行各种操作,而Apache Commons Collections库提供了一个方便的工具类 CollectionUtils,其中包含了许多实用的方法。在这篇博客中,我们将深入了解一些常用的方…...

很想写一个框架,比如,spring
很想写一个框架,比如,spring。 原理很清楚,源码也很熟悉。 可惜力不从心,是不是可以找几个小弟一起做。...

Java集合/泛型篇----第五篇
系列文章目录 文章目录 系列文章目录前言一、说说LinkHashSet( HashSet+LinkedHashMap)二、HashMap(数组+链表+红黑树)三、说说ConcurrentHashMap前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...