自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。文档:https://axios.nodejs.cn/我们可以使用自定义配置创建一个新的 axios 实例。

2024-04-24 15:20:21 328 4

原创 Vue

组件化:一个页面可以拆分成一个个组件,每个组件有着自己独立的结构、样式、行为。好处:便于维护,利于复用 → 提升开发效率。template:结构 (有且只能一个根元素)script: js逻辑style: 样式 (可支持less,需要装包)… 这都是Vue给咱们内置的一些指令,可以直接使用自定义指令:同时Vue也支持让开发者,自己注册一些指令。这些指令被称为自定义指令,每个指令都有自己各自独立的功能示例一:局部注册

2024-04-24 14:46:48 818

原创 模块化编程

案例:编写 functions.js , 该文件有函数,变量, 常量, 对象。要求在 use.js , 可以使用到 function.js 中定义的 函数/变量/常量/对象。CommonJS是Node.js采用的模块化规范,它使用require()来加载模块,使用module.exports来输出模块接口。模块化可以将代码分割成多个独立的部分,每个部分都有其特定的功能,可以单独测试和使用。1)案例一:使用第一种方式导出模块。2)案例二:使用第二种方式导出模块。3)案例三:使用第三种方式导出模块。

2024-04-20 21:03:25 208

原创 Promise

Promise 是异步编程的一种解决方案, 可以解决传统 Ajax 回调函数嵌套问题。第二次请求需要根据第一次获取到的id来获取monster的详细信息。第一次请求monster.json获取到monster的id。案例:模拟使用ajax连续发起两次请求。

2024-04-20 21:02:15 439

原创 ES6

ECMAScript 6,也被称为ES6或ECMAScript 2015,是JavaScript语言标准的第六个版本,于2015年发布。它引入了许多新的语言特性和改进,以增强JavaScript的编程能力和简化复杂应用的开发。解构赋值是对赋值运算符的扩展,是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。// (1) let 声明的变量, 在代码块中,则作用域在代码块中。// (2) var 声明的变量, 在代码块中,作用域没有限制。// 1. let 不存在变量提升。// let 细节 2。

2024-04-18 16:35:07 946 1

原创 标志寄存器

如果我们将数据当作无符号数来运算,SF的值则没有意义,虽然相关的指令影响了它的值。由于flag的DF位决定着串传送指令执行后,si和di改变的方向,所以CPU应该提供相应的指令来对DF位进行设置,从而使程序员能够决定传送的方向。在执行 adc 指令的时候加上的 CF 的值的含义,由 adc指令前面的指令决定的,也就是说,关键在于所加上的CF值是被什么指令设置的。一般情况下,在进行无符号数运算的时候,它记录了运算结果的最高有效位向更高位的进位值,或从更高位的借位值。flag的第10位是DF,方向标志位。

2024-04-17 22:13:20 887

原创 文件上传下载

"multipart/form-data"是一种常见的POST数据提交的方式。在Http响应中,当Content-Disposition的值设置为"attachment",那么浏览器通常会尝试下载并保存的响应数据,而不是直接在浏览器中显示它。HTTP请求会包含一个请求头,其中"Content-Type"字段告诉服务器正在发送什么类型的数据。在HTML表单中,如果要提交的数据包含文件类型(如:图片,文档等),“enctype"属性需要被设置为"multipart/form-data”。

2024-04-14 19:56:58 1147

原创 Ajax

AJAX,全称是“异步JavaScript和XML”(Asynchronous JavaScript and XML),是一种使用JavaScript和XML(标准通用标记语言的子集)的开发技术。Ajax通过使用JavaScript,HTML,CSS和XMLHttpRequest对象,可以在不刷新整个页面的情况下,创建与服务器的异步交互。// "true" 表示异步(不等待服务器的响应,即发送请求后继续执行其他代码)。// 获得 id 为 "uname" 的 HTML 元素(可能是输入框)的值。

2024-04-10 16:40:28 701

原创 JSON

var 变量名 = {"k1" : value, // Number 类型"k2" : "value", // 字符串类型"k3" : [], // 数组类型"k4" : {}, // json 对象类型"k5" : [{},{}] // json 数组。

2024-04-09 11:58:28 1081

原创 Call 和 Ret 指令

call和ret 指令都是转移指令,它们都修改IP,或同时修改CS和IP。因为子程序中要计算 N×N×N ,可以使用多个 mul 指令,为了方便,可将结果放到 dx 和 ax中。mul是乘法指令,使用 mul 做乘法的时候,相乘的两个数:要么都是8位,要么都是16位。我们将批量数据放到内存中,然后将它们所在内存空间的首地址放在寄存器中,传递给需要的子程序。子程序可以依次读取每个字符进行检测,如果不是0,就进行大写的转化,如果是0,就结束处理。执行后,(CS)=0,(IP)=0123H,(sp)=0CH。

2024-04-08 15:58:32 965

原创 jQuery

文档:https://www.w3school.com.cn/jquery/index.asp下载地址:https://code.jquery.com/jquery-3.7.1.js需 求 :点击按钮,弹出 “hello, jQuery”jQuery 对象和 DOM 对象DOM 对象转成 jQuery 对象jQuery 对象转成 DOM 对象jQuery 选择器基本选择器1)元素选择器(Element Selector):通过 HTML 元素名称选择元素。2)ID 选择器(ID Se

2024-04-07 15:50:20 452

原创 Filter

Http请求 -> A 过滤器 dofilter() -> A 过滤器前置代码 -> A 过滤器 chain.doFilter() -> B 过滤器 dofilter() -> B 过滤器前置代码 -> B过滤器 chain.doFilter() -> 目标文件 -> B过滤器后置代码 -> A过滤器后置代码 -> 返回给浏览器页面/数据。1)url-pattern : Filter 的拦截路径, 即浏览器在请求什么位置的资源时,过滤器会进行拦截过滤。

2024-04-06 16:25:13 789

原创 Listener

valueUnbound(HttpSessionBindingEvent event):当一个对象从HttpSession对象中解绑时,该方法会被调用。valueBound(HttpSessionBindingEvent event):当一个对象被绑定到HttpSession对象中时,该方法会被调用。作用:监听 ServletContext 创建或销毁(当我们 Web 应用启动时,就会创建 ServletContext),即生命周期监听。当向HttpSession对象中绑定或解绑属性时,会触发相应的事件。

2024-04-05 16:44:46 1013

原创 JSP

2)request域对象:request域对象是指客户端发起的请求的作用域,即在同一个请求周期内有效。在request域中存储的数据可以在同一个请求中的不同页面中共享和访问。JSP 内置对象(已经创建好的对象, 可以直接使用),是指 Tomcat 在翻译 jsp 页面成为Servlet 后,内部提供的九大对象,叫内置对象。JSP 全称是 Java Server Pages,Java 的服务器页面,JSP 这门技术的最大的特点在于,写 JSP 就像在写 HTML。域对象是可以像 Map 一样存取数据的对象。

2024-04-04 16:43:26 1315

原创 XML & DOM4j

有些内容不想让解析引擎执行,而是当作原始内容处理(即当做普通文本),可以使用 CDATA 包括起来,CDATA 节中的所有字符都会被当作简单文本,而不是 XML 标记。与 JDOM 不同的是,dom4j 使用接口和抽象基类,虽然 Dom4j 的 API 相对要复杂一些,但它提供了比 JDOM 更好的灵活性。2) 一个元素可以有多个属性,它的基本格式为:XML 元素指 XML 文件中出现的标签,一个标签分为开始标签和结束标签。2)根元素是一个完全包括文档中其他所有元素的元素。

2024-04-03 15:13:35 1866

原创 Cookie & Session

使用相对路径来解决, 一个非常重要的规则:页面所有的相对路径,在默认情况下,都会参考当前浏览器地址栏的路径 http://ip:port/工程名/ + 资源来进行跳转。

2024-04-02 17:17:08 1152

原创 WEB 工程路径

使用相对路径来解决, 一个非常重要的规则:页面所有的相对路径,在默认情况下,都会参考当前浏览器地址栏的路径 http://ip:port/工程名/ + 资源来进行跳转。

2024-04-01 14:55:08 586

原创 转移指令的原理

jmp short 标号,jmp near ptr 标号,jcxz 标号,loop 标号等几种汇编指令,它们对 IP的修改是根据转移目的地址和转移起始地址之间的位移来进行的。在它们对应的机器码中不包含转移的目的地址,而包含的是到目的地址的位移距离。而loop s的机器码中包含的是转移的位移,就不存在这个问题了,因为,无论 s处的指令的实际地址是多少,loop指令的转移位移是不变的。根据位移进行转移的指令,它们的转移范围受到转移位移的限制,如果在源程序中出现了转移范围超界的问题,在编译的时候,编译器将报错。

2024-03-31 15:29:02 1171

原创 数据处理的两个基本问题

1)立即数(idata):对于直接包含在机器指令中的数据(执行前在cPu 的指令缓冲器中),在汇编语言中称为:立即数(idata ) ,在汇编指令中直接给出。例如:mov ax,1。在没有寄存器参与的内存单元访问指令中,用word ptr或byte ptr显性地指明所要访问的内存单元的长度是很必要的,否则,CPU无法得知所要访问的单元是字单元,还是字节单元。db 3 dup (0,1,2) :定义了9个字节,它们是0、1、2、0、1、2、0、1、2,相当于 db 0,1,2,0,1,2,0,1,2。

2024-03-30 16:52:39 307

原创 Tomcat

ServletConfig 类是为 Servlet 程序的配置信息的类,Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建,Servlet 程序默认是第 1 次访问的时候创建,ServletConfig 在 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。3)在同一次 HTTP 请求中,进行多次转发,多个 Servlet 可以共享 request 域/对象的数据(因为始终是同一个 request 对象)

2024-03-29 17:41:54 2137

原创 Web APIs

ECMAScript 运行在浏览器中然后再结合 Web APIs 才是真正的 JavaScript,Web APIs 的核心是 DOM 和 BOM。DOM(Document Object Model)是将整个 HTML 文档的每一个标签元素视为一个对象,这个对象下包含了许多的属性和方法,通过操作这些属性或者调用这些方法实现对 HTML 的动态更新,为实现网页特效以及用户交互提供技术支撑。简言之 DOM 是用来动态修改 HTML 的,其目的是开发网页特效及用户交互。如下图所示,将 HTML 文档以树状结构直

2024-03-28 10:25:34 628

原创 JavaScript 基础

JavaScript 程序不能独立运行,它需要被嵌入 HTML 中,然后浏览器才能执行 JavaScript 代码。通过script< script > // 1. 语法,使用 [] 来定义一个空数组 // 定义一个空数组,然后赋值给变量 classes // let classes = [];// 2. 定义非空数组 let classes = [ '小明' , '小刚' , '小红' , '小丽' , '小米' ] // 1. 语法,使用 [] 来定义一个空数组。

2024-03-27 10:46:46 1254

原创 更灵活的定位内存地址的方法

将一个内存单元的内容送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为bx中的数值加上si中的数值再加上idata,段地址在ds中。我们需要用到二重循环,应该在每次开始内层循环的时候,将外层循环的cx中的数值保存起来,在执行外层循环的loop指令前,再恢复外层循环的cx数值。将一个内存单元的内容送入ax,这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为bx中的数值加上si中的数值,段地址在ds中。一个字母,不管它原来是大写还是小写,将它的第5位置0,它就必将变为大写字母;

2024-03-26 09:42:36 1125

原创 CSS基础

当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距 margin-bottom,下面的元素有上外边距 margin-top ,则他们之间的垂直间距不是 margin-bottom 与 margin-top 之和。2)声明:声明由属性和值组成,用来定义元素的样式。常见的行类元素有:、、、、、、、、、对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值。

2024-03-25 10:01:43 1511

原创 统计文件夹下所有文件的字数

【代码】统计文件夹下所有文件的字数。

2024-03-24 21:13:45 144

原创 包含多个段的程序

考虑这样一个问题,编程计算以下8个数据的和,结果存在ax 寄存器中:0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H。在这里,我们使用dw定义了8个字型数据(数据之间以逗号分隔),它们所占的内存空间的大小为16个字节。我们在程序中用到了数据和栈,我们将数据、栈和代码都放到了一个段里面。我们在编程的时候要注意何处是数据,何处是栈,何处是代码。我们用和定义代码段一样的方法来定义多个段,然后在这些段里面定义需要的数据,或通过定义数据来取得栈空间。

2024-03-24 11:30:47 597

原创 HTML

left:左对齐(默认)center:居中right:右对齐。

2024-03-23 11:24:37 1626

原创 JDBC详解

当我们使用PreparedStatement对象执行SQL语句时,该SQL语句会被发送到数据库服务器,数据库服务器会对SQL语句进行解析,确定SQL语句的语义,然后编译SQL语句,并生成执行计划。这个过程只在第一次执行该SQL语句时进行,生成的执行计划会被缓存起来,以后再执行相同的SQL语句,就直接使用缓存的执行计划,不需要再次解析和编译,从而提高了执行效率。DAO 主要负责封装对数据的访问和操作,隐藏了底层数据库操作的细节,使业务逻辑与数据访问逻辑解耦,提高了代码的可维护性和可测试性。

2024-03-22 13:23:19 1456

原创 Java反射

3)运行阶段:在运行阶段,通过Class对象可以获取类的构造函数、字段和方法等信息,并且可以动态地创建对象、调用方法、访问和修改字段的值。通过反射,可以实现一些动态的操作,例如动态代理、动态生成代码等。Java中的反射是指在运行时动态地获取一个类的信息,包括类的属性、方法、构造方法等,并且可以在运行时调用这些方法。2)加载阶段:在加载阶段,类加载器会根据类的全限定名(包括包名和类名)来加载字节码文件,并将其转换为一个Class对象。3)对于某个类的Class类对象,在内存中只要一份,因为类只加载一次。

2024-03-20 09:02:23 405

原创 [BX]和loop指令

在一般的PC机中,DOS方式下,DOS和其他合法的程序一般都不会使用0:200~0:2FF( 0:200h~0:2FFh)的256 个字节的空间。这些出现在访问内存单元的指令中,用于显式地指明内存单元的段地址的“ds:”、“cs:”、“ss:”或“es:”,在汇编语言中称为段前缀。因源单元ffff:X和目标单元0020:X 相距大于64KB,在不同的64KB段里,程序中,每次循环要设置两次ds。计算ffff:0~ffff:b单元中的数据的和,结果存储在dx中。表示将ds:0处的数据送入al中。

2024-03-19 21:49:22 888

原创 第一个汇编程序

在DOS中,可执行文件中的程序P1若要运行,必须有一个正在运行的程序P2 ,将 P1 从可执行文件中加载入内存,将CPU的控制权交给它,P1才能得以运行;Debug 可以将程序加载入内存,设置CS:IP指向程序的入口,但Debug并不放弃对CPU 的控制,这样,我们就可以使用Debug 的相关命令来单步执行程序 ,查看每条指令指令的执行结果。4)codesg:作为一个标号指代了一个地址,放在segment的前面,作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的段地址。

2024-03-17 14:40:07 903

原创 masm下载和配置

2)解压masm32v11r.zip,点击install.exe安装(一直下一步即可)。5)将要编译的文件放到masm目录下即可用DOSBox编译连接。官网下载地址选择Austrlia 1。3)安装完成后得到一个masm文件夹。在文件末尾填入一下两行后保存关闭。文件夹路径【根据自己实际情况决定】。在DOSBox安装路径:双击。

2024-03-17 14:01:32 343

原创 Java网络编程

Socket是网络编程中用于实现基于TCP/IP协议的网络通信的类。netstat指令是一个网络工具,在终端中使用netstat -an指令可以查看主机网络情况,包括端口监听情况和网络连接情况。InetAddress类是Java中用于表示IP地址的类,它提供了一系列静态方法和实例方法来获取和操作IP地址。java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信。使用netstat -an | more 可以分页显示。使用UDP协议进行网络编程的发送消息和接收消息需要使用。

2024-03-16 22:19:42 726

原创 文件操作与IO流

处理流是对节点流的包装,通过对节点流进行包装,处理流可以提供更高级的功能。Properties 类是用于操作属性文件的类,属性文件通常以 .properties 后缀名保存,以键值对的形式(key=value)存储数据。BufferedOutputStream是Java中的处理流,用于将字节数据写入到输出流中,并提供了缓冲功能,以提高写入数据的效率。Java中的File类是用来操作文件和目录的类,它提供了一系列方法来创建、删除、重命名、判断文件是否存在等操作。

2024-03-15 17:54:16 1160

原创 寄存器(内存访问)

CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。在内存中存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字要用两个地址连续的内存单元来存放,这个字的低位字节存放在低地址单元中,高位字节存放在高地址单元中。在0地址处开始存放20000(4E20H):上图内存中字的存储元可以看作一个起始地址为0的字单元(存放一个字的内存单元,由0、1两个字节单元组成)。

2024-03-14 17:30:03 1292 1

原创 Java中的泛型

泛型是一种参数化类型的机制,它允许我们在定义类、接口或方法时使用一个或多个类型参数来代替具体的类型。通过使用泛型,我们可以编写更加通用和类型安全的代码。泛型的主要优点是提高了代码的重用性和可读性,并且在编译时提供了类型检查。使用泛型可以避免类型转换的麻烦,并减少了运行时错误的可能性。

2024-03-10 16:20:22 245

原创 Set接口

Set接口继承自Collection接口,表示一组不重复的元素。Set接口的特点是不允许包含重复的元素,且没有定义元素的顺序。

2024-03-10 15:28:14 642

原创 寄存器(CPU工作原理)

可以将长度为 N( N≤64KB )的一组代码,存在一组地址连续、起始地址为 16的倍数的内存单元中,这段内存是用来存放代码的,从而定义了一个代码段。在编程时可以根据需要,将若干地址连续的内存单元看作一个段,用段地址×16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。在任何时候,CPU将CS、IP中的内容当作指令的段地址和偏移地址,用它们合成指令的物理地址,到内存中读取指令码,执行。2)偏移地址为16位,16 位地址的寻址能力为 64K,所以一个段的长度最大为64K。

2024-03-08 11:06:56 1775 1

原创 Java三代日期类

和java.time包下的日期类。这三代日期类在不同的Java版本中引入和改进,每一代都提供了更强大和更易于使用的日期和时间处理功能。

2024-03-07 09:41:00 324

原创 汇编语言基础知识

机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。早期的程序员们将 0、1 数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。

2024-03-06 15:19:03 467 3

空空如也

空空如也

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

TA关注的人

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