- 博客(51)
- 收藏
- 关注
原创 Postman+请求
本文主要介绍了后端开发人员如何在不编写前端代码的情况下测试接口,重点讲解了Postman工具的使用方法以及Spring MVC中各种参数传递方式。内容包括:1) 使用Postman进行接口测试的优势;2) Spring MVC接收参数的多种方式,包括普通参数、对象、数组、JSON等;3) 特殊参数的获取,如Cookie、Session、Header等;4) 参数重命名和非必传参数设置;5) 文件上传的实现。文章强调后端开发人员应专注于业务逻辑实现,通过专业工具测试接口,并详细说明了各种参数传递方式的实现细节
2026-04-04 11:00:00
235
原创 Spring MVC
本文介绍了Spring MVC框架的核心功能和使用方法。主要内容包括:1)Spring MVC的三个核心功能:建立连接(通过@RequestMapping实现URL路由映射)、处理请求(获取用户参数)和响应返回;2)项目创建方法(选择Spring Web模块);3)@RequestMapping注解的使用,包括修饰类和方法、多级路径配置;4)请求类型的处理,默认支持GET和POST请求,并演示了如何显式指定请求方法类型。通过银行存取款案例类比说明了Spring MVC的工作原理。
2026-04-03 11:00:00
451
1
原创 Spring Web MVC ⼊⻔
Spring Web MVC是基于Servlet API构建的原始Web框架,是Spring框架的核心组件之一。它采用MVC(模型-视图-控制器)设计模式,将应用程序分为模型(处理数据逻辑)、视图(展示数据)和控制器(请求分发)三部分。Spring MVC通过Spring Boot项目中的Spring Web依赖实现Web功能,使用Tomcat等Servlet容器运行。作为实现了MVC模式的Web框架,它简化了基于Java的Web应用开发,是构建RESTful应用程序的常用选择。
2026-04-02 11:00:00
392
原创 服务器 客户端
摘要:本文介绍了Web服务器的基本功能及其在HTTP协议交互中的作用。Web服务器(如Apache、Nginx、Tomcat等)封装HTTP协议,简化开发流程。重点分析了浏览器通过URL访问服务器的请求流程:通过IP定位主机,端口号找到对应进程,路径获取资源。文章还列举了常见错误(404资源不存在、500服务器内部错误)及其解决方法,包括检查URL路径、代码异常排查等。最后提到Tomcat启动失败可能导致无法访问网站的情况。SpringBoot内置Tomcat服务器,默认使用8080端口。
2026-04-01 11:00:00
505
原创 设计测试⽤例的⽅法
摘要:本文系统介绍了基于需求设计测试用例的常用方法。首先阐述了等价类划分法,通过将输入划分为有效/无效等价类减少测试量;其次讲解边界值分析法,重点测试输入边界条件;然后介绍正交试验法,利用正交表优化多因素组合测试;接着说明判定表法处理复杂逻辑关系;最后提出场景法和错误猜测法,前者通过基本流/备选流覆盖业务流程,后者依赖测试经验发现潜在缺陷。文章以邮箱注册功能为例,展示了如何运用这些方法设计完整测试用例,并比较了各种方法的优缺点和适用场景。
2026-03-31 11:00:00
666
原创 测试用例
测试用例是为验证系统功能而设计的一组测试要素,包括测试环境、操作步骤、测试数据和预期结果等。其设计原则涵盖功能测试、界面测试、性能测试、兼容性测试、易用性测试和安全测试。功能测试关注程序与规格说明的一致性,界面测试验证界面元素与设计图匹配,性能测试评估软件运行效率,兼容性测试确保跨平台运行能力。易用性测试检查产品是否易于上手,安全测试则关注数据隐私和系统防护。此外,弱网测试通过工具模拟网络条件,验证系统在异常环境下的稳定性。测试用例的规范化设计能有效提高测试覆盖率和效率,解决人工测试的局限性。
2026-03-30 11:00:00
819
原创 Spring Boot 简介
SpringBoot是Spring官方推出的简化Spring开发的脚手架框架。相比传统的Spring Framework,SpringBoot通过自动配置和约定优于配置的原则,大幅降低了开发者的使用门槛,提高了开发效率。正如脚手架能加速房屋建造,SpringBoot为Spring应用开发提供了快速启动和高效开发的解决方案,使Java程序开发变得更简单、快捷和安全。
2026-03-29 11:00:00
310
原创 Maven 仓库
Maven仓库是用于存储和管理项目依赖的目录系统,分为本地仓库和远程仓库。本地仓库位于用户计算机上,优先查找依赖;远程仓库包括中央仓库(全球唯一)和私服(公司内部)。Maven通过依赖坐标(groupId、artifactId、version)唯一识别jar包。当项目引入依赖时,Maven会依次查找本地仓库、私服和中央仓库下载所需jar包。私服作为中间层可缓存中央仓库资源,提高团队协作效率。开发者可通过mvnrepository.com查询依赖坐标并配置到pom文件中。
2026-03-28 11:00:00
662
原创 Maven 简单了解
Maven是一个基于POM(项目对象模型)的项目管理工具,主要用于项目构建和依赖管理。它通过pom.xml配置文件简化项目开发流程,提供跨平台的自动化构建方式(编译、测试、打包等),并自动处理依赖关系(包括直接依赖和间接依赖)。Maven能自动下载所需jar包,避免手动添加,还能通过依赖排除功能管理复杂依赖关系。其核心优势在于提高开发效率,减少错误,使项目管理更简单方便。
2026-03-27 11:00:00
623
原创 JQuery
Query语法是通过选取HTML元素,并对选取的元素执⾏某些操作• $() 是⼀个函数,它是jQuery提供的⼀个全局函数,⽤于选择和操作HTML元素.• Selector选择器,⽤来"查询"和"查找"HTML元素• action操作,执⾏对元素的操作JQuery的代码通常都写在 documentready函数中.document:整个⽂档对象,⼀个⻚⾯就是⼀个⽂档对象,使⽤document表⽰.这是为了防⽌⽂档在完全加载(就绪)之前运⾏jQuery代码,即在⽂档加载完成后才可以对⻚⾯进 ⾏操作。
2026-03-26 11:00:00
701
原创 JQuery 基础认识
摘要:jQuery是一个简化JavaScript开发的流行框架,封装了常用DOM操作功能。相比原生API,它提供了更简洁的选择器和操作方法,能显著减少代码量并提高开发效率。jQuery支持HTML文档操作、事件处理、动画和Ajax等功能,且兼容多浏览器。使用时可从官方CDN引入,推荐下载minified压缩版以获得最佳性能。开发中建议将库文件保存在本地项目,避免外部CDN不可访问的风险。jQuery自2006年发布以来,已成为前端开发的重要工具之一。
2026-03-25 11:00:00
319
原创 Java Script 基础语法 + 函数
JavaScript基础语法与Java有相似之处,但作为动态弱类型语言,其变量声明方式(var/let/const)和数据类型(number/string/boolean等)具有独特特性。运算符与Java基本相同,但需注意==和===的区别。数组元素类型可不一致,支持动态增删改查。函数定义灵活,参数个数可不匹配,支持函数表达式。对象可通过字面量、new Object或构造函数创建,包含属性和方法,使用this关键字引用当前对象。JavaScript的语法设计体现了其动态语言的灵活性。
2026-03-24 11:00:00
687
原创 初识 JavaScript
JavaScript是一种脚本语言,由Brendan Eich在1995年用10天时间设计完成。最初用于网页表单验证,后因简单易用而流行。JavaScript与HTML(结构)、CSS(表现)共同构成网页开发的三大核心技术。它有三种引入方式:行内样式、内部样式和外部样式,其中外部样式因实现代码分离而成为企业开发首选。尽管JavaScript语法与Java相似,但两者差异很大。
2026-03-23 11:00:00
1173
2
原创 CSS 常⽤
本文介绍了CSS中几种常用样式:1. color设置字体颜色,支持英文单词、RGB和十六进制格式;2. font-size控制字体大小;3. border复合属性设置边框样式,包括粗细、样式和颜色;4. width/height设置元素宽高,仅块级元素有效;5. padding控制内容与边框间距,可分别设置四个方向;6. margin设置元素间距离,同样可单独调整各边距。文章还简要说明了块级元素与行内元素的区别,以及如何通过display属性改变元素显示模式。
2026-03-22 11:00:00
394
原创 CSS 基础
CSS(层叠样式表)是控制网页样式的技术,能够实现像素级排版控制和样式结构分离。文章介绍了CSS的基本语法规范、三种引入方式(行内、内部、外部)及其优缺点对比,并详细讲解了五种主要选择器:标签选择器、类选择器、ID选择器、通配符选择器和复合选择器。其中类选择器可复用,ID选择器唯一,复合选择器支持多种组合方式。文章还强调了CSS书写规范,如使用小写字母、空格规范等,为企业开发提供了实用的CSS应用指南。
2026-03-21 11:15:00
458
原创 HTML 基础
HTML基础入门指南 HTML(超文本标记语言)是构建网页的基础,通过标签定义内容结构。主要特点包括: 基本结构:由<html>、<head>和<body>标签组成框架 常用标签: 标题标签h1-h6 段落标签p 换行标签br 图片标签img(需src属性) 超链接a(需href属性) 表单元素:input(多种类型)、select下拉菜单、textarea文本域 布局标签:div(块级)和span(行内) 开发工具推荐使用VS Code,支持自动生成HTML框架 HTM
2026-03-20 11:00:00
573
原创 什么是框架
现代软件开发普遍采用框架技术替代原生编码,显著提升开发效率。框架本质上是预先构建的半成品结构,提供常用工具类和封装功能,开发者只需调用接口即可实现复杂功能。常见后端框架包括Spring家族(Spring、SpringBoot、SpringMVC)和MyBatis,前端框架有Vue、Node等。框架概念源自建筑业,既提供约束性规范,又具备支撑性结构,如同软件开发中的"毛坯房",开发者可在其基础上进行个性化"装修"。这种模式将开发者从底层实现中解放,专注于业务逻辑开发。
2026-03-19 11:00:00
199
原创 WEB 开发
Web开发指通过浏览器与程序交互的技术,主要分为C/S(客户端/服务器)和B/S(浏览器/服务器)两种架构。C/S架构如QQ、游戏等需要安装客户端,响应快但维护成本高;B/S架构如电商网站只需浏览器,维护成本低但依赖服务器性能。现代Web开发包含前端(HTML/CSS/JavaScript)和后端(Spring/MyBatis等)技术,采用B/S架构的工作流程为:浏览器访问→前端渲染→后端数据处理→返回展示。
2026-03-18 11:00:00
613
原创 Java EE 发展历程
Java EE是Java平台的企业版扩展,用于满足企业级开发需求。它从1999年作为J2EE独立出来,2006年更名为Java EE。2017年Oracle将其捐赠给Eclipse基金会后改名为Jakarta EE,但业界仍习惯称Java EE。课程中沿用Java EE名称以便理解,其发展历史仅作了解。
2026-03-17 11:00:00
229
原创 软件测试和开发的区别
软件开发与测试岗位对比:开发人员主要负责编程实现功能,需精通多种语言和框架;测试人员侧重发现缺陷,需掌握测试技术和开发知识。开发专业度更高,测试广度更大,大型企业对测试要求接近开发。薪资方面,中小企业开发较高,大厂基本持平。优秀测试人员需具备自动化测试能力、探索性思维和责任感。选择测试岗位可考虑个人兴趣(偏好细致工作)、岗位性质(质量保障为主)和职业规划(测试领域发展)。自动化测试能提升效率,测试人员掌握开发知识有助于深入发现问题。
2026-03-16 10:14:54
556
原创 软件测试周期 与 BUG
本文摘要:文章系统阐述了软件测试生命周期及BUG管理两大核心内容。测试生命周期包括需求分析、测试设计、执行评估等六个阶段,强调各阶段目标与交付成果。BUG管理部分详细解析了BUG的定义、描述要素、分级标准(崩溃/严重/一般/次要)及生命周期流程(新建到关闭)。针对测试与开发的常见冲突,提出五大解决策略:清晰描述BUG、用户视角思考、合理定级、提升技术能力及召开BUG评审会。全文为测试工作提供了完整的流程指导和问题处理方案。
2026-03-14 15:59:04
834
原创 常⻅开发模型
摘要:本文系统分析了软件开发中的主流模型及其特点。瀑布模型作为基础框架存在测试后置、周期长等缺陷,适用于需求固定的小项目;螺旋模型通过风险管理适合复杂大型项目;增量模型和迭代模型通过分块开发降低风险;敏捷模型强调快速响应变化,采用Scrum等方法实现持续交付。文章还介绍了V模型和W模型等测试模型,指出W模型通过测试前置改进瀑布模型缺陷,但仍无法适应敏捷开发需求。各类模型各有适用场景,需根据项目特点灵活选择。
2026-03-12 11:15:00
526
原创 测试 (需求文档+开发模型)
本文介绍了软件需求的概念和开发模型。需求分为用户需求和软件需求:用户需求是甲方或终端用户提出的简要需求,软件需求是经过产品经理分析后形成的详细功能需求,作为开发和测试的依据。开发模型方面,文章阐述了软件生命周期的六个阶段:需求分析、计划、设计、编码、测试和运行维护,每个阶段都有具体的工作内容和产出文档。运行维护阶段包括修复性、完善性和预防性维护三类工作。文章系统梳理了软件从需求到维护的全过程管理要点。
2026-03-11 15:00:47
505
原创 JUC(java.util.concurrent) 的常⻅类
摘要:本文介绍了Java并发编程中的Callable接口和ReentrantLock。Callable与Runnable类似但可返回结果,通常配合FutureTask使用,简化了多线程计算结果的处理流程。ReentrantLock是可重入互斥锁,相比synchronized提供了更灵活的锁控制,包括超时等待、公平锁选项和精确的线程唤醒机制。文章通过代码示例展示了两种实现1-1000累加的方式,对比了传统线程同步和使用Callable的差异,并详细分析了ReentrantLock与synchronized在实
2026-03-10 11:00:00
377
原创 synchronized 原理
摘要:synchronized在JDK1.8中具有多重特性:初始为乐观锁和轻量级锁,冲突频繁时转为悲观锁和重量级锁;采用自旋锁策略,是非公平的可重入锁。其加锁过程分为无锁、偏向锁、轻量级锁和重量级锁四个状态,根据竞争情况逐步升级。偏向锁通过标记所属线程避免真正加锁;轻量级锁使用CAS实现;重量级锁则依赖内核mutex。JVM还会进行锁消除和锁粗化优化,前者消除不必要的单线程锁操作,后者合并连续的锁操作以减少开销。这些机制共同确保synchronized在保证线程安全的同时尽可能提升性能。
2026-03-09 11:00:00
641
原创 CAS
CAS(比较并交换)是一种原子操作,通过硬件指令实现无锁并发。其核心原理是比较内存值与预期值,相等则交换新值,否则操作失败。CAS广泛应用于原子类(如AtomicInteger)和自旋锁实现,相比传统锁机制具有更高性能。但CAS存在ABA问题,即值被多次修改后恢复原值导致误判。解决方法是通过版本号机制(如AtomicStampedReference),在比较值的同时验证版本号是否变化。本质上,CAS通过硬件支持的原子指令实现了软件层面的乐观锁机制。
2026-03-08 13:18:15
586
原创 多线程-进阶
摘要:本文对比了常见的锁策略,包括乐观锁与悲观锁、轻量级锁与重量级锁、自旋锁与挂起等待锁、公平锁与非公平锁、可重入锁与不可重入锁以及读写锁。乐观锁假设无冲突直接访问资源,悲观锁则先加锁再访问;轻量级锁避免系统调用,重量级锁依赖OS互斥量;自旋锁持续尝试获取锁,挂起等待锁放弃CPU;公平锁按序分配,非公平锁随机竞争;可重入锁允许重复获取,读写锁区分读/写操作。各种锁策略各有利弊,需根据具体场景选择。
2026-02-27 21:04:53
1102
原创 JVM 类加载
摘要:本文详细介绍了JVM类加载机制,包括加载、验证、准备、解析和初始化五个阶段。重点阐述了双亲委派模型的工作原理及其优点(避免重复加载、保障安全性),并以JDBC为例分析了破坏双亲委派模型的特殊情况。当父类加载器无法完成加载请求时,子加载器才会尝试加载,这种机制确保了Java核心API的安全性。但在SPI机制中,JDBC通过线程上下文类加载器加载第三方驱动,形成了对双亲委派模型的合理破坏。
2026-02-17 11:00:00
1156
2
原创 JVM 运⾏时数据区
JVM运行时数据区域概述 JVM运行时数据区域(内存布局)由5部分组成: 堆(线程共享):存储所有对象实例,分为新生代(Eden+Survivor)和老年代。通过-Xms/Xmx参数设置大小。 Java虚拟机栈(线程私有):存储方法调用的栈帧,包含局部变量表、操作数栈等。栈内存即指此区域。 本地方法栈(线程私有):为本地方法服务。 程序计数器(线程私有):记录线程执行的行号,是唯一不会OOM的区域。 方法区(线程共享):存储类信息、常量等。JDK7称永久代,JDK8改元空间(使用本地内存),并将字符串常量池
2026-02-16 11:00:00
951
原创 简单了解 JVM
JVM(Java虚拟机)是运行Java程序的核心,通过软件模拟实现跨平台执行。它首先将Java代码编译为字节码,然后由类加载器加载到内存中,执行引擎再将字节码转换为系统指令执行。JVM包含四个关键组件:类加载器、运行时数据区、执行引擎和本地库接口。与VMwave等模拟硬件的虚拟机不同,JVM主要模拟Java字节码指令集,仅保留PC寄存器。这种架构实现了"一次编译,到处运行"的特性,使Java程序能在不同平台上执行。
2026-02-15 15:02:57
816
原创 网络原理 -KTTP/HTTPS(五) --认识响应“报头“(header) / “正⽂“(body)
本文介绍了HTTP响应报头的基本格式和常见Content-Type类型,包括text/html、text/css、application/javascript和application/json。详细说明了如何通过form表单构造GET和POST请求,以及通过ajax发送异步HTTP请求的方法。此外,还演示了使用Java Socket编程手动构造HTTP客户端的过程,包括GET和POST请求的实现。文章重点对比了不同请求方式的区别,如数据位置变化(GET在query string,POST在body),并解释
2026-02-14 15:47:06
1222
原创 网络原理-HTTP/HTTPS(四)--认识请求 “正⽂“ (body)
本文摘要: HTTP请求和响应中的Content-Type与状态码详解。请求部分介绍了三种常见Content-Type格式:application/x-www-form-urlencoded(示例为码云头像上传)、multipart/form-data和application/json。响应部分详细解析了HTTP状态码,包括200(成功)、404(资源未找到)、403(禁止访问)、405(方法不允许)、500(服务器内部错误)、504(网关超时)等常见状态码,以及301/302重定向的区别和应用场景。文章通
2026-02-13 12:35:42
1853
2
原创 网络原理-HTTP/HTTPS(三)--认识请求“报头“(header)
HTTP请求头采用键值对结构,常见报头包括Host、Content-Length和Content-Type。Content-Type指定请求体格式,常见类型有表单提交的application/x-www-form-urlencoded、文件上传的multipart/form-data和JSON格式的application/json。User-Agent包含浏览器和系统信息,Referer表示页面来源,Cookie用于身份验证,通过Set-Cookie设置并随请求发送。登录过程类似医院就诊卡机制,Cookie
2026-02-12 21:16:51
1003
原创 网络原理-HTTP/HTTPS(二)
本文介绍了HTTP请求中的URL基本结构和请求方法。URL包含协议名、服务器地址、文件路径、查询字符串等部分,其中部分内容可以省略。文章详细解析了GET和POST两种主要请求方法的区别:GET用于获取数据,请求体通常为空;POST用于提交数据,请求体通常包含数据。此外还简要介绍了PUT、DELETE等其他HTTP方法。文中还澄清了关于URL长度限制、安全性等常见误解,并说明了URL编码的必要性。
2026-02-11 18:53:49
1359
原创 ⽹络原理-HTTP/HTTPS(一)
HTTP是超文本传输协议,属于应用层协议,用于浏览器与服务器之间的数据传输。目前主流版本包括HTTP1.1和HTTP2.0(基于TCP),HTTP3.0则基于UDP开发中。HTTP采用请求-响应模式,当用户访问网站时,浏览器发送HTTP请求,服务器返回包含HTML、CSS等资源的响应。协议采用文本格式,报文由首行、头部(键值对)和正文组成,空行作为分隔符防止粘包问题。通过开发者工具或Fiddler等代理工具可抓包分析HTTP通信细节。
2026-02-10 16:10:33
1551
原创 多线程带来的的⻛险-线程安全
摘要:本文分析了多线程环境下的线程安全问题。通过一个count自增的示例,展示了线程不安全的原因:1)线程调度随机性;2)共享数据修改;3)操作缺乏原子性。解释了Java内存模型(JMM)中的主内存和工作内存概念,以及可见性问题。同时介绍了指令重排序对多线程的影响。最后给出了使用synchronized同步锁解决线程安全问题的方案,确保count变量在多线程环境下能正确累加到预期值10万。文章涵盖了线程安全的核心概念和典型解决方案。
2026-02-09 11:00:00
1964
原创 线程的状态
摘要:Java线程状态包括NEW(未启动)、RUNNABLE(可运行)、BLOCKED(等待锁)、WAITING(无限等待)、TIMED_WAITING(有时限等待)和TERMINATED(终止)。通过Thread.State可查看所有状态,使用jconsole可观察线程状态转换。NEW到RUNNABLE再到TERMINATED是基本生命周期;BLOCKED是等待获取锁,WAITING和TIMED_WAITING是等待通知,区别在于是否设置时限。实验表明:sleep()导致TIMED_WAITING,wai
2026-02-08 18:24:19
270
原创 初识多线程
摘要:本文系统介绍了线程的基本概念及其在Java中的实现。主要内容包括:1)线程的定义及其与进程的区别;2)Java创建线程的两种方法(继承Thread类和实现Runnable接口);3)线程的常用操作方法(start、join、sleep等);4)线程中断的两种方式;5)多线程的优势及适用场景。文章通过代码示例详细展示了线程的创建和使用方法,并解释了线程在并发编程中的重要性,特别强调了线程相比进程更轻量级的特点。
2026-02-07 16:09:36
1164
原创 网络原理-TCP/IP(四)
DNS系统将域名映射为IP地址,解决IP地址不易记忆的问题,采用UDP协议进行解析,浏览器会缓存DNS结果。NAT技术通过将私有IP转换为全局IP,解决IP地址不足问题,路由器自动维护转换表。NAPT进一步使用IP+端口建立关联关系,解决多主机访问同一外网服务器的转发问题。NAT虽存在无法外部连接、转换表开销等限制,但无需硬件更新即可解决IP短缺问题,是其最大优势。
2026-02-06 22:21:51
581
原创 网络原理-TCP/IP(三)
以太网是一种广泛应用于局域网的网络技术标准,包含数据链路层和物理层规范,如网络拓扑、传输速率(10M/100M/1000M)等。其帧格式包含48位MAC地址、协议类型字段和CRC校验码。MAC地址用于识别网络节点,通常不可修改。MTU(最大传输单元)限制数据包大小(以太网为1500字节),影响IP、UDP和TCP协议的数据分片与传输。ARP协议负责IP地址与MAC地址的映射,通过广播请求和单播应答实现地址解析,并维护动态更新的ARP缓存表。
2026-02-05 18:46:19
1307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅