自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 阻塞队列——实现生产者消费者模型

wait() 的线程,在没有被notify唤醒的情况下,也可能被操作系统唤醒。所以不能用if判断队列状态,必须用while循环。// ❌错误!if只判断一次,虚假唤醒后不会二次校验if(队列是空){wait();// ✅while循环,唤醒之后再次循环检查条件while(队列是空){wait();原理:线程被唤醒后,会重新回到while条件判断。如果此时队列依旧为空,会再次进入wait等待,规避虚假唤醒带来的bug。无界队列OOM风险。

2026-09-26 18:22:34 305

原创 简历大师 oolong 小程序功能测试报告

本次完成证件照制作模块全流程测试:3张不同类型图片(证件照、生活照)均可正常完成AI抠图、背景替换、证件照生成,AI图片处理能力稳定,图片识别效果符合产品预期。简历制作模块未完成完整流程,在执行生成环节触发积分与系统报错缺陷,功能被阻断。个人分析:证件照模块的AI图片处理能力表现良好;但简历制作模块在积分校验逻辑、异常提示交互上存在明显的产品体验缺陷。积分不足属于业务场景,不应该抛出“未知错误”这类技术故障提示,容易造成用户误解,降低用户留存与付费转化。

2026-09-20 13:38:33 152

原创 Java单例模式|从基础到多线程安全

单例核心:私有构造器 + 全局唯一实例 + 静态获取入口饿汉简单但无懒加载;基础懒汉多线程不安全;加锁方法性能差双重检查锁是重点,volatile禁止指令重排静态内部类:代码简洁,推荐业务开发使用枚举单例:安全性最高,《Effective Java》推荐,防止反射、序列化破坏。

2026-09-18 22:32:21 309

原创 Java多线程重点解析sleep,join,interrupt和死锁必要条件以及wait和sleep的区别

多线程核心难点:不是开启线程,而是控制并发安全。先分清线程状态、基础API理解线程安全产生的底层原理(指令交错、缓存)掌握synchronized锁原理、锁升级、死锁拓展学习:线程池、Lock锁(AQS)、CAS、ThreadLocal。

2026-09-10 13:13:16 313

原创 HOJ判题测试报告

本次模拟企业完整测试流程,对HOJ在线判题Web系统开展质量验证,覆盖手动功能测试、Fiddler抓包接口测试、UI自动化回归测试、JMeter性能压测。被测模块:用户注册登录、题目题库模块、训练集模块、比赛模块、提交评测模块、讨论区模块、排行榜团队模块。手动功能测试验证业务流程,发现页面交互、业务逻辑缺陷;UI自动化覆盖高频核心场景,用于版本迭代快速回归;Fiddler抓包篡改请求,校验接口参数校验、权限越权、判题提交接口报文;

2026-09-08 22:37:36 163

原创 电商项目测试报告

本次模拟企业完整测试流程,对电商Web系统开展质量验证,覆盖功能测试、接口与抓包测试、自动化测试、性能测试被测模块:用户登录注册、首页商品、商品搜索详情、购物车、订单结算、个人中心、权限越权校验。功能测试保障业务流程可用,挖掘业务功能缺陷;UI自动化实现核心场景回归,减少重复手工回归工作量;使用Fiddler抓包,分析接口请求响应,发现参数校验、权限越权类后端漏洞;性能压测验证系统并发承压能力,提前识别性能瓶颈。

2026-09-08 22:20:07 224

原创 Java Socket网络编程|TCP与UDP深度梳理

阻塞问题accept()、IO流read()全部会阻塞线程。并发场景需要多线程,后续进阶NIO非阻塞IO。端口占用异常:端口被别的进程占用,启动直接报错;测试注意关闭旧程序释放端口。本机测试与跨机器测试127.0.0.1只能本机访问;跨机器要填写真实局域网IP,防火墙放行端口。数据读取长度陷阱:UDP必须使用;TCP字节流注意区分读到的有效字节长度和缓冲区数组总长度。TCP字节流无报文边界;UDP数据包自带边界,这是二者编程最大区别。异常处理。

2026-09-07 13:32:56 450

原创 Java IO 完整学习笔记|字节流、字符流、缓冲流、资源关闭全梳理

read()返回值是int,判断结束条件==‑1,不要强转byte/char再判断。字符流忘记flush/close,文件为空,数据丢失。FileWriter追加模式:构造传入第二个参数true,否则每次覆盖旧文件。FileReader/FileWriter跟随系统编码,跨平台乱码,指定编码优先用转换流。不要拿字符流读取二进制文件,文件直接损坏。流资源务必释放,优先,杜绝句柄泄漏。缓冲流是包装流,关闭外层缓冲流即可,内层被包装流会自动关闭。文件路径:Windows路径需要转义。

2026-09-02 08:00:00 353

原创 Java入门:线程创建的四种方法和为什么线程不安全

多线程不是银弹,不是线程开越多速度越快;上下文切换有成本。线程安全是多线程开发最大坑点,只要共享可变数据就要警惕。start()和run()一定要分清:run只是普通方法,start才真正创建操作系统线程。守护线程适合做后台辅助任务,不能用来执行必须完成的业务。

2026-08-30 23:08:12 368

原创 Java多线程初阶完整总结|线程、锁、volatile、等待通知、常见案例

线程就是一条独立执行流,多个线程可以同时执行多份代码。进程是资源分配的最小单位;线程是CPU调度的最小单位。一个进程至少包含1个主线程;同一个进程内多个线程共享堆、方法区内存;每个线程私有虚拟机栈、本地方法栈、程序计数器;进程之间内存相互隔离;一个线程崩溃,会导致整个进程崩溃。充分利用多核CPU算力;IO等待时可以执行其他任务,提升程序整体效率;相比进程,线程创建、销毁、调度开销更小。

2026-08-27 20:00:00 359

原创 Java CAS 原理总结

CAS只检查变量当前值是否等于预期值,它不关心中间是否被修改过。线程A读取变量值为A;线程B把值从A修改成B,又马上改回A;线程A执行CAS,发现内存值还是A,认为没有被修改过,执行更新操作。CAS只比对数值,无法识别“中间发生过变化又改回原值”的情况,在部分业务场景会产生逻辑bug。生活类比:二手手机,手机从A到B再回到A,手机本体已经被转手过,但数值没变,CAS识别不出。ABA不是一定会出bug;只有业务逻辑需要感知“变量是否被改动过”的时候才会造成问题。

2026-08-26 20:16:26 362

原创 Java--多态篇!!

本文介绍了Java面向对象编程中的多态特性。主要内容包括:1.多态的概念和实现条件(继承体系、方法重写、父类引用调用);2.方法重写的规则和注意事项;3.向上转型和向下转型的使用方法及注意事项;4.多态的优缺点(降低复杂度但影响效率)。通过代码示例展示了多态的具体应用场景,并比较了重写与重载的区别,最后指出多态虽然增强了代码灵活性,但也带来了运行效率降低的问题。

2025-12-12 12:14:09 498 9

原创 java--继承篇!!

第四点解释,当我们重载子类构造方法时,this()调用,会调用重载的子类构造方法。而this()和super()在构造方法中,都必须是第一条语句,所有不能同时出现。

2025-12-06 21:04:11 1270 26

原创 Java--面向对象之封装篇!!!

封装就像是把东西放在⼀个盒子里,并且控制谁可以打开这个盒子,以及如何使用盒子里的东西。在编程中,它指的是将数据(属性)和操作这些数据的方法(函数)包装在⼀个单元(通常是类)内。仅对外公开一些接口来和对象进行交互。

2025-12-01 10:39:35 695 19

原创 java--类和对象(详解!!)

Java是一门面向对象的语言,在学习它之前需要先了解什么是对象?对象就是现实生活中的实体,比如,冰箱,洗衣机,人等等。面向对象是一种解题思想,就是依靠对象之间的交互完成任务。比如,人把衣服给洗衣机,这里人和洗衣机就是对象。我们只需要使用洗衣机就可以,不需要关注洗衣机是怎么洗衣服的。这就是依靠对象之间的交互来完成任务。类是⽤来对⼀个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来⼲啥),描述完成后计算机就可以识别了。

2025-11-24 23:16:11 1349 23

原创 C语言--编译和链接(详细介绍)!!

而如果我们在test.c的文件中使用了list.c定义的Add函数,由于每个文件都是单独经过编译器的编译,我们是没法知道调用函数的地址,这时候就暂时把这条指令(函数地址)搁置,等到链接时,链接器会根据函数名(Add)在其他文件中查找该函数的地址,然后将test.c文件中所有使用Add函数的指令修正,即定位到该函数正真的地址,这就是重定位。语义分析是在语法树的基础上(语法层面上)进行的语义分析,编译器进行的分析是静态的语义分析,即对函数类型的。链接的过程包括:地址和空间的分配,以及重定位。

2025-11-17 15:22:13 1044 22

原创 C语言--文件读写函数的使用

使用fopen来打开文件,就要了解关于文件的访问模式:使用“r”打开文件,打开的文件必须存在,否则,程序出错使用“w”打开文件,如果文件存在,并且文件中有数据,会清空数据。文件不存在,会建一个新文件打开文件用fopen有文件的打开就有文件的关闭,关闭文件用fcloseint main()return;//写文件//关闭文件fclose(pf);pf = NULL;return 0;

2025-11-09 22:09:46 1303 21

原创 C语言--内存函数(详解)

这里介绍的几个库函数,相比于strcpy,strcat,strcmp这些字符串库函数,它们的应用范围更加的广泛,不只局限于字符串,它们适用于任意类型的数据。

2025-11-05 00:24:35 1079 24

原创 C语言--指针(详解)

根据数组名是数组⾸元素的地址这个规则,⼆维数组的数组名表⽰的就是第⼀⾏的地址,是⼀维数组的地址。根据上⾯的例⼦,第⼀⾏的⼀维数组的类型就是 int [5] ,所以第⼀⾏的地址的类型就是数组指针类型 int(*)[5]&arr的地址值与arr相同,但类型不同(&arr的类型是int(*)[5],指向整个数组)。指针的大小与其指向的数据类型无关,无论是指向char、int还是其他类型,指针本身的大小是固定的。⽐如: char* 的指针解引⽤就只能访问⼀个字节,⽽ int* 的指针的解引⽤就能访问四个字节。

2025-11-01 19:06:15 1014 15

原创 (C语言)指针程序题——练习

但这个方法要用到一个数组形成的辅助空间,还可以有更好的选择,例如ABCDEFG,左旋3次后变成DEFGABC,有一个特殊的操作方式:先将要左旋的前三个家伙逆序(CBADEFG),然后将后半段也逆序(CBAGFED),最后整体逆序(DEFGABC)即可。strstr用于在一个字符串中查找另一个字符串的首次出现位置,如果找到子字符串,返回指向主字符串中子字符串首次出现位置的指针。有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。

2025-10-26 16:57:48 947 35

原创 C语言-扫雷游戏(附完整代码)

本文介绍了基于控制台实现的经典扫雷游戏,重点解析了游戏核心功能的代码实现。游戏采用9×9棋盘,默认随机布置10个雷,通过两个11×11的二维数组分别存储雷区信息和排雷信息。文章详细阐述了游戏框架设计,包括菜单系统、循环控制等主程序结构,并重点分析了雷区初始化、显示、布雷、排雷等关键功能的实现方法。特别介绍了递归算法实现的大面积自动排雷功能,当探测到周围无雷区域时自动展开相邻区域。同时说明了坐标有效性检查、重复输入检测等细节处理,完整呈现了一个简单但功能完备的扫雷游戏实现方案。

2025-10-18 16:04:23 1416 27

原创 分支与循环的基础练习

本文介绍了四个C语言编程练习题的解决方案:1)猜数字游戏,通过生成随机数和循环猜数实现交互;2)打印9*9乘法表,使用双重循环实现;3)找出100-200之间的素数,通过试除法判断;4)求两数最大公约数,使用辗转相除法。每个题目都给出了完整的代码实现和解题思路,涵盖了循环、条件判断、随机数生成等基础编程概念。这些练习适合C语言初学者巩固基础编程能力。

2025-10-12 17:09:41 1064 26

原创 # C语言的分支/循环语句——(详解)!!!

本文介绍了C语言中的控制结构,包括分支结构(if/switch语句)和循环结构(while/for/do-while循环)。重点讲解了if语句的悬空else问题、switch语句的case穿透现象,以及三种循环的特点和使用场景。同时说明了break和continue语句在不同循环中的区别,并简要提及了不推荐使用的goto语句。通过代码示例展示了这些控制结构的实际应用,如判断余数、打印乘法表等,帮助读者理解C语言程序流程控制的核心概念。

2025-09-27 20:08:47 701 25

原创 人生中的第一篇博客

【摘要】一名专升本通信工程专业学生分享编程学习经历:因儿时黑客梦想和首次Python代码成功的喜悦而爱上编程。当前学习目标包括扎实掌握C语言基础、后续学习C++、Linux和MySQL。坚持每天4小时编程学习,通过代码练习和GitHub打卡保持动力。虽然起点较低,但坚信"现在的努力决定十年后的自己",并立志通过持续学习获得大厂offer。全文展现了编程初学者的热情、清晰的学习规划和积极的人生态度。(149字)

2025-07-03 22:21:30 364 20

空空如也

空空如也

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

TA关注的人

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