Ajax
一、什么是 Ajax?Ajax(Asynchronous JavaScript and XML)是一种无需重新加载整个网页,就能与服务器交换数据并更新页面部分内容的技术。 ✅ 关键词:异步交互、局部刷新、数据交换 二、Ajax 的作用 数据交换:向服务器发送请求,获取响应数据。 异步交互:不刷新整个页面的情况下更新内容。 提升体验:用户操作流畅,如搜索建议、动态加载列表、表单验证等。 三、同步与异步的区别 类型 描述 同步 客户端请求后,必须等待服务器响应才能继续后续操作。 异步 客户端发送请求后,不等待服务器响应,可继续执行其他任务,等响应回来再处理。 举个例子: 同步:打电话等人接听才能继续。 异步:发消息可以干别的,回复再处理。 四、Ajax 的实现方式✅ 原生方式:XMLHttpRequest传统的 Ajax 写法,繁琐但基本原理重要。 12345678const xhr = new XMLHttpRequest();xhr.open("GET",...
Vue
一、Vue.js 快速入门Vue.js 是一款轻量、高效的前端 JavaScript 框架,专注于构建用户界面,具有渐进式的特点,适合初学者快速上手。 ✅ 引入 Vue 的方式1. 使用 CDN(适合初学者快速尝试):1<script src="https://unpkg.com/vue@2.7.16/dist/vue.js"></script> 2. 创建 Vue 实例123456789101112131415161718<div id="app"> <h1>{{message}}</h1> <h1>{{count}}</h1> </div> <script type="module"> import { createApp } from...
JavaScript
一、JavaScript 核心语法 1. 引入方式JavaScript 可以通过以下方式添加到 HTML 中: ✅ 行内引入(不推荐)1<button onclick="alert('Hi')">点击</button> ✅ 内部脚本123<script> console.log("Hello JS");</script> ✅ 外部引入(推荐)1<script src="script.js"></script> 2. 变量和数据类型✅ 声明变量123let name = "Tom"; // 可变变量const age = 18; // 常量var city = "Beijing"; // 老语法(不推荐) ✅...
HTML-CSS
一、HTML 基础详解1.1 HTML 是什么?HTML(HyperText Markup Language,超文本标记语言)是网页的结构语言,用来描述网页的内容,如文本、图片、视频、链接等。 1.2 HTML 文档结构1234567891011<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>网页标题</title> </head> <body> <h1>主标题</h1> <p>段落内容</p> </body></html> 1.3 常用标签分类(1)标题与段落123<h1>标题1</h1><h2>标题2</h2><p>这是一个段落。</p> (2)链接与图片12<a...
32位汇编的一些例题
1. 输出 Hello World这是最基础的字符串输出。 1234567891011121314include Irvine32.inc.data hello db "Hello World", 0.codemain PROC mov edx, offset hello call WriteString call Crlf ; 换行 exitmain ENDPend main 2. 比较 3 个数找最大值利用 cmp 指令和条件跳转来比较三个数的大小。 1234567891011121314151617181920212223242526272829303132include Irvine32.inc.data num1 dd 10 num2 dd 20 num3 dd 30msgMax db "最大值是: ", 0.codemain PROC mov eax, [num1] mov ebx, [num2] cmp eax, ebx jge check_num3 ; 如果...
32位汇编指令速查表(MASM / x86)
📦 一、数据传送指令(MOV、XCHG 等) 指令 功能说明 示例 mov 数据传送 mov eax, 100 movzx 零扩展传送(无符号) movzx eax, byte ptr [esi] movsx 符号扩展传送(有符号) movsx eax, byte ptr [esi] xchg 交换两个操作数的值 xchg eax, ebx lea 取有效地址(地址计算) lea eax, [ebx+4*esi] offset 获取变量地址 mov edx, offset msg ➕ 二、算术运算指令 指令 功能说明 示例 add 加法 add eax, 5 sub 减法 sub ebx, 2 inc 加 1 inc ecx dec 减 1 dec ecx imul 整数乘法 imul eax, ebx idiv 有符号除法(注意 edx) idiv ebx neg 取负数(0 - eax) neg eax cdq eax 扩展到 edx:eax cdq(除法前) 🧮...
32位汇编语言程序设计基础知识
🔰 第一章:汇编语言是什么?✅ 汇编语言是: 靠近计算机底层的语言 每一条汇编指令对应一个机器指令 更容易控制硬件,效率高,但书写复杂 ✅ 编写汇编程序需要: 汇编器:MASM(微软宏汇编器) Irvine32 库:老师常用的教学库(简化输入输出等操作) 📁 第二章:汇编程序结构1234567891011121314include irvine32.inc ; 包含 Irvine32 的函数库.data ; 数据段,定义变量msg byte "hello", 0.code ; 代码段,写程序的地方main proc ; main 是主过程入口 mov edx, offset msg ; 把字符串地址放入 edx call writestring ; 调用写字符串的函数 call crlf ; 换行 exit ; 正确退出程序(注意不是...
动态代理
✅ 动态代理动态代理 是在程序运行时创建代理对象,不需要提前写好代理类代码。 ✅ 本质:用反射机制,在运行时生成代理对象,代理目标对象的方法调用。 ✅ 动态代理 vs 静态代理 特性 静态代理 动态代理 编写方式 手动编写代理类 运行时自动生成代理类 灵活性 不够灵活,一个接口一个代理类 很灵活,只需一套代理逻辑 使用场景 小项目、学习 Spring AOP、事务、权限校验等 性能 性能好 性能略低(但可接受) ✅ 动态代理的使用前提 必须基于接口编程! 目标对象要实现一个或多个接口,代理对象也实现这些接口。 ✅ 动态代理的基本结构(JDK 实现)1234567891011// 1. 定义接口public interface UserService { void login(String username);}// 2. 实现类(目标对象)public class UserServiceImpl implements UserService { public void login(String...
注解
✅ 注解(Annotation)注解 是 Java 5 引入的一种语法,用来为程序中的元素(类、方法、变量等)添加元信息(描述信息),不会影响程序逻辑。 ✅ 本质:注解是代码的“说明标签”,可以被编译器或框架读取并处理。 ✅ 注解的作用 作用 举例 编译检查 如 @Override 提醒方法是重写父类方法 文档生成 @author、@version 运行时反射处理 如 @Test、@Controller 等 配合框架使用 Spring、Junit、MyBatis 广泛使用注解 ✅ 常用内置注解(Java 自带) 注解名 说明 @Override 重写父类方法 @Deprecated 标记方法已过时 @SuppressWarnings 忽略警告,例如泛型警告 示例:1234@Overridepublic String toString() { return "重写了 Object 的 toString 方法";} ✅ 自定义注解✨ 语法格式:123public...
反射
✅ 反射(Reflection)反射 是 Java 提供的一种机制,可以在运行时动态获取类的信息、构造对象、调用方法、访问字段等。 ✅ 通俗理解:反射就像“开外挂”,让你在运行时访问类的结构(包括私有的),甚至可以动态操作! ✅ 反射能干什么? 功能 举例说明 获取类的对象 Class cls = Class.forName("类的全路径"); 创建对象 Object obj = cls.newInstance(); 获取字段/方法/构造器 Field、Method、Constructor 访问私有成员 通过 setAccessible(true) 绕过访问控制 调用方法 method.invoke(obj, 参数); ✅ 获取 Class 对象的三种方式123456789// 1. 类名.classClass<?> cls1 = String.class;// 2. 对象.getClass()String str = "hello";Class<?>...