自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一季南凉的博客

微博同名 B站叫季小二er。。。

  • 博客(264)
  • 资源 (2)
  • 收藏
  • 关注

原创 举一个用mybatis和不用mybatis,来展示用了mybatis的好处

当然,通过对比可以更清楚地看到MyBatis带来的便利。让我们以一个简单的查询操作为例,来展示使用MyBatis和不使用MyBatis(直接使用JDBC)时的代码差异。

2024-03-27 20:49:16 338

原创 MyBatis

MyBatis是一个流行的Java持久层框架,它提供了一个半ORM(对象关系映射)的实现。与完全的ORM框架(如Hibernate)不同,MyBatis允许开发者直接编写SQL语句并完成其与Java对象之间的映射,同时提供了一些ORM的便利性,如自动结果映射到Java对象。

2024-03-27 20:48:08 716

原创 servlet

Servlet是一个强大的工具,用于开发动态Web应用。通过继承类并实现其生命周期方法,你可以控制如何处理来自Web客户端的请求,并生成相应的响应。以下是类的一个简单示例,它响应/welcome} }} }} }} }} }} }} }} }@Override这个类位于包中,当接收到匹配/welcome。

2024-03-27 10:14:10 612

原创 JavaBean

JavaBean是Java语言编写的一种特殊类,主要用于封装数据。它遵循一些简单的编码规范,使得这些Java类特别适合用于封装数据、重用组件和在不同环境之间传递数据。使用JavaBeans,开发者可以通过一个易于使用的界面来操作这些对象,而不需要知道其内部工作细节。

2024-03-26 17:08:32 847

原创 讲讲GET 方式提交与POST 方式提交

GET就像寄明信片或在公共场合说话,适合一般信息的获取,方便但不够私密。POST就像寄私人信封或私下说悄悄话,适合提交数据或敏感信息,安全但稍微复杂些。通过这样简化的比喻,希望你对GET和POST请求有了更直观的理解!

2024-03-26 16:09:40 997

原创 html学习笔记,登陆表单

这段代码是一个HTML表单,通常用于Web页面上实现用户登录功能它包含了两个输入字段,让用户输入用户名和密码,以及两个按钮,分别用于提交表单和重置表单内容还有一个链接供用户在没有账号时跳转到注册页面。里面用到的JSP表达式 用于动态生成表单提交的URL,确保无论应用部署在哪里,表单的action总是指向正确的路径。action 属性定义了表单提交(即用户点击登录按钮)后数据发送的目的地。

2024-03-26 15:07:27 686

原创 document.getElementById(‘username‘).value 是什么

js

2024-03-25 17:52:57 253

原创 进一步理解C++里的封装有什么作用

当谈论封装时,我们实际上是在讨论面向对象编程中的一个重要概念,即数据隐藏。封装通过将数据和操作数据的方法捆绑在一起,从而防止外部对象直接访问和修改类的内部数据,以保护数据的完整性和安全性。

2024-03-25 16:01:15 357

原创 jsp里的动态包含和静态包含有什么区别

时机:静态包含在编译时处理,而动态包含在运行时处理。静态 先包含再编译处理,动态先编译处理再包含,跟操作系统似的更新性:静态包含的内容是静态的,不会因为被包含页面的变化而改变;而动态包含的内容是动态生成的,会随着被包含页面的变化而更新。语法:静态包含使用指令(),而动态包含使用标签(header.jsp:包含网站的页眉信息。:包含网站的主要内容。footer.jsp:包含网站的页脚信息。如果使用静态包含,那么每个页面在编译时都会将header.jsp和footer.jsp。

2024-03-25 09:17:31 273

原创 js和jsp的区别

与JavaScript不同,JSP通常用于处理与服务器的交互,如访问数据库、生成动态内容等。由于JSP使用Java语言,因此具有较高的扩展性,可以利用Java的全部功能来构建复杂的Web应用程序。:JavaScript是一种客户端脚本语言,它通过浏览器来执行,主要用于处理网页上的交互性任务。与传统的编程语言不同,JavaScript是一种动态语言,它可以在不同浏览器上运行,不需要额外的服务器支持。通过费曼学习法,我们可以深入理解JavaScript和JSP的区别,并能够清晰地解释给他人听。

2024-03-24 16:26:44 311

原创 为什么要配置项目artifacts

配置项目的artifacts生成是软件开发中的一个重要环节,尤其是在使用像Maven、Gradle这样的构建工具时。Artifacts(构件)指的是构建过程中生成的产品,比如JAR、WAR或者其他格式的包。

2024-03-22 23:14:42 297

原创 maven archetype 和普通的maven有啥区别

而Maven Archetype是Maven的一个插件,主要用于为用户创建基于某个模版的新项目。当你开始一个新项目,而不是从零开始,你可以选择一个符合你需求的archetype,它会帮助你生成项目结构和一些基本代码,比如目录结构、配置文件等。简而言之,Maven Archetype是Maven的一部分,它专注于为Maven项目提供一个初始的结构和配置模板。而“普通的Maven”通常指的是Maven工具本身,它负责项目的构建和依赖管理等更广泛的功能。Maven可以通过其POM文件管理项目的构建、报告和文档。

2024-03-22 20:45:58 792

原创 数据库级别的刷新和数据表级别的刷新结果不一样吗

简单来说,数据库级别的刷新是为了更新数据库结构的变化,而数据表级别的刷新是为了查看某个具体表的数据变化。如果你需要查看结构变化,比如检查是否成功创建了新表或修改了表结构,你需要进行数据库级别的刷新。如果你只是想查看或确认数据记录的变化,比如插入或修改了数据,你只需要进行数据表级别的刷新。我发现点左边的刷新没有办法刷新出新注册成功的用户,但是下一张图片就能刷新出来。我也知不道是不是,还是我navicat有问题。这个刷新和这个刷新有啥区别。

2024-03-22 17:37:55 273

原创 关于servlet的理解

是的,你的理解是正确的。在这个过程中,Tomcat 充当服务器的角色,它接收来自客户端(如浏览器)的 HTTP 请求,然后根据部署的 Web 应用程序的配置,将这些请求转发给特定的 Servlet 进行处理。浏览器http请求------》tomcat服务器-------》到达servlet-----》执行doget,dopost方法----》返回数据。这样,客户端就可以接收到请求的结果了。:当Tomcat接收到HTTP请求时,它会根据请求的URL找到对应的Servlet,并调用该Servlet的。

2024-03-21 16:30:50 298

原创 102.二叉树的层序遍历,199. 二叉树的右视图

层次遍历需要借助队列,先入先出的优势,在上一层出队后下一层节点入队,这个是要理解并记住的 queue 别忘了队列里存放的是树的节点。每一层都是一个循环,然后,队头节点出队(出队的同时值要入数组中)后其左右孩子入栈,如果有的话(所以得先判空)果然学算法先要掌握大体上的动画,就是大概上的意思,抽象的现象的描述行为,然后开始进入循环,循环条件是队列非空,即不断遍历队列中的元素,还有在一些算法中的常用小操作,都是要再刷算法题的时候总结的。输出:[[3],[9,20],[15,7]]

2024-03-18 16:06:56 373

原创 那么在STL里,size()这个函数都是变化的吗

例如,如果在遍历过程中修改容器(如添加或删除元素),可能会影响循环的迭代次数或条件判断。因此,在设计算法或逻辑时,对容器操作的影响和结果应该被仔细考虑。是动态变化的,它随着容器中元素的增减而变化。这一特性是容器设计的基础,使得STL容器能够灵活地用于各种数据存储和处理场景。成员函数返回的是容器当前持有的元素个数。当你向容器中添加或从容器中移除元素时,容器的大小(即。在使用循环或者其他控制结构遍历这些容器时,尤其需要注意。是的,在C++标准模板库(STL)中,对于容器类(如。返回的值)会相应地增加或减少。

2024-03-18 10:33:47 360

原创 代码随想录145. 二叉树的后序遍历

后序遍历的顺序是:左-右-中,即先访问左子树,然后访问右子树,最后访问根节点。这个顺序在递归方法中很直观,但在迭代方法中实现起来就比较复杂,因为迭代过程中需要一个机制来记住每个节点的访问状态。为了简化这个问题,我们可以巧妙地使用栈和最后的反转操作来达到目的。给前序遍历的代码改改,改成根右左,然后再把数组里的结果反转一下 就成了左右根。不明白的可以在演算纸上试试,真的可以通过反转就全部转过来。这也许就是二叉树遍历的神奇吧。

2024-03-16 20:40:58 360

原创 力扣94. 二叉树的中序遍历

我们使用一个栈来帮助我们模拟这个过程,因为栈具有“后进先出”的特性,可以帮助我们保持访问顺序。同时,我们使用一个指针cur来遍历树。

2024-03-16 17:40:21 467

原创 力扣 144 二叉树的前序遍历,迭代法,用栈实现

根据栈的特性,先将右结点入栈然后再入栈左节点,才能够先访问左节点,但是在要节点入栈之前得先检测该节点是否为空。思路就是 根据根左右,先将根入栈,然后访问根,然后根出栈,

2024-03-16 16:23:14 387 1

原创 啥是函数调用运算符operator()

为了重载函数调用运算符,你需要在类内定义operator()方法。这个方法可以接受任意数量和类型的参数,也可以有返回值。public:// 函数体。

2024-03-14 11:15:40 328

原创 力扣 347前k个高频元素

在C++中,当你使用。

2024-03-12 16:50:29 831

原创 如何查看自己电脑显卡的内存

总结来说,专用GPU内存是显卡上独立管理和使用的高带宽、低延迟的内存,而共享GPU内存则是显卡和系统主内存合作使用的一种方式,用于扩展显卡的内存容量。在Windows系统中,由于PCIe的限制,系统会优先使用专用GPU内存,而共享GPU内存的值大小由Windows系统根据系统内存大小来分配,用户无法修改。ctrl+alt+delete 打开任务管理器,然后打开性能页面,你会看到一个GPU内存,这个是自己GPU的内存,也叫专用GPU内存,而那个共享GPU 内存是不够用的时候借用电脑的内存。

2024-03-09 17:02:10 717

原创 力扣 239. 滑动窗口最大值

chatgpt写的代码,,这个就是毋庸置疑的,就直接接受就行了其次,不知道单调队列是啥,知道单调队列是啥了,又不知道单调队列该如何实现,单调队列用双端队列 deque实现,又不怎么清楚deque STL的相关操作,双不双端其实没有硬性要求,因为STL 里只有这个deque的队列有关的容器明白了语法上怎么实现,现在又得发愁算法上如何实现,如何保持单调队列呢----即如何让队列内的元素一直保持递减呢?将入队元素和队尾元素比较,如果队尾元素小了,把队尾元素踢出去。这也就说明了,

2024-03-08 16:10:57 885

原创 vector比deque多一个在数组中部插入的功能吗?

不是的。实际上,deque(双端队列)和vector(向量)这两种C++标准模板库(STL)容器都支持在任意位置插入和删除元素,包括中间位置、开头和末尾。它们都提供了insert和erase成员函数来实现这些操作。vector。

2024-03-08 15:04:37 341

原创 vector的STL操作

vector是 C++ 标准模板库(STL)中实现的动态数组,它能够存储连续的元素,这些元素可以通过索引访问。与数组相比,vector的大小可以动态变化,提供了许多便利的成员函数来管理其存储的元素。下面是vector。

2024-03-08 14:55:58 348

原创 deque 这个STL 的操作

deque(双端队列)是C++标准模板库(STL)中的一种容器,支持在队列的前端和后端高效地插入和删除元素。与vector相比,deque允许高效地在序列的前端进行插入和删除操作,而vector仅支持在尾部高效地添加和删除元素。deque是一个动态数组,能够根据需要自动重新分配存储空间。下面列出了deque。

2024-03-08 11:13:37 367

原创 chatgpt说关于web我还要学习的内容

根据你的兴趣和目标选择合适的课程,可以逐步建立起全面的Web开发技能。这不仅仅是学习单个技术,更重要的是理解它们是如何在实际开发中相互配合,共同构建起现代Web应用的。

2024-03-07 15:19:08 407

原创 动态Web内容(用tomcat实现的服务器端动态内容)和JavaScript实现的动态交互的差别

服务器端动态在服务器上生成页面,适用于个性化内容的生成和直接访问服务器资源。客户端动态在用户的浏览器上通过JavaScript实现交互和内容更新,提高应用的响应性和交互性。两种方式往往在现代Web应用中结合使用,以发挥各自的优势,提供丰富且高效的用户体验。

2024-03-07 15:03:39 469

原创 chatgp4 教我学搭建网站1-课程目录

让我们为学习如何建立网站规划一个先修课程。:了解互联网如何工作,包括域名系统(DNS)、HTTP/HTTPS协议等。:学习HTML的结构和标签,理解如何使用它们创建网页的基础内容。:引入CSS来控制网页的样式和布局,包括颜色、字体和盒模型等概念。:介绍JavaScript的基本概念,如变量、函数、事件处理和DOM操作。:学习如何使用CSS媒体查询创建能够适应不同屏幕尺寸的网页。:探讨网站设计的基本原则,包括用户体验(UX)和用户界面(UI)设计。

2024-03-03 17:23:16 407

原创 gcc和g++的区别,如何看自己的编译器支持的C++的版本

gcc和g++的区别主要在于它们处理不同后缀的文件类型、编译和连接阶段的不同调用方式,以及它们对C++特性的支持方式。以下是详细介绍:123。用一句话来说,就是gcc将程序视为c语言的,g++将程序视为C++的。C ++ 98:__cplusplus是199711L。C ++ 11:__cplusplus是201103L。C ++ 14:__cplusplus是201402L。C ++ 17:__cplusplus是201703L。先普及一下各编译器的版本,调用如下函数,我的DEV的编译器是gcc的,

2024-02-26 17:50:17 499

原创 150逆波兰表达式求值

还有这个就是栈的类型是int型,输入的字符串的类型是char,那么运算符号存的时候就char型,那这样在进行运算并计算结果的时候,就发现这个运算能表示成 r2s[i]r1吗,当然不行了,但是这个题里用的是vector,这是动态数组,而每一个数组元素的类型是一个字符串(string类型),那么就得用双引号了,应该用双引号,不应该用单引号,我一开始用的单引号,如果这个s是string类型的话,就是char类型,就可以用单引号。后缀的很简单,遇到符号,就只需要让栈中的前两个数出栈。这个是在C++里的要求,

2024-02-26 17:28:16 336

原创 力扣20.有效的括号

这个学过数据结构栈的应用的基本上都会就是把字符串进栈,如果是左边的括号,无脑入栈,如果是右边的括号,那得看栈顶是不是和它匹配,如果匹配的话,一起出栈,如果不匹配,就先入栈一直到遍历完整个字符串后如果最后栈为空,那么就是有效不为空说明有匹配不上的就是无效但是我这个思路怎么说,有错误,这错误还是chatgpt给我改出来的,是由我这个代码实现的语法造成的,就是如果一开始没有左半部分(,[,{,那么栈是空的,

2024-02-24 19:01:22 527 1

原创 力扣225 用队列实现栈

然后就是卡哥提出了个优化,第二个队列就是用来存东西的,那么能不能把最后一个元素之前的所有元素都存到这个队列的后面,就是在这个队列的后面排队,这不就和用两个队列的操作其实是一回事?经验,在敲代码的时候,要在每一行想着这行代码实现的中文含义,以及不要忘了再回顾一下是否可以实现这个程序或者函数要求实现的功能,敲完了,再回顾一遍,对照着功能。就是这个出栈,每次出栈的是队列里的最后一个元素,那么将前面的元素依次入到第二个队列,然后再将所剩的最后一个元素出栈,然后再把前面的元素再入栈,恢复原样。

2024-02-22 18:12:46 507

原创 C++里的异常

当然可以!异常处理在 C++ 中是一个重要的概念,它帮助我们处理运行时。trycatch和throw。就是这个异常可以避免一些错误的发生,在程序执行这些会出现错误的程序之前先给拦住,省了对电脑造成不可挽回的错误。使用方法:先写函数体,然后用条件语句,如果出现什么样的条件之后,会出现异常,那么就用throw抛出,后面用try来尝试调用这个函数,然后来测试调用这个函数,如果过出现throw的那个条件,就会用catch捕捉到异常,就是throw抛出的异常,这个catch的类型取决于 throw抛出的类型。

2024-02-22 14:34:53 307

原创 C++的STL都由什么组成

C++标准模板库(STL)是C++语言的一部分,提供了一系列模板类和函数,旨在帮助程序员处理常见的编程任务,如数据结构和算法操作。容器(Containers)、迭代器(Iterators)、算法(Algorithms)函数对象(Function objects)。

2024-02-21 16:19:59 944

原创 代码随想录 栈和队列 232.用栈实现队列

栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。第一问的答案 所以STL中栈往往不被归类为容器,而被归类为container adapter(容器适配器)我们常用的SGI STL,如果没有指定底层实现的话,默认是以deque为缺省情况下栈的底层结构。deque是一个双向队列,只要封住一段,只开通另一端就可以实现栈的逻辑了。首先大家要知道 栈和队列是STL(C++标准库)里面的两个数据结构。用栈模拟队列的话,得用两个栈。

2024-02-21 14:27:13 344

原创 如何屏蔽网页版的右边的百度热搜

我发现我一用百度我就会不自主的看很多热搜,有的新闻标题起的还挺拉仇恨的,所以我就会忍不住点好几个热搜看,咱又不是新闻评论员,而且那些东西又没发生在咱身边,就算发生了,咱的都不一定能闹上热搜,你看那上热搜的就一定有好结果吗?而且很明显这热搜要不是有人花钱买的,要不就是一些娱乐明星的八卦,故意用来炒作的,我微博都不看,为了节省我的时间和精力,所以我将其屏蔽了。点击那个扩展,然后点击那个选择元素的,在你百度搜索后的网页上,选那个热搜的区域,当然有点不好选择,多试试啊,别放弃,一定要选中整个热搜的长方形区域!

2024-02-20 13:40:27 698 1

原创 海贼OJ235. 递归实现指数型枚举

题目描述题目描述从 1到n 这 n 个整数中随机选取任意多个,每种方案里的数从小到大排列,按字典序输出所有可能的选择方案。输入输入一个整数 n。(1≤n≤10)输出每行一组方案,每组方案中两个数之间用空格分隔。注意每行最后一个数后没有空格。i用来表示当前位置,j用来表示当前最小的数,肯定大于前面位置的数,n为整数的总个数。f(i,j,n)边界条件j>n 则返回#include<iostream>using namespace std;/*#235. 递归实现指数型

2024-02-13 10:20:01 370

原创 Qt下编码调用Linux的Shell脚本命令

方法:使用QProcess开启一个进程,把脚本命令作为参数传递进去。使用前要先了解一、阻塞与非阻塞QProcess调用外部进程分为阻塞和非阻塞两类方式。这个就像那个qt里的模态与非模态对话框似的1)QProcess::execute("xxx"); //阻塞方式2)QProcess process; process.start("xxx"); //非阻塞方式阻塞方式下,新开启的QProcess不执行完毕或中途退出,主进程就会一直等待,卡在那里而不做任何处理。而在非阻塞方式下,新开启的

2024-02-13 06:44:10 413

原创 C++ STL string字符存取

#include<iostream>#include<string.h>using namespace std;void test01(){string str="hello";//1.通过[]访问单个字符 for(int i=0;i<str.size();i++){ cout<<str[i]<<" ";} cout<<endl;//2.通过at方式访问单个字符for(int j=0;j<str.size();j

2024-02-08 18:12:08 400 1

计算机系统结构第二章思维导图.zip

计算机科学与技术大三下专业课

2021-03-29

1.5并行性.zip计算机系统体系结构---1.5计算机系统结构中并行性的发展

计算机科学与技术大三下专业课

2021-03-15

空空如也

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

TA关注的人

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