初级Java必看的数据类型与常量变量

目录 一、Java的数据类型 1、数据类型细致划分 2、数据类型他是做什么的? 3、怎么用数据类型? 二、Java的常量与变量 Java常量 常量代表程序在运行过程中,不可再次改变的值; Java变量 知识总结 一、Java的数据类型 我们所学的Java,最基础的应该就是数据类型了,应该大部分计算机编程语言都是从数据类型学起的,数据类型就像盖房子的图纸一样,看不懂就盖不好房子。 1、数据类型细致划分 根据上方的数据类型划分图可以看出,基本数据类性分为四大类八个函数分别为:byte、short、int、long、float、double、char、boolean,看到这里就有读者有疑问了,那么引用数据类型怎么区分呢? 其实我们只需要记住八个基本数据类型就好了,剩下的就是引用数据类型,数据类型只分为两大类,一个是基本数据类型,一个是引用数据类型。 2、数据类型他是做什么的? 数据类型其实就相当于我们使用能装东西的容器一样,比如我们装书本用的是书包而不是水桶,我们装水用的是水桶,而不是书包,用什么容器装什么东西。划分数据类型就是区分数据、储存数据的,而不是随便乱装,你是整数类型的数据就用整数类型来装,如果换成char或者让别的类型来装,就会报错或得到的数据会不一致。 3、怎么用数据类型? 首先我们储存数据,要确定你要用什么类型的容器来装,然后给容器定义一个名字,就像起名字似的,方便你区分它装的什么。 接下来以整数类型来做一个示范: pubilc static void main(String[] args){ int number = 1;//创建一个整数类型int,名字是number,把数字1赋值(储存到)number里 Syetem.out.println(number);//打印输出 } 二、Java的常量与变量 Java常量 1、常量的定义 常量代表程序在运行过程中,不可再次改变的值; 2、常量的特点 1、常量就是固定的值,代表过程中经常用到的值,便于计算,比如圆周率是3.1415926或者等等一些不可改变得值。 2、常量可以用来代表一个含义,比如我们在编写小游戏的时候,控制人物移动,上下左右,比如1==>上、2==>下、3==>左、4==>右,在这个时候1234就不能再做数学数字使用了,因为他代表的是某种含义。 3、什么样的值才算常量呢? 1、常量首先是一个固定的值,比如数字1,小数3.14、字符型'a'、ture等等都是常量,他们都、缘无故不会改变的数据,以上举出的例子都是基本数据类型,我们从此认为,基本数据类型都是常量。 2、除了以上的常量,还有一个特殊的常量,String类型的,他是一个引用数据类型,但是他的值,我们可以暂定为常量,比如"abc"等等字符串类型的都是常量。 Java变量 1、变量的定义 1、变量是指在程序运行过程中,可以被改变的量。 2、变量是一个内存小空间。 3、变量空间在创建的时候必须指定数据类型,以及变量空间的名字 4、变量空间内只能储存一个变量内容(值或者引用)。 2、创建变量的注意事项 1、命名的规则 关于命名的规则,这里不推荐使用中文,因为他可能显得不专业,符号的话有两个(英文符号 _ $),数字还好,就是不允许用数字开头,用英文字母命名是要群分大小写的。 2、命名的规约 类名字建议首字母大写,如果有两个以上的单词,所有首字母都大写比如BigDog 变量名建议首字母大写,如果有两个以上的单词,之后的首字母大写比如bigDog 遵循驼峰式命名规约 所有名字都需要见名知义,为了增强程序的可读性。 需要注意: 1、变量是一个空间,可以只创建空间,里面不存放内容。 2、变量空间创建后是没有默认的内容也就是空的。 3、空的变量空间不能拿来使用否则编译错误。 知识总结 1、数据类型分为引用数据类型和基本数据类型,我们只需要记住基本数据类型,剩下的就是引用数据类型,而使用数据类型的条件有两个,第一是要确定数据的类型,第二是创建一个名字,之后就是赋值了。 2、常量与变量的区别其实都很容易理解,一个是不可随意改变的值,另一个是不可固定的量。 今天你学废了嘛😂

手机解锁方法:8个顶级的 Android 手机解锁软件

一般来说,太简单的密码是不安全的,所以我们设置一个安全的密码,可能会稍微复杂一点。然而,我们可能经常会忘记复杂的密码并锁定我们的 Android 智能手机。 8个顶级的 Android 手机解锁软件 如果您遇到过这种情况并且正在寻找一种有效的方法来解锁您的 Android 设备而不丢失数据,您可以看看这篇介绍 8 款最佳 Android 手机解锁软件的文章。 1、4uKey安卓手机解锁 在所有解锁手机的程序中,4uKey安卓手机解锁是最好的手机解锁软件。无论您是忘记了安卓手机的锁屏密码,还是只是拿到了一台不知道锁屏密码的二手安卓设备,它都可以解锁安卓锁屏图案/PIN/密码/指纹而不会丢失数据。并且支持三星、华为、OPPO、小米、Vivo等所有主流安卓品牌。 4uKey安卓手机解锁-奇客软件​https://www.geekersoft.cn/geekersoft-unlockgo-android.html 主要特征: * 移除4种屏幕锁:图案、PIN、密码和指纹。 * 在没有任何技术知识的情况下按照屏幕上的提示解锁 Android 手机。 * 解锁一些安卓手机而不会丢失数据。 * 支持三星、华为、Oppo、小米、Vivo等所有主流安卓品牌。 2、doctorSIM doctorSIM是我要介绍的第二款安卓手机解锁软件。要用它来解锁你的手机,你必须在它的网站上填写一个请求,其中包括你的安卓品牌、手机型号、位置、当前网络运营商等。支持团队收到你的表格和付款后,他们会发送您收到一封电子邮件,告诉您如何解锁您的 Android 手机。如果您在此过程中遇到任何问题,也可以随时与他们联系。 主要特征: * 通过其运营商的 IMEI 解锁 Android 手机。 * 与许多 Android 手机类型完全兼容。 * 良好的客户服务支持。 * 解锁列入黑名单的手机。 * 独特的支付程序。 3 、iMyFone LockWiper(Android) 第三款手机解锁软件是iMyFone LockWiper (Android),它可以通过FRP解锁功能解除手机上的图案、PIN、指纹、人脸和密码锁。此外,它广泛兼容 6,000 多种 Android 设备。 主要特征: * 移除五种锁屏方式:图案、PIN、密码、指纹和人脸锁。 * 移除手机上的 FRP 锁。 * 无需任何密码即可解锁 Android 手机。

一文带你安装opencv和常用库(保姆级教程少走80%的弯路)

0.导语 离上一个opencv安装保姆级教程发布已经过去了快一年了,这一年来我收到了来自很多C友的鼓励。打算学opencv的各位朋友都会在安装opencv和各种库过程中浪费掉60%的时间和精力;博主在这一年来尝试各种各样的安装方法,全网搜集各种资料总结了一篇非常详细的opencv和常用库的安装教程,若有帮助记得三连,你的三连是我进步的动力。 1. 正文 1.1下载和安装软件 本文我会通过miniconda+jupyter lab的形式带大家安装opencv; 有很多朋友会问为什么不是anaconda+jupyter lab 或者直接pycharm 来安装呢?在这里我回答一下大家的疑问,通过这一年来的学习和实战,我发现anaconda它带了很多不必要的库并且自身很重,像我这样只能买得起轻薄本的学生党连跑demo都跑不了;pycharm也是比较笨重的编译器,配置opencv的过程更让人恶心,一不小心就会出错显然不适合刚学opencv的C友; 废话少说开始安装: WINDOWS安装包下载链接 32位电脑安装上面的,64位安装下面的;电脑的位数怎么看? 右击此电脑→点击属性 我以64位为举例,目前大多数电脑都是64位操作系统;下面可以参考我的安装步骤去安装 如果大家以上安装全成功那大家已经成功了快一半了; 1.2 了解miniconda常用指令 安装好之后,打开Anaconda Powershell Prompt (miniconda3); 注意:是Powershell Prompt,不是Prompt; 开启之后是下面这个黑色窗口: miniconda是通过创建虚拟环境的方式运行python代码的;所以我们得了解一些常用的指令;比如创建一个虚拟环境,怎么删除虚拟环境等; 常用的五个指令 1.创建环境: conda create --name 环境名称(英文) 2.进入环境: conda activate 环境名称 3.退出环境: conda deactivate 4.删除环境: conda remove --name 环境名称 --all 5.列出所有环境: conda env list 创建环境:比如我想创建一个名为xiaore的虚拟环境 输入y确认; 下面我们进入这个环境试试; 这样已经算成功地进入了虚拟环境; 接下来就是退出虚拟环境: 接下来我们列出我们的所有环境: 这里面base是我们的基础环境,xiaore是我们刚刚创建的虚拟环境; 接下来我们试试删除环境这个命令(删除环境之前必须得退回基础环境base里面在进行删除); 1.3 开始安装opencv 上面的几个步骤都是在现在的这个步骤打基础;安装opencv之前我们必须给我们的虚拟环境里现安装python,然后去修改pip和conda的源;安装opencv和 一些常用库; 那我还是举例刚刚那个虚拟环境为举例演示一下; 1.3.1第一步安装python 打开miniconda,进行 conda create --name 环境名称 python=3.

万字长文:Stable Diffusion 保姆级教程

万字长文:Stable Diffusion 保姆级教程 2022年绝对是人工智能爆发的元年,前有 stability.ai 开源 Stable Diffusion 模型,后有 Open AI 发布 ChatGPT,二者都是里程碑式的节点事件,其重要性不亚于当年苹果发布iPhone,Google推出Android。它们让AI不再是一个遥不可及的技术名词,而是触手可及、实实在在的智能应用工具。 不同于ChatGPT可以直接体验,Stable Diffusion需要自己部署后才能使用,所以国内了解的人还不多。但Stable Diffusion绝对是AI图像生成领域的ChatGPT级的杀手产品——它使用超级简单、完全开源免费,生成的图片以假乱真、震惊四座。今天,我将用万字保姆级教程教你如何一步一步在本地运行起Stable Diffusion,并手把手教你如何生成以假乱真的AI生成图片。 文章目录 什么是Stable Diffusion核心概念自动编码器U-Net文本编码器 推理过程 快速体验Stable Diffusion1. Dream Studio2. Replicate3. Playground AI4. Google Colab5. BaseTen 本地部署Stable Diffusion系统配置需求环境准备安装Git安装Python配置国内源 安装Stable Diffusion Web Ui模型安装 使用Stable Diffusion Web Ui界面介绍txt2imgimg2img 界面汉化prompt语法示例模型PromptNegative prompt参数设置生成 Stable Diffusion资源列表1. Hugging Face2. Civitai3. Discord4. Rentry for SD 什么是Stable Diffusion Stable Diffusion是一种潜在扩散模型(Latent Diffusion Model),能够从文本描述中生成详细的图像。它还可以用于图像修复、图像绘制、文本到图像和图像到图像等任务。简单地说,我们只要给出想要的图片的文字描述在提Stable Diffusion就能生成符合你要求的逼真的图像! Stable Diffusion将“图像生成”过程转换为逐渐去除噪声的“扩散”过程,整个过程从随机高斯噪声开始,经过训练逐步去除噪声,直到不再有噪声,最终输出更贴近文本描述的图像。这个过程的缺点是去噪过程的时间和内存消耗都非常大,尤其是在生成高分辨率图像时。Stable Diffusion引入潜在扩散来解决这个问题。潜在扩散通过在较低维度的潜在空间上应用扩散过程而不是使用实际像素空间来减少内存和计算成本。 与DALL·E和Midjourney相比,Stable Diffusion最大的优势是开源,这就意味着Stable Diffusion的潜力巨大、发展飞快。Stable Diffusion已经跟很多工具和平台进行了集成,且可用预训练模型数量众多(参见Stable Diffusion资源列表)。正是由于社区的活跃,使得Stable Diffusion在各种风格的图像生成上都有着出色的表现,随便给大家看几张我生成的图片: ChilloutMix生成的写实韩风小姐姐 SynthwavePunk生成的国风小姐姐 InkPunk Diffusion生成的泼墨油彩风格的布偶猫 核心概念 为了方便大家更好地理解后面的内容,下面对Stable Diffusion中的几个核心概念做简单的说明。Stable Diffusion的详细原理请参考《Stable Diffusion原理详解》。

HBuilderX uni-app简单实现静态登录页面(实例)

本章用到......uni-app页面跳转uni.navigateTo方法、uni.navigateBack方法。uni-app简单实现邮箱验证码发送点击后读秒样式。登录账号、密码正则表达式验证等 适合刚入门的小伙伴,大佬就没必要看了 静态页面!静态页面!没有绑定后端数据接口 目录 一、HBuilderX下载 二、创建uni-app项目 pages.json配置文件 三、登录页面 login.vue页面 login.css文件 四、手机短信验证页面 phoneVerify.vue页面 phoneVerify.css文件 五、找回密码页面 findBack.vue页面 findBack.css文件 六、邮箱找回密码页面 mailFandBack.vue页面 mailFandBack.css文件 七、邮箱发送验证成功页面 emailFinish.vue页面 emailFinish.css文件 一、HBuilderX下载 https://dcloud.io/hbuilderx.html 官网直接下载解压即可 二、创建uni-app项目 文件-新建-项目 我这里直接选择默认模板,Vue版本、uniCloud自行选择即可 创建完成后自动生成文件夹 文件名这里自动生成原本是index,文件名自行定义即可 页面文件自己新建Vue文件即可 pages.json配置文件 注意!!这个文件后续如果需要新添加新页面时这个文件里一定要配置参数不然页面出不来,代码格式看下面代码↓↓↓↓↓↓↓↓↓ { // 设置单页面 "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { "path": "pages/login/login", "style": { // 设置顶部导航栏 "navigationBarTitleText": "", "navigationBarBackgroundColor": "#FFFFFF" } }, { "path": "pages/login/findBack", "style": { "navigationBarTitleText": "找回密码" } }, { "path": "pages/login/mailFindBack", "style": { "navigationBarTitleText": "邮箱找回密码" } }, { "

史上最全若依管理系统修改页面标题和logo

整理若依框架去除 若依标题、logo及其他内容。 一:网页上的logo 进入ruoyi-ui --> public --> favicon.ico,把这个图片换成你自己的logo 二:页面中的logo 进入ruoyi-ui --> src --> assets --> logo --> logo.png,把这个图片换成你自己的logo 三:网页标题 进入ruoyi-ui --> src --> layout --> components --> Sidebar --> Logo.vue, 将里面的 title: '若依管理系统', 换成自己网站的名称。 四:登录名称 将ruoyi-ui --> src -->views 下的login.vue文件中的 <h3 class="title">若依后台管理系统</h3> 修改成自己的管理后台名称 五:注册系统显示名称 ruoyi-ui --> src -->views 下的register.vue 文件中的 <h3 class="title">若依后台管理系统</h3> 修改成自己管理后台名称 六:网页标题 将这个位置下的vue.config.js const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题 换成自己网站标题 七:配置文件名称 将这个名称 VUE_APP_TITLE = 若依管理系统

Java生态/Redis中如何使用Lua脚本

文章目录 一、安装LUA1)简单使用 二、lua语法简介1、注释1)单行注释2)多行注释 2、关键字3、变量1)全局变量2)局部变量 4、数据类型1)Lua数组2)字符串操作 5、if-else6、循环1)for循环1> 数组for循环2> 泛型for循环 2)while循环3)break提前退出循环 7、函数 三、Java中执行Lua脚本1、字符串方式2、文件方式3、Luaj概述1)线程安全问题2)性能问题 四、Redis + Lua(EVAL命令)1、EVAL命令使用示例 五、总结 一、安装LUA Mac上安装LUA很简单,直接使用brew相关命令; brew install lua 使用lua -v命令可以看到lua已经安装完毕。 1)简单使用 创建一个test.lua文件,内容为: 执行命令: lua test.lua 输出为: 二、lua语法简介 Lua 提供了交互式编程和脚本式编程: 交互式编程:直接在命令行中输入语法,可以立即执行并查看到执行效果。脚本是编程:编写脚本文件,然后再执行。 官方文档:http://www.lua.org/manual/5.4/ 1、注释 lua提供两种注释方式:单行注释和多行注释 1)单行注释 使用两个减号; -- 2)多行注释 --[[ 多行注释 多行注释 --]] 2、关键字 下列为 Lua 的保留关键字,和Java一样 保留关键字不能作为常量或变量。 3、变量 默认的情况下,定义一个变量都是全局变量;如果要用局部变量 需要声明为local; 1)全局变量 全局变量不需要声明,给一个变量赋值后便创建了这个全局变量; 访问一个没有初始化的全局变量也不会出错,只不过会得到结果:nil 想删除一个全局变量,只需要将变量赋值为nil;换言之,当且仅当一个变量不等于nil时,这个变量存在。 此外,一般以下划线开头连接一串大写字母的名字(比如 _VERSION)被保留用于 Lua 内部全局变量。 2)局部变量 -- 局部变量赋值 local b=2 4、数据类型 Lua 是一个动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。 Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。

MySQL数据库设计作业 ——《网上书店系统》数据库设计实验报告

数据库设计作业——《网上书店系统》数据库设计 一、功能需求 普通用户:可以进行最基础的登陆操作,可浏览图书、按类别查询图书、查看 图书的详细信息,还可以注册成为会员。会员:需要填写详细信息(真实姓名、性别、手机号、地址、邮箱等),可浏览图书、按类别查询图书、查看图书的详细信息,在此基础上,还可以订购图书、生成订单、查看订单。管理员:可以浏览图书、按类别查询图书、查看图书的详细信息,需要查看订单、处理订单进行发货处理,同时可以查看、修改个人信息,更新图书信息,如增加、删除图书、更新库存量、修改商品名称、增加图书的属性列等。图书:需要管理员进行编排,按图书编号、书名、图书类型、作者、出版社、出版日期、定价、折扣、库存数量等信息分类。 二、数据库概念结构设计 1. 概念结构设计(E-R图) 2. 逻辑结构设计(数据库表、关系模式) 普通用户(账号 ,密码)会员(账号,密码,会员名,注册时间,手机号,邮箱,地址,性别,真实姓名)注册(账号) 外键:账号管理员(管理员编号,管理员密码,管理员名称,邮箱,手机号)订单(订单编号,会员账号,下单日期,订购数量,送货方式,支付方式,卖出 总价,收货地址,收货人联系方式,收货人姓名,发货日期,负责该订单的 管理员(编号))订购(账号,订单编号) 外键:账号,订单编号处理(管理员编号,订单编号) 外键:管理员编号,订单编号图书(图书编号,书名,图书类型,作者,出版社,出版日期,定价,折扣,库 存数量,会员账号) 外键:会员账号订单详情(订单编号,图书编号,订购数量,订购价格) 外键:订单编号,图书编号 规范化分析: 普通用户关系中账号为主键,其中函数依赖有:账号—>密码 因为在普通用户关系中不存在非主属性对码的部分函数依赖和传递函数依赖,所以普通用户关系是属于3NF。会员关系中账号为主键,其中函数依赖有:账号—>密码,账号—>会员名,账号—>注册时间,账号—>手机号,账号—>邮箱,账号—>地址,账号—>性别,账号—>真实姓名 因为在会员关系中不存在非主属性对码的部分函数依赖和传递函数依赖,所以会员关系是属于3NF。管理员关系中管理员编号为主键,其中函数依赖有:管理员编号—>管理员密码,管理员编号—>管理员名称,管理员编号—>邮箱,管理员编号—>手机号 因为在管理员关系中不存在非主属性对码的部分函数依赖和传递函数依赖,所以管理员关系是属于3NF。订单关系中订单编号为主键,其中函数依赖有:订单编号—>会员账号,订单编号—>下单时间,订单编号—>订购总数,订单编号—>送货方式,订单编号—>支付方式,订单编号—>卖出总价,订单编号—>收货地址,订单编号—>收货人联系方式,订单编号—>收货人姓名,订单编号—>发货日期,订单编号—>负责该订单的管理员(编号) 因为在订单关系中不存在非主属性对码的部分函数依赖和传递函数依赖,所以订单关系是属于3NF。图书关系中图书编号为主键,其中函数依赖有:图书编号—>书名,图书编号—>图书类型,图书编号—>作者,图书编号—>出版社,图书编号—>出版日期,图书编号—>定价,图书编号—>折扣,图书编号—>库存数量 因为在图书关系中不存在非主属性对码的部分函数依赖和传递函数依赖,所以图书关系是属于3NF。 3. 建立和管理基本表 表1 会员表 属性字段名数据类型是否为空/约束条件账号ACCOUNT_NUMBERCHAR(20)主键密码PASSWORDVARCHAR(50)非空地址ADDRESSVARCHAR(50)可以空会员名MEMBER_IDVARCHAR(50)可以空注册时间REGTIMEVARCHAR(50)可以空手机号PHONE_NUMBERVARCHAR(50)可以空邮箱POSTBOXVARCHAR(50)可以空性别SEXVARCHAR(8)可以空真实姓名NAMEVARCHAR(50)可以空 表2 管理员表 属性字段名数据类型是否为空/约束条件管理员编号ADMINISTRATOR_IDCHAR(20)主键管理员密码AD_CODECHAR(30)非空管理员名称AD_NAMEVARCHAR(20)非空邮箱E_MAILVARCHAR(50)可以空手机号TELEPHONEVARCHAR(20)可以空 表3 订单表 属性字段名数据类型是否为空/约束条件订单编号ORDER_IDCHAR(20)主键会员账号NUMBERCHAR(30)非空下单日期DATEVARCHAR(20)可以空订购总数SUMINT非空送货方式WAYVARCHAR(20)非空支付方式PAYMENT_WAYVARCHAR(20)非空卖出总价TOTAL_PRICEFLOAT可以空收货地址SHIPPING_ADDVARCHAR(50)非空收货人联系方式CONTACTVARCHAR(20)非空收货人姓名CONSIGNEEVARCHAR(50)非空发货日期ISSUANCE_DATEVARCHAR(20)可以空负责该订单的管理员ADMINISTRATOR_IDVARCHAR(20)非空 表4 图书表 属性字段名数据类型是否为空/约束条件图书编号BOOK_IDCHAR(20)主键书名BOOK_NAMECHAR(30)非空图书类型TYPEVARCHAR(20)可以空作者AUTHORVARCHAR(20)非空出版社PRESSVARCHAR(50)非空出版日期PRESS_DATEVARCHAR(20)非空定价PRICEFLOAT非空折扣DISCOUNTFLOAT非空库存数量STOCK_NUMINT可以空会员账号MEM_NUMCHAR(20)非空 4. 使用SQL语句建立基本表 CREATE TABLE MEMBER ( ACCOUNT_NUMBER CHAR(20) NOT NULL, PASSWORD VARCHAR(50) NOT NULL, ADDRESS VARCHAR(50), MEMBER_ID VARCHAR(50), REGTIME VARCHAR(50), PHONE_NUMBER VARCHAR(50), POSTBOX VARCHAR(50), SEX VARCHAR(8), NAME VARCHAR(50) ) CREATE TABLE ADMINISTRATOR ( ADMINISTRATOR_ID CHAR(20) NOT NULL, AD_CODE CHAR(30) NOT NULL, AD_NAME VARCHAR(20) NOT NULL, E_MAIL VARCHAR(50), TELEPHONE VARCHAR(20) ) CREATE TABLE ORDER_SHOW ( ORDER_ID CHAR(20) NOT NULL, NUMBER CHAR(30) NOT NULL, DATE VARCHAR(20), SUM INT NOT NULL, WAY VARCHAR(20) NOT NULL, PAYMENT_WAY VARCHAR(20) NOT NULL, TOTAL_PRICE VARCHAR(20), SHIPPING_ADD VARCHAR(50) NOT NULL, CONTACT VARCHAR(20) NOT NULL, CONSIGNEE VARCHAR(50) NOT NULL, ISSUANCE_DATE VARCHAR(20), ADMINISTRATOR_ID VARCHAR(20) NOT NULL ) CREATE TABLE BOOK ( BOOK_ID CHAR(20) NOT NULL, BOOK_NAME CHAR(30) NOT NULL, TYPE VARCHAR(20), AUTHOR VARCHAR(20) NOT NULL, PRESS VARCHAR(50) NOT NULL, PRESS_DATE VARCHAR(20) NOT NULL, PRICE FLOAT NOT NULL, DISCOUNT FLOAT NOT NULL, STOCK_NUM INT, MEM_NUM CHAR(20) NOT NULL ) 5.

大学社团管理系统-毕业论文

2020届本科生毕业论文 存档编号 湖北文理学院 毕 业 论 文 论文题目: 大学社团管理系统 学 院: 计算机工程学院 专 业: 软件工程 班 级: 2016级 学 号: 姓 名: 指导教师: 2020 年 6 月10 日 声 明 本人xxx,学号xxxxxx,系湖北文理学院计算机工程学院软件工程专业16xx班学生,校内指导教师xx,校外指导老师xx。所做论文内容主体均为原创,无任何抄袭、剽窃他人劳动成果的行为。如有发现此类行为,本人愿意为此承担一切道义及法律责任。 特此声明。 学生签名:王 2020年 6 月 10 日 大学社团管理系统的设计与实现 摘要:现如今的大学里面社团层出不穷,各式各样的社团都有,而以前的社团管理方面更多的是交给学校来处理。而由于社团越来越多,原来的社团管理肯定处理不过来了,这个时候就需要设计出来一个社团管理系统帮助高校来进行管理。 本大学社团管理系统是基于SSM架构来设计的,其他的相关技术还包括MYSQL数据库以及运用到B/S架构。同时此系统会拥有多个不同权限的用户,每个用户完成自己应有的功能,这样就能够帮助系统更好的来管理大学社团。 研究本系统的目的就是为了代替原来的社团管理系统,在效率以及可操作性,可扩展性方面进行提高,让学校的大学社团管理与计算机进行结合,给大学生更好的社团环境。所以,设计本社团管理系统是很有必要的。 关键词:SSM架构;JAVA编程语言;MYSQL数据库;大学社团管理 Design and implementation of University community management system Abstract: Nowadays, there are numerous associations in universities, and various associations exist. However, in the past, the management of associations was left to the university to deal with.

滤波算法 | 无迹卡尔曼滤波(UKF)算法及其MATLAB实现

目录 简介UKF滤波滤波流程和公式MATLAB程序 结论 简介 本文接着分享位姿跟踪和滤波算法中用到的一些常用程序,希望为后来者减少一些基础性内容的工作时间。以往分享总结见文章:位姿跟踪 | 相关内容目录和链接总结(不断更新中~~~) 本文分享无迹卡尔曼滤波(UKF)算法的一些基本公式和MATLAB程序。 UKF滤波 首先简单介绍一下UKF滤波的优点和公式。本文偏工程性介绍,因此UKF的原理就不再过多介绍了。 滤波流程和公式 首先需要明确滤波模型中的状态变量、状态方程和测量方程。 状态变量:x=[ ] 状态方程:x(k+1) = f(x(k)) 测量方程:z(k+1) = h(x(k+1)) 很简单对吧? 接着求解介绍求解流程 : 相比于一般的卡尔曼滤波,UKF算法增加了两次无迹变换,公式为: 权重和方差计算公式为: Sigma点传播: 计算x的预测值和协方差矩阵: 4. 得到一组新的Sigma点: 5. 代入观测方程中,得到测量量的预估值: 获得观测量的预测值和协方差矩阵: 更新状态变量和协方差矩阵: 另外,每次写论文画卡尔曼流程图中,都找不到参考的模板。我自己画了个滤波流程图,不一定符合每个人的审美,以备参考: MATLAB程序 MATLAB程序如下,包括main.m函数和ukf.m函数: main.m P=[] Q=[] R=[] f=@(x)[] h=@(x)[] z_msm = [] x0=[] ux = x0; % 滤波初始值 for k=2:n_before_colli [xukf(:,k), P] = ukf(f_before,ux,P,h_before,z_pre(:,k),Q,R); ux=xukf(:,k); % k时刻的状态变量估计值 end ukf.m function [X,P]=ukf(ffun,X,P,hfun,Z,Q,R) x_temp = X; L=numel(X); m=numel(Z); % alpha=1e-2; alpha = 2; ki=0; beta=2; % alpha = 2; % ki=3-L; % beta=2; lambda=alpha^2*(L+ki)-L; c=L+lambda; Wm=[lambda/c 0.

SpringBoot实战——个人博客项目

目录 一、项目简介 二、项目整体架构 数据库模块 后端模块 前端模块 三、项目具体展示 四、项目的具体实现 1、一些准备工作 🍎数据库、数据表的创建 🍎设置数据库和MyBatis的配置 🍎将前端项目引入到当前项目中 2、登录注册模块 🍑实体类的创建 🍑前端后端交互 🍑后端流程 🍑 登录功能的实现和注册大同小异 3、统一功能的处理 🍎统一异常处理 🍎统一数据格式返回 🍎统一用户的登录验证(用户登录拦截器) 🍎过程中遇到的bug 4、博客列表页面的实现(更新中...) 5、博客详情页面的实现 6、博客的修改和删除功能 7、博客列表分页功能的实现 8、随机加盐的实现 一、项目简介 项目名称:个人博客系统 主要操作的对象是:文章和用户,用户可在该系统上发表自己的博客,查看自己或别人已经发表的文章 需要用到两张表:userinfo(用户表)、articleinfo(文章表) 需要实现的功能: 登录+注册 博客的分页列表功能 新增发表博客 修改、删除自己的博客 项目技术栈 SSM(SpringBoot + SpringMVC + MyBatis) MySQL jQuery 项目亮点 手动对用户密码实现随机加盐 统一异常处理、拦截器 用户登录持久化(session内存) 分页功能 二、项目整体架构 数据库模块 两张表:用户表 + 文章表 后端模块 控制层(controller包)——》控制器 服务层(service包)——》服务类 持久层--数据访问层(java目录下mapper类 + resources目录下的mapper.xml)——》mapper 实体层(model包)——》实体类 工具层(config包+util包)——》统一异常处理、统一返回、随机加盐 前端模块 前端设计到7个页面 login.html登录页 reg.html注册页 blog_list.html总的博客列表页——》用到了blog_l myblog_list.html个人博客列表页

eclipse创建第一个java web项目并运行

为了能编写java web项目,建议安装支持javaee开发的eclipse版本。 1.下载eclipse 地址: https://www.eclipse.org/downloads/packages/release/2021-03/r 2.解压后启动eclipse 3.新建java web工程 设置项目名称,指定tomcat的版本及路径 4. 添加一个jsp页面 在jsp中如输入如下代码: <% String str = "hello world!"; out.println(str); %> 5. 运行项目 修改配置 运行之前需要先修改一个设置,否则访问会有问题 运行 在项目上点击右键 run as > Run on server 如果你愿意,可以在浏览器访问 你的web项目

「题解」关于sizeof陷阱,无符号整形,变种水仙花数

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀 sizeof陷阱以及无符号整形 让我们看一下这段代码:​​​​​​​ int main(){ int x = -1; unsigned int y = 2; if (x > y){ printf("x is greater"); } else{ printf("y is greater"); } return 0; } 大家会认为结果是多少呢?结果会是"y is greater"?让我们看一下运行结果吧 为什么会出现这种结果呢,由于x是有符号数-1,内存中是全1,当有符号的x和无符号数进行比较时,x会隐式类型转换被当做无符号数,是一个很大的数,输出结果是x is greater 至于这个很大的数是偶少呢 int x=-1 原码:10000000000000000000000000000001 反码:11111111111111111111111111111110 补码:11111111111111111111111111111111 unsigned int x=-1 补码:11111111111111111111111111111111 没有符号则 原码等于补码:11111111111111111111111111111111 unsigned int y=2 原码:00000000000000000000000000000010 注意:此时x,y都是无符号数,二进制码的最高位不是符号位。 肉眼可见11111111111111111111111111111111>00000000000000000000000000000010 所以x>y 还有一道题异曲同工 #include <stdio.h> int i; int main(){ i--; if (i > sizeof(i)){ printf(">\n"); } else{ printf("

CSS,HTML,JS 以及Vue前端面试题八股文总结【看完你就变高手】

■ 符号说明 💘 主题 🌟 常见重要 🌛 需要有印象的 🆕 v3新特性 ■ 杂谈 🌛 SEO优化 合理的title、description、keywords:搜索对着三项的权重逐个减小,title值强调重点即可;description把页面内容高度概括,不可过分堆砌关键词;keywords列举出重要关键词。 语义化的HTML代码,符合W3C规范:语义化代码让搜索引擎容易理解网页 重要内容HTML代码放在最前:搜索引擎抓取HTML顺序是从上到下,保证重要内容一定会被抓取 重要内容不要用js输出:爬虫不会执行js获取内容(查看网页源代码要有数据,有利于seo优化) 少用iframe:搜索引擎不会抓取iframe中的内容 非装饰性图片必须加alt 提高网站速度:网站速度是搜索引擎排序的一个重要指标。 🌟 渐进增强与优雅降级 渐进增强:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进,达到更好的用户体验。 优雅降级:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。 ■ HTML 🌟 H5新增API HTML5新增了哪些内容或API,使用过哪些 音视频audio、video标签 语义化标签article、footer、header、nav、section等 表单控件date、time、color、emial、url、search等 新增图形绘制canvas标 H5存储localStorage、sessionStorage 新的技术webworker, websocket, Geolocation; DNS预获取、FormData、FileReader、全屏API(Fullscreen API)等等 🌛 忽略电话号码 移动设备忽略将页面中的数字识别为电话号码的方法 <meta name="format-detection" content="telephone=no"> // 禁止把数字转换为拨号链接 <meta name="format-detection" content="address=no"> // 禁止把地址跳转至地图 <meta name="format-detection" content="email=no"> // 禁止识别邮箱自动发送邮件 <meta name="format-detection" content="telephone=no,adress=no,email=no"> 🌟 iframe标签 iframe就是HTML中,用于网页嵌套网页的。一个网页可以嵌套到另一个网页中,可以嵌套很多层。 返回 iframe会阻塞主页面的Onload事件 搜索引擎的检索程序无法解读这种页面,不利于SEO iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载 使用iframe之前需要考虑这两个缺点。如果需要使用iframe,最好是通过javascript动态给iframe添加src属性值,这样可以绕开以上两个问题 举例

精选100个Python实战项目案例,送给缺乏实战经验的你

前言: 随着 Python 语言的流行,越来越多的人加入到了 Python 的大家庭中。为什么这么多人学 Python ?我要喊出那句话了:“人生苦短,我用 Python!”,正是因为语法简单、容易学习,所以 Python 深受大家喜爱。(Python!Python!Python!) Python 初学者在迈过安装编程环境和基本语法的门槛 ,准备大展身手的时候,可能突然就会进入迷茫期:不知道做些什么、再学些什么。然后对编程的兴趣就会慢慢消退,找不到坚持下去的理由,从而慢慢淡忘之前学会的编程知识。所以找到自己感兴趣、能够跟着动手和学习的 Python 项目是特别重要的,这样才能把学会的 Python 知识用起来,不断地提高。最终从新手晋升为高手! 这里整理了100个Python实战项目列表,都有完整且详细的教程,你可以从中选择自己想做的项目进行参考学习练手,你也可以从中寻找灵感去做自己的项目。 100 个 Python 练手项目如下所示: 1、【Python 图片转字符画】 2、【200行Python代码实现2048】 3、【Python3 实现火车票查询工具】 4、【高德API+Python解决租房问题】 5、【Python3色情图片识别】 6、【Python 破解验证码】 7、【Python实现简单的Web服务器】 8、【pygame开发打飞机游戏】 9、【Django 搭建简易博客】 10、【Python基于共现提取《釜山行》人物关系】 11、【基于scrapy爬虫的天气数据采集(python)】 12、【Flask 开发轻博客】 13、【Python3图片隐写术】 14、【Python 实现简易Shell】 15、【使用Python解数学方程】 16、【PyQt 实现简易浏览器】 17、【神经网络实现手写字符识别系统】 18、【Python 实现简单画板】 19、【Python实现3D建模工具】 20、【NBA常规寒结果预测——利用Python进行比赛数据分析】 21、【神经网络实现人脸识别任务】 22、【Python文本解析器】 23、【Python3&;amp;OpenCV 视频转字符动画】 24、【Python3 实现淘女郎照片爬虫】 25、【Python3实现简单的FTP认证服务器】 26、【基于Flask 与MySQL 实现番剧推荐系统】 27、【Python 实现端口扫描器】 28、【使用Python3编写系列实用脚本】 29、【Python 实现康威生命游戏】 30、【川普撞脸希拉里(基于OpenCV的面部特征交换)】 31、【Python 3实现Markdown 解析器】

Spring Security(新版本)实现权限认证与授权

学习新版SpringSecurity详细配置 一、Spring Security介绍1、Spring Security简介2、历史3、同款产品对比3.1、Spring Security3.2、 Shiro 二、Spring Security实现权限1、SpringSecurity入门1.1 添加依赖1.2、启动项目测试 2、用户认证2.1、用户认证核心组件2.2、用户认证2.2.1、认证接口分析2.2.2、加密器PasswordEncoder2.2.3、用户对象UserDetails2.2.4、 业务对象UserDetailsService2.2.5、登录接口2.2.6、 `SecurityConfig配置`2.2.7、认证过滤器 3、用户授权3.1、修改loadUserByUsername接口方法3.2、修改配置类3.3、控制controller层接口权限3.4、测试服务器端权限 4、异常处理 一、Spring Security介绍 1、Spring Security简介 Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。 正如你可能知道的关于安全方面的两个核心功能是认证和授权,一般来说,Web 应用的安全性包括**用户认证(Authentication)和用户授权(Authorization)**两个部分,这两点也是 SpringSecurity 重要核心功能。 (1)用户认证指的是:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码,系统通过校验用户名和密码来完成认证过程。 通俗点说就是系统认为用户是否能登录 (2)用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。 通俗点讲就是系统判断用户是否有权限去做某些事情。 2、历史 “Spring Security 开始于 2003 年年底,““Spring 的 acegi 安全系统”。 起因是 Spring开发者邮件列表中的一个问题,有人提问是否考虑提供一个基于 Spring 的安全实现。 Spring Security 以“The Acegi Secutity System for Spring” 的名字始于 2013 年晚些时候。一个问题提交到 Spring 开发者的邮件列表,询问是否已经有考虑一个机遇 Spring 的安全性社区实现。那时候 Spring 的社区相对较小(相对现在)。实际上 Spring 自己在2013 年只是一个存在于 ScourseForge 的项目,这个问题的回答是一个值得研究的领域,虽然目前时间的缺乏组织了我们对它的探索。

国产4纳米量产,吓坏了海外光刻机行业,日本和ASML赶紧示好

在中国芯片企业宣布4纳米小芯片量产后,光刻机行业的ASML和日本光刻机都纷纷向中国示好,其中ASML更是在2022年底加快了对中国出口光刻机的进度,再次证明了只要中国芯片技术取得突破,海外芯片行业就会迅速低头示好。 美国以为只要限制全球芯片设备行业给中国供应相应的设备,例如ASML的EUV光刻机,那么中国的芯片产业向前发展就会面临阻碍,然而现实显然并非如它所想,中国芯片的顽强超出了它的意料。 日前中国芯片行业就传出了4纳米量产的消息,这是完全自主的技术,不需要外国设备,真正掌握了先进的芯片制造技术,打破了美国的图谋,其实早前中国就已实现了5纳米芯片的量产,并获的美国芯片巨头AMD的数年订单。 中国一直都在极力依托于现有的设备开发满足国内芯片行业的技术,例如此前传出的芯片堆叠技术、小芯片技术等都可以依托于现有的芯片制造工艺开发出性能先进的芯片,这些技术或许无法应用于对功耗、芯片体积有要求的手机芯片等,但是对于数据中心、PC等行业却可以采用。 中国的芯片行业也在积极打破极限,日前龙芯就表示开发出的龙芯3A6000采用国产14纳米工艺生产,却可以达到了Intel酷睿11代的水平,这无不显示出中国芯片整体合力下,可以打破现有的芯片技术局限。 依托于现有的芯片技术,中国生产的芯片迅速满足了国内的需求,推动中国制造的芯片自给率提升至三成以上,由此2022年前11个月中国的芯片进口量减少了800多亿颗,对美国芯片的需求迅速减少,美国芯片已出现难以卖出的迹象。 中国芯片甚至还进入美国市场,获得了美国家电制造商的认可,美国制造商表示中国芯片具有美国同类芯片的性能,而价格却便宜太多,因此迫使美国修改了芯片规则,允许美国家电制造商继续采用中国芯片,可见中国芯片的竞争优势。 眼见着中国芯片取得的进展,ASML已经急了,ASML在去年下半年就改变了口风,认为中国迟早能制造出先进的光刻机,此前它曾扬言即使给中国芯片行业提供光刻机图纸,中国也无法制造出光刻机,为了避免失去中国市场,ASML在2022年底突然加快对中国出口光刻机,至少三家中国芯片企业获得了ASML的光刻机。 除了ASML之外,日本光刻机也开始向中国示好,日本的尼康、佳能早期曾占有光刻机市场八成市场份额,那时候的ASML还在为生存而努力,可见当时日本光刻机的强势,后来日本光刻机被ASML击败,如今日本光刻机希望借助中国这个庞大的市场复兴,日本光刻机抢占中国市场,反过来又刺激了ASML,促使ASML向中国低头,中国芯片技术的突破更是让ASML恐慌。 这一切都说明,美国对中国的芯片限制不过是纸老虎,中国在芯片技术的发展无法阻挡,正如美国富豪比尔盖茨警告称限制对中国出口芯片最终只会加速中国芯片产业的发展,而美国芯片将蒙受巨大损失,如今这一切正在变成现实,美国的做法最终只是搬起石头砸自己的脚。

无人机航拍数据集整理

目录 1.VisDrone 2.DOTA 3.UCAS-AOD 4.UAVDT 5.UAV123 6.CARPK 7.AU-Air 8.ERA 9.VEDAI 10.ITCVD 11.DLR3kVehicle 12.OIRDS 13.NWPU 14.DIOR 1.VisDrone VisDrone2022数据集由中国天津大学机器学习与数据挖掘实验室的AISKYEYE团队收集。基准数据集由 265,228 帧和 10,209 张静态图像组成的 400 个视频片段组成,由各种无人机摄像头捕获,涵盖广泛的方面,包括位置(取自中国相隔数千公里的 14 个不同城市)、环境(城市和乡村)、物体(行人、车辆、自行车等)和密度(稀疏和拥挤的场景)。请注意,数据集是使用各种无人机平台(即具有不同型号的无人机)在不同的场景以及各种天气和照明条件下收集的。这些帧使用超过 260 万个边界框或经常感兴趣的目标点(如行人、汽车、自行车和三轮车)手动注释。还提供了一些重要属性,包括场景可见性、对象类和遮挡,以提高数据利用率。 Introduction – VISDRONE (aiskyeye.com) ppyoloe实战之VisDrone2019无人机数据-pudn.com 2.DOTA DOTA 数据集是用于航拍图像中的目标检测的大型图像数据集。它可用于发现和评估航拍图像中的物体。无论从数量还是质量上来说,在同类型数据集中都具有很大优势 作为计算机视觉的重要数据之一,遥感图像对于分析地球信息具有重要的作用。 遥感图像一般来自卫星,航拍图像可能来自大型飞机、无人机、直升机等。这些数据通常被用来进行计算机视觉分类、检测、分割、跟踪任务的训练,以及该领域特定的建筑重建、地物提取、地物属性(高度等)预测等。 2806 幅航拍图,15 个类别详细标注 DOTA 数据集便是用于航拍图像中目标检测的图像数据集,其被用于发现和评估航拍图像中的物体。 这些图像来源包含不同传感器和平台,包括 Google Earth、JL–1 卫星拍摄,以及中国资源卫星数据和应用中心的 GF–2 卫星拍摄。 数据集共计 2806 幅航拍图,每张图像的像素尺寸在 800*800 到 4000*4000 的范围内,其中包含不同尺度、方向和形状的物体。之后这些 DOTA 图像经由专家使用 15 个常见目标类别进行注释,包括:飞机,轮船,储罐,棒球场,网球场,篮球场,地面跑道,港口,桥梁,大型车辆,小型车辆,直升机,环形交叉路口,足球场和篮球场。 完全注释的 DOTA 图像包含 188282 个实例,每个实例均由任意四边形进行标记。 数据集中用标注有定向的边界框标注 实发布机构: 武汉大学 包含数量:2806 张航拍图片

JavaWeb期末大作业——图书管理系统

目录 一、系统介绍 1.开发的环境 2.本系统实现的功能 3.数据库用到的表 4.工程截图 二、系统展示 1.登录页面 2.注册页面 3.管理员主页面 ​编辑 4. 用户主页面 5.图书管理页面(管理员) 6.读者管理页面(管理员) ​编辑 7.图书分类管理页面(管理员) 8.图书借阅管理页面(管理员) 9.图书归还信息页面(管理员) 10.图书日志查询(管理员) ​编辑 11. 图书借阅页面(用户) 12.还书页面(用户) ​编辑 13.借阅历史页面(用户) 三、部分代码展示 AdminDao.java LoginServlet.java RegisterServlet.java BookBean.java AdminServlet.java 四、源码 点击以下链接(内含数据库文件——books.sql): 五、备注 六、祝福 一、系统介绍 1.开发的环境 开发工具:eclipse 2022 JDK版本:1.8 数据库:MySQL 5.5 数据库管理软件:Navicat 15.0.27 服务器:apach-tomcat-9.0.68 2.本系统实现的功能 管理员功能:登陆系统、用户信息的增删改查、图书的增删改查、图书分类的增删改查、图书日志查询、图书归还。 用户功能:登陆系统、查阅图书、借阅和归还图书、查询借阅记录 3.数据库用到的表 admin、book、booktype、history 4.工程截图 二、系统展示 1.登录页面 2.注册页面 3.管理员主页面 4. 用户主页面 5.图书管理页面(管理员) 6.读者管理页面(管理员) 7.图书分类管理页面(管理员) 8.图书借阅管理页面(管理员) 9.图书归还信息页面(管理员) 10.图书日志查询(管理员) 11. 图书借阅页面(用户) 12.还书页面(用户) 13.借阅历史页面(用户) 三、部分代码展示 AdminDao.

JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用

JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用 文章目录 JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用前言一、Crypto Magician1.下载地址2.部分功能展示 二、乐易助手1.下载地址2.部分功能展示 三、WT-JS1.下载地址2.部分功能展示 总结 前言 方便开发者更好的定位加密算法,提高了开发的效率,必备神器; 提示:以下是本篇文章正文内容,下面案例可供参考 一、Crypto Magician 1.下载地址 下载地址:https://pan.baidu.com/s/13IxwJyIbKokpXdB4d42IOQ?pwd=chhj 2.部分功能展示 消息摘要算法 对称加密算法 非对称加密算法 二、乐易助手 1.下载地址 下载地址:https://pan.baidu.com/s/17ir4KJaXte1e88l7VfMs5A?pwd=mn1h 2.部分功能展示 网页提交 JS模拟调试 字符串转换 三、WT-JS 1.下载地址 下载地址:https://pan.baidu.com/s/1YNfj3KziWwcz1P2nt_68_Q?pwd=eqr9 2.部分功能展示 总结 希望对需要的人有所帮助