Ajax Zhan's Blog
Welcome!This is Ajaxzhan.
坚信:品味优先于执行,价值驱动下创造、系统工程保安全
持续跟进AI前沿研究,持续思考技术、产品与思维。
坚信:品味优先于执行,价值驱动下创造、系统工程保安全
持续跟进AI前沿研究,持续思考技术、产品与思维。
JVM是Java虚拟机的核心,负责解释执行字节码、管理内存(含自动GC)和通过JIT编译优化热点代码。其规范支持多种语言运行,常见实现包括HotSpot、GraalVM等。JVM由类加载器、运行时数据区、执行引擎和本地接口组成。字节码文件包含魔数、版本号、常量池等结构,可通过jclasslib、javap或Arthas工具查看。类生命周期包括加载、连接(验证、准备、解析)、初始化等阶段,类加载器采用双亲委派机制保证安全,也可通过自定义类加载器、线程上下文类加载器等方式打破。
单元测试通过隔离依赖、拆分组件降低耦合,提升代码质量并减少bug,同时为重构提供保障。测试驱动开发(TDD)采用“先写测试再写功能”模式,能理清需求、设计接口,虽门槛高且需投入大量精力,但熟练后可提高效率。JUnit提供@BeforeAll、@Test等生命周期注解及断言方法,支持SpringBoot环境测试,并通过@ParameterizedTest实现带参测试。Maven的surefire-plugin可通过@Tag标签控制测试执行,如按环境分组或排除特定测试,确保打包前关键测试通过。
罗洛·梅《人的自我寻求》聚焦现代人泛化的失望与无意义问题,剖析空洞、孤独、焦虑的本质:空洞者缺乏自我感知,孤独源于对独立存在的恐惧,焦虑是心理冲突的信号。书中强调,人性如树需内在力量成长,理论的意义在于提供体系化思考,助我们建立自我体验(I-ness)、承担责任、创造性生活。通过增强自我意识、拥抱自由与责任、以勇气打破顺从、在爱中实现自我升华,我们能在不确定中找到方向,对抗焦虑与麻木,完成内修与自我整合,活出真实的生命体验。
本文记录了基于Docker的SpringBoot+Vue3项目部署全流程。首先在Ubuntu22服务器安装Docker及Docker Compose(国内环境采用apt安装解决网络问题);接着配置SpringBoot后端Dockerfile(基于openjdk:8-jdk-alpine)并打包Jar包,同时使用Vite构建前端项目并配置Nginx代理;通过docker-compose.yml编排MySQL5.7、Redis、Nginx及Java应用容器,实现数据卷挂载与端口映射;部署后重点解决常见问题:Maven打包需配置spring-boot-maven-plugin避免主类缺失,MySQL密码重置需修改my.cnf跳过权限校验,以及数据源问题需检查yml配置并注释多余依赖。最终通过`docker compose up -d`一键启动,实现前后端分离项目的容器化部署。
本文记录了作者对“学习金字塔模型”的学习感悟,该模型将学习分为六个阶段:不求甚解(概念理解)、找寻主干(原理拆解)、达成最小目标(demo实证)、构建知识树(全局整合)、迭代计划(问题驱动)、关键点突破(内化与顿悟)。文章强调实践是养成思考习惯的核心,迭代优于增量堆砌,需通过demo验证理论、复盘总结,再以问题驱动知识树演进。作者作为大二学生,正以此模型构建思维体系,平衡写作、管理等能力,探索IT行业成长路径,力求通过渐修实现顿悟。
Jordan Peterson在成熟主题讲座中,以“带时钟的鳄鱼”隐喻时间的无情侵蚀,警示人们若不主动面对局限,便会被动承受随年龄增长而累积的“惩罚”。他强调“学徒心态”的重要性:年轻时需经历狭窄却兼具约束与成长价值的训练期,方能解锁新的可能性。荣格的观点被引用为成熟的关键——在“学徒”阶段后,需重新连接被遗忘的本真自我。讲座还反思现代文化(如大学)可能让人延迟成熟,以虚假身份换取即时安逸,却剥夺了未来真正的成长空间。成熟,实则是与时间博弈、主动承担局限并重建自我的过程。
本文记录了伯克利CS61B课程Lab7中基于二叉搜索树(BST)的Map实现。BSTMap继承Map61B接口,通过内部BSTNode维护key、value及size属性,核心采用递归设计。实现要点包括:put操作时递归插入并更新节点size;size直接返回节点size属性,避免重复计算;删除操作分类处理(无子节点直接删除、单子节点替换、双子节点用右子树最小节点替换),需辅助函数removeMin和min;keySet通过先序遍历生成HashSet;iterator直接返回keySet迭代器。整体通过递归和size维护实现高效操作,体现了BST的经典应用。
本文针对前后端分离GPU预约系统多组件(Redis、MySQL、Java、Nginx)部署复杂、版本冲突问题,引入Docker简化部署。内容涵盖Docker安装配置及镜像加速,详细解析docker run命令参数与镜像、容器关系,介绍镜像/容器常用操作、数据卷挂载实现数据持久化,通过Dockerfile构建自定义镜像,讲解容器网络互连与Docker Compose多容器编排,并以实际项目部署案例演示一键部署流程,为复杂应用的高效部署提供实用指导。
**Reserve System是一个全栈开发的GPU显卡预约系统,采用前后端分离架构。前端基于Vue3+Element Plus实现,后端使用Spring Boot+MySQL+Redis,Python程序负责GPU状态监控。项目包含GPU管理、预约系统、工单审批、用户管理等功能,支持RBAC权限模型。部署灵活,支持本地运行、独立部署和Docker容器化部署。作者负责全栈开发,目前仅供实验室内部使用,计划后续完善后开源。当前V1.0版本已实现基本功能,作者正规划V2.0重构计划以提升系统成熟度。**
本文为数据结构与算法实验课中VS Code C++ Debug配置的回顾教程。作者因久未使用VS Code进行C++开发(平时多用命令行),需通过本次实验重新掌握配置流程。主要步骤包括:下载VS Code及MinGW编译器(选择x86_64-win32-seh版本),配置MinGW的bin目录到系统环境变量,安装Chinese和C/C++插件并重启。核心在于配置三个JSON文件(c_cpp_properties.json、launch.json、task.json),需将文件中的MinGW路径替换为本地实际路径。完成配置后即可进行C++程序Debug。文中提及,若觉得麻烦可考虑使用JetBrain Clion(学生认证免费)。