JMeter安装全攻略:JDK配置与环境变量详解

JMeter这个工具,做技术的人多少都听过。一说性能测试、压力测试,基本绕不开它。但很多新手第一次接触JMeter,还没开始写测试计划,就卡在安装这一步,下载、解压、配置环境变量、启动,每一步都可能出问题。我见过不少同事,装了一下午没搞定,最后跑来问我为什么双击bat文件闪一下就没反应。其实真不是他们笨,而是网上的教程要么太旧,要么跳过了关键细节。

这篇就是写给零基础小白的JMeter安装图解。我会把从下载到启动的每一步都拆开讲清楚,告诉你为什么要这么配置,碰到报错怎么排查。文章不涉及复杂的测试理论,先把工具跑起来,你才能谈后面的脚本编写、参数设置这些事。不管你之前有没有接触过Java和性能测试,照着这篇一步步来,几分钟就能把JMeter跑起来。

1. 先搞清楚:安装JMeter前你最好知道这些事

1.1 JMeter是什么,装了它能干嘛

JMeter是Apache旗下的开源桌面应用,主要用来做性能测试和接口测试。你可以把它理解成一个“流量模拟器”:它能模拟成百上千个用户同时访问你的网站、接口、数据库,然后把服务器的响应时间、吞吐量、错误率这些指标统计给你看。

很多新手以为JMeter是用来“压垮”服务器的工具,这个理解不全面。它更像一个“测量仪”,让你知道你的系统在什么并发量下开始变慢,哪个接口是瓶颈,数据库连接池够不够用。除了性能测试,日常做接口联调、自动化测试,JMeter也很好使,这也是它这么多年一直没被淘汰的原因。

安装JMeter的最大门槛,不是软件本身复杂,而是它依赖Java运行环境。JMeter是用Java写的,跑起来必须有JDK或JRE支持。很多人卡在安装环节,十有八九是Java环境没弄对。

1.2 JMeter和Java版本搭配的底层逻辑

先说结论:JMeter 5.x版本要求JDK 8或以上,JMeter 5.5之后的版本建议直接用JDK 11或JDK 17。JDK 8虽然也能跑,但控制台会提示你升级,而且一些新特性用不了。

这里要给零基础的朋友解释一下JDK、JRE、JVM的关系,很多人就是被这几个名词搞晕的。JVM是Java虚拟机,负责把Java字节码翻译成当前操作系统能懂的命令;JRE是Java运行时环境,包了JVM和一堆基础类库;JDK是Java开发工具包,包了JRE和javac编译器、调试工具这些开发用的东西。

JMeter只需要运行Java程序,理论上装JRE就行。但实际下载JMeter的时候,官方要求你装JDK,原因是JMeter某些插件功能需要用到JDK自带的工具。所以别图省事只装JRE,直接装JDK最省心。

版本选择上,我推荐这么配:装JMeter 5.6.x版本(目前较新的稳定版),配JDK 17或JDK 11。JDK 21太新,个别插件兼容性还没跟上。JDK 8能用但偏老,有些新插件不支持。

1.3 为什么要配置环境变量

不少新手第一次听说“环境变量”这个词,感觉很高大上。其实环境变量就是操作系统里的一组全局参数,相当于给系统指路用的地图。你配置JAVA_HOME,就是告诉系统和各种Java程序:“Java装在哪个目录,你们需要的时候去这里找”。

不配置环境变量行不行?分两种情况。如果你只是临时跑一下JMeter,找到bin目录下的jmeter.bat双击,理论上也能启动,前提是你把JDK的bin目录也手动加到了系统的Path里。但JMeter本身会通过JAVA_HOME去找Java。更关键的是,你以后装别的Java工具,比如Maven、Gradle、Jenkins,都依赖JAVA_HOME。所以这一步绕不开,配置好一劳永逸。

后面我会给出具体配置步骤,你先记住一个原则:安装目录的路径里不要带中文、不要带空格,用纯英文路径。我见过有人把JDK装在“D:\软件\Java”,结果启动JMeter时报错找不到类,把路径改成“D:\dev\Java”就好了。这是Windows下Java程序最常见的坑之一。

2. JDK安装全流程:JMeter能跑起来的前提

2.1 怎么检查电脑里有没有装Java

很多新手的电脑其实已经装了Java,只是自己不知道。先别急着下载JDK,打开命令行窗口验证一下。Windows系统按Win+R键,输入cmd回车,在弹出的命令行窗口里输入java -version然后回车。如果显示类似java version "17.0.8"这样的信息,说明Java已经装了。再看看javac -version,如果也正常返回版本号,说明装的是JDK而不是只有JRE。

如果提示“java 不是内部或外部命令”,那就是没装或者没配置Path。还有一种情况比较隐蔽:电脑里装了多个Java版本,命令行里显示的是老的Java 8,而新版Java装在别的目录。这种情况建议先把旧版本的Java卸载干净,再来安装配置,省得后面排查问题排查到怀疑人生。

另外提醒一下,Windows下有些软件安装时会自动带上Java运行时,比如某些网银控件、OA客户端。这些Java环境版本往往比较老,也不适合直接拿来跑JMeter。如果你不确定自己电脑里的Java是哪来的,干脆卸载掉重装一个新的JDK。

2.2 下载JDK:版本和渠道怎么选

下载JDK,我建议直接去Oracle官网,或者选择开源的Adoptium项目(现在叫Eclipse Temurin)。有些公司用Oracle JDK有商业授权顾虑,用Temurin这种OpenJDK发行版就没这个问题,个人学习用两者区别不大。

版本选择上,给JMeter配JDK 17是目前比较合理的方案。JMeter 5.6.x在JDK 17下运行稳定,G1垃圾回收器的默认配置也比JDK 8时代好,测试结果的稳定性有保障。别下载JDK 24、JDK 25这种太新的版本,JMeter官方测试没跟上,容易出现莫名其妙的问题。

下载的时候注意看安装包格式:Windows系统有exe安装版和zip解压版两种。我推荐用zip解压版。原因有两条:第一,解压版不写入注册表,以后想换版本直接删文件夹就行,卸载JDK时也不用担心注册表残留;第二,解压版的目录结构一目了然,配置JAVA_HOME时不容易找错路径。exe安装版虽然自动配置Path,但它会把Java安装到C盘Program Files目录,路径里带空格,后续有些工具有兼容问题。

2.3 JDK解压与JAVA_HOME配置详解

拿到JDK的zip压缩包后,放到你认为合适的位置解压。和我前面说的一样,路径别带中文和空格。我自己习惯放在D盘根目录下一个统一的开发工具目录里,比如D:\dev\jdk-17。解压完成后,你看到的目录结构应该是这样的:bin、conf、include、jmods、legal、lib这几个文件夹,加上一个release文件。

接下来配置环境变量。右键“此电脑”选“属性”,在左侧点“高级系统设置”,点右下角的“环境变量”按钮。在弹出的窗口里,上方是当前用户的变量,下方是系统变量。JAVA_HOME配置在系统变量里比较稳妥,所有用户都能用。

新建系统变量:变量名填JAVA_HOME,变量值填你JDK解压的路径,比如D:\dev\jdk-17。注意不要填到bin目录那一层,要填到JDK的根目录。然后找到系统变量里的Path变量,双击它,新建一行输入%JAVA_HOME%\bin。配置完后,点确定保存,然后重新打开一个命令行窗口,输入java -version验证。这里一定要重开命令行窗口,因为环境变量的修改不会自动刷新已经打开的窗口。

注意:网上有些教程让你在Path里填完整路径D:\dev\jdk-17\bin,也能用,但不够好。用%JAVA_HOME%\bin这种方式,以后你升级JDK时只要改JAVA_HOME一个变量就行,不用动Path。多花十秒钟,后面省很多事。

3. JMeter本体安装:从下载到启动一条龙

3.1 下载JMeter:Apache官网还是镜像站

JMeter的官方下载页面在Apache JMeter官网,进去后找到Download Releases区域,你会看到两个压缩包选项:apache-jmeter-xxx.zip和apache-jmeter-xxx.tgz。Windows用户下载zip格式就行。

下载页面还会让你选择镜像站。国内用户选Apache官方镜像列表里离你近的地区,或者一些高校镜像源,速度会快很多。这里有个小技巧:如果你发现官网下载特别慢,可以换国内镜像源,比如一些大厂的开源镜像站。下载速度能从几KB每秒提升到几MB每秒。

下载下来的zip包大约100多MB,不大。解压后你会得到apache-jmeter-xxx这个文件夹,里面有几个关键目录:

  • bin:启动脚本所在目录,jmeter.bat是Windows启动文件,jmeter是Linux/Mac启动文件
  • lib:JMeter运行所需的jar包,以后安装插件也是扔到这里
  • docs:官方文档,离线时候翻翻很有用
  • extras:一些辅助脚本和配置文件

把解压后的文件夹放在你顺手的目录,建议也放到纯英文无空格路径下。我自己习惯放在D:\dev\apache-jmeter-5.6.3,和JDK放在同一个开发目录里,用的时候好找。

3.2 配置JMETER_HOME:这个可选但推荐

严格来说,JMeter不配置JMETER_HOME环境变量也能启动。但如果你以后要用JMeter的插件管理功能,或者通过命令行执行测试脚本时需要引用JMeter目录,就最好配置一下。

配置方法跟JAVA_HOME一样:新建一个系统变量,变量名填JMETER_HOME,变量值填JMeter解压的目录路径,比如D:\dev\apache-jmeter-5.6.3。然后在Path变量里追加一行%JMETER_HOME%\bin。

配置完成后,打开一个新的命令行窗口,输入jmeter -v。如果看到一堆版本信息,说明JMeter安装成功了。注意:在命令行直接输jmeter启动的是命令行模式,不会弹图形界面,这是正常的。很多新手以为输入jmeter就是打开图形界面,结果看到黑窗口里的版本信息,以为自己配错了。

3.3 双击启动:bin目录下的jmeter.bat

启动JMeter图形界面的官方方式是双击bin目录下的jmeter.bat文件。但是双击bat文件有一个让新手特别困惑的问题:启动过程中会弹出一个命令行黑窗口,一闪而过,然后JMeter的图形界面才慢慢出现。很多人看到黑窗口一闪以为是报错,其实那是JMeter在打印日志信息。

如果双击后JMeter界面没有弹出来,怎么办?这时候不要急着双击第二次,先排查原因。有几个高频原因:一是JAVA_HOME配置错了,找不到Java环境;二是JDK版本太老或太新和JMeter不兼容;三是系统内存不够,JMeter启动时分配的堆内存太小。

排查方法:打开命令行窗口,先输入java -version确认Java没问题,然后进到JMeter的bin目录下,直接输入jmeter回车。注意,在命令行窗口里运行可以看到完整的报错信息。黑窗口一闪而过这个问题,本质上是bat脚本执行出错但没有暂停导致的,在命令行里跑就能看到具体的报错文本,方便定位。

提示:双击jmeter.bat启动时,那个命令行窗口会保持打开状态。在你关闭JMeter图形界面之前,不要手动关掉这个黑窗口,否则会把JMeter整个关掉。这个坑我踩过不止一次,测试跑到一半不小心把命令行窗口关了,结果性能测试直接中断。

3.4 验证是否真的安装成功

JMeter图形界面打开后,你会看到一个菜单栏包含File、Edit、Search、Options、Tools、Help的主窗口。能弹出这个界面,就说明安装已经成功了。首次启动时可能会稍慢,因为JMeter要加载一堆jar包和组件定义,属正常现象。

启动完成后,还有一个推荐做的验证:在JMeter界面的Options菜单里选Log Viewer,看日志有没有报错。如果日志里一片绿,没有红色的ERROR,说明环境干净。如果看到类似“Unrecognized VM option”的红色报错,那就是JDK版本问题,换JDK版本就对了。

第一个测试建议做一个最简单的:新建线程组,加一个HTTP请求,填一个你熟悉的小网站地址,设置1个线程循环1次,点击绿色三角按钮运行。如果查看结果树里显示绿色对勾,说明JMeter从启动到发请求到收响应,整条链路都通了。这一步做完,你的JMeter环境才算真正“通了”,接下来的学习才有基础。

4. JMeter界面与基本操作:装完之后怎么确认一切正常

4.1 JMeter主界面导航说明

JMeter启动后的界面,对于第一次接触的人来说会有点懵。左侧是一棵“测试计划树”,像电脑里的文件夹一样可以展开收缩,所有测试相关的东西都在这里组织。右侧是参数区,你选中左侧某个节点,右侧就会显示对应的配置项。

测试计划树里预置了几个节点:Test Plan、WorkBench。Test Plan是你写测试的主区域;WorkBench(工作台)在新的JMeter版本里默认不显示,如果想调脚本临时存放东西可以右键添加。左侧树上的节点的顺序本质上就是测试执行的顺序,比如线程组下面挂采样器、监听器,由外到内逐层配置。

界面上的图标需要认识几个核心的:绿色三角是运行当前测试计划,红色正方形是停止测试,黑色方框是清空历史数据。常用快捷键有Ctrl+S保存测试计划、Ctrl+R运行测试计划。保存的测试计划文件扩展名是jmx,这本质上是一个XML格式的文件,以后你会经常和它打交道。

4.2 快速跑通第一个接口测试

为了确认安装没问题,我来带你走一遍最简的测试流程。左侧树右键点击Test Plan -> Add -> Threads(Users) -> Thread Group,添加一个线程组。再右键点击这个线程组 -> Add -> Sampler -> HTTP Request,添加一个HTTP请求。

选中HTTP Request,右侧配置面板里填服务器名称或IP,比如填www.example.com,HTTP请求方法保持GET就行。再右键点击线程组 -> Add -> Listener -> View Results Tree,添加一个查看结果树监听器。然后点击上方绿色三角运行按钮。

跑完后点击左侧的“查看结果树”,你会看到HTTP请求的发送记录。如果返回的响应数据里包含网页的HTML内容,说明你的JMeter已经具备发送请求、接收响应的能力了。别看这个测试简单,JMeter所有的脚本,不管多复杂,本质上都是这个东西的变体:线程组决定并发用户数量,HTTP请求决定发什么请求,监听器决定怎么看结果。

4.3 图形化界面启动太慢怎么办

有不少人反馈JMeter图形界面启动特别慢,双击后等了半分多钟才出界面。这个问题的根源在于JMeter默认给图形界面分配的内存比较小。JMeter启动时会读取bin目录下jmeter.bat里的内存配置参数,你可以手动改大。

用文本编辑器打开jmeter.bat,找到set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m这一段。解释一下这几个参数:Xms是JVM初始堆内存,Xmx是最大堆内存,MetaspaceSize是元空间大小。想加快启动速度,把Xmx改大一点,比如-Xmx2g,然后给MetaspaceSize也适当加大一点,改成512m或1g。如果你的电脑内存比较充裕,也可以直接-Xmx4g,性能测试时能承载更多虚拟用户。

但要注意:不要把Xmx改得比电脑物理内存还大。我见过有人电脑只有8G内存,把Xmx改成6G,结果JMeter跑起来后整个系统卡死,其他程序全都没响应。基本原则是Xmx不超过物理内存的一半。还有一点,jmeter.bat改完只对Windows的bat启动生效,Linux/Mac上用的是jmeter文件里的配置,要改的话得去改那份。

5. 安装过程高频报错排查:按图索骥专治各种闪退

5.1 启动闪退或黑窗口一闪而过

这个问题出现频率排第一。前面提过,排查的第一步是不要双击bat,而是打开命令行窗口,cd到JMeter的bin目录,输入jmeter回车。这时你会看到具体的错误信息。

如果是“Error: Java_HOME not found”或者“Not able to find Java executable or version”,那就是JAVA_HOME没配好或配置的路径不对。回过去检查环境变量JAVA_HOME的值是不是JDK根目录,Path里有没有加入%JAVA_HOME%\bin。

如果是“Unsupported Java version”或者“Unrecognized option”,那就是JDK版本和JMeter不兼容。记住一条快查规则:JMeter 5.4支持JDK 8到17,JMeter 5.5及以上支持JDK 8到21,但建议用11或17。装新JDK,重新改JAVA_HOME指向新路径,再启动就行。

如果是“Could not create the Java Virtual Machine”,一般是内存配置问题。你改了jmeter.bat里的HEAP参数,但改得太大了,JVM创建失败。把Xmx值调回合理范围,重启。

5.2 界面能打开但中文显示乱码

JMeter界面能打开,但请求响应里的中文全是乱码,这个也常碰到。原因和JMeter本身无关,而是没有正确设置响应数据的字符集。在查看结果树里看到的乱码,通常是请求到的网页本身是UTF-8编码,但JMeter默认用了ISO-8859-1解析。

解决办法有两个。临时做法:在HTTP请求的Content Encoding里填UTF-8,这样大部分响应能正确显示中文。全局做法:修改bin目录下jmeter.properties文件,找到sampleresult.default.encoding,把默认值ISO-8859-1改成UTF-8,去掉前面的注释符号#,保存后重启JMeter。个人推荐改全局配置,这样以后新建的测试计划默认就是UTF-8,不用每个请求单独设置。

顺便说下,JMeter界面菜单本身的语言一般是英文的。想切换成中文界面的话,Options -> Choose Language -> Chinese(Simplified)即可。这个设置只对本次会话有效,下次启动又变回英文。想要永久生效,同样去jmeter.properties里改language=zh_CN,把前面的#去掉,保存重启。

5.3 端口、权限和杀毒软件导致的诡异问题

有些环境问题比较隐蔽,报错信息也看不懂,需要额外排查。比如在命令行启动时报“Permission denied”,在Windows下多半是杀毒软件拦截了解压后的JMeter文件。把JMeter目录加入杀毒软件的白名单,或者临时关闭杀毒软件再启动试试。

还有一种是JMeter能启动,但进行性能测试时发送请求报错“Permission denied: connect”,这通常是本机防火墙阻止了JMeter的入站或出站连接。在Windows防火墙设置里,把JMeter的java进程加入允许列表。怎么找这个进程?打开任务管理器,找到正在运行的java.exe进程,查看路径确认是JMeter目录下的JDK路径,然后在防火墙里放行它。

日志检查也要习惯。JMeter界面里Options -> Log Viewer,或者在bin目录下的jmeter.log文件,都能看到详细报错。很多人出了问题只看弹窗报错,其实真正的细节全在日志文件里。经验是:先看日志里第一条ERROR,解决掉第一条,后面的错误往往会一并消失。

5.4 系统资源占用过高的处理

JMeter安装本身不占多少资源,但启动后占用内存较大,尤其是跑了比较大的测试计划。打开任务管理器,看到java.exe占用内存好几个G,其实也正常。前面提到的HEAP参数就是控制这个上限的,你设置多大,JMeter就能用到多大。

如果你既想跑大测试,又不想影响正常办公,可以准备两个启动脚本:一个日常开发用的小内存配置(-Xmx1g),一个压测时用的大内存配置(-Xmx4g)。实际测试时用大内存的启动,平时编辑脚本用配置低的那个。这个做法用起来体验很好,推荐你也这样分。

6. 安装完成后的第一课:认识JMeter的核心组件

6.1 线程组、采样器、监听器是最小闭环

装好JMeter只是开始,但很多人不知道接下来该学什么。我给出建议是:先搞懂线程组、采样器、监听器这三个组件,因为它们构成了一个最小可用的测试闭环。

线程组定义“谁在访问”:线程数就是模拟的用户数,Ramp-Up Period是这些用户在多长时间内全部启动,循环次数是跑几遍。举个例子:线程数100,Ramp-Up 10秒,循环5次,意思就是10秒钟内陆续启动100个虚拟用户,每个用户把测试跑5遍。采样器定义“访问什么”:HTTP Request是最常用的采样器。监听器定义“结果长什么样”:查看结果树看单个请求细节,聚合报告看整体统计数据。

理解了这个三元组,你就能看懂任何JMeter脚本的骨架。后面再去学控制器、定时器、断言这些组件,都是在给这个最小闭环加控制和丰富功能。

6.2 从哪里找JMeter的插件和扩展

JMeter装好后很多功能不是开箱即用的,比如更丰富的图形报告、更复杂的压力控制,需要装第三方插件。最正统的插件入口是JMeter Plugins Manager,一个插件管理器。下载这个jar包后放到lib/ext目录下,重启JMeter,菜单栏会出现Plugins Manager选项。

需要的插件从这里搜就行。不过这里要给新手一句提醒:安装插件前先确认插件版本和你的JMeter版本兼容,不然容易把JMeter搞崩。装完插件启动不了的,先检查是不是版本冲突,把lib/ext目录下的jar包清干净再逐个安装尝试。

另外JMeter自身很强大了,很多功能不是“缺插件”而是“没找到”。比如生成HTML性能报告,用命令行执行完测试后加上-g参数指定结果文件就能生成,不用装任何图表插件。如果装了一堆插件,反而给JMeter增加负担,启动会更慢,遇到的兼容问题更多,得不偿失。

6.3 命令行模式:早晚要会的启动方式

图形界面适合调试脚本,但真正跑性能测试,尤其是大并发压测,建议用命令行模式。原因有几点:图形界面本身会消耗资源,影响测试结果的准确性;命令行模式支持无头执行,适合服务器远程跑;命令行模式生成的报告更规范。

命令行启动的基本命令是jmeter -n -t test.jmx -l result.jtl -e -o report_dir。-n表示非图形模式,-t指定测试计划文件,-l指定结果文件,-e和-o表示生成HTML报告。跑完后去报告目录打开index.html,就能看到完整的性能分析报告。

安装完JMeter后,你迟早会用命令行模式,但这不是今天的重点。先把图形界面用熟练,把测试脚本调通,命令行的路自然就顺了。

7. 安装过程中那些没人告诉你的经验

安装JMeter本身不难,但我见过太多人在这个环节浪费了大把时间。我总结几条经验,不说出来总觉得亏。

第一,安装类工具的时候,尽量全部用默认选项,不要自作主张调整路径。有些人喜欢把软件装到奇葩的位置,比如桌面、C盘根目录,后续配置环境变量时路径难记不说,还可能因为权限问题导致启动失败。JDK和JMeter就装到规范干净的开发目录里。

第二,环境变量配好后一定要重开命令行窗口再验证。我之前见过有人配完JAVA_HOME,在旧的命令行窗口里验证,一直提示找不到命令,以为配置失败,反复重配置好几次。其实只要新开一个窗口,一切正常。

第三,遇到报错不要急着百度整段抄命令,先看报错信息。大部分JMeter安装问题,报错信息里都明确写着原因,比如JAVA_HOME路径不对、JDK版本不兼容、内存不足。把关键英文关键词抄下来搜索,比直接搜“JMeter打不开”有效得多。这也是我排查问题最常用的思路。

第四,我个人的一个习惯是安装完JMeter第一时间修改jmeter.properties里的语言和编码配置。这一步看着无关紧要,但能避免后面调试脚本时被中文乱码和操作习惯问题干扰。工具装好了,调试的体验才会顺畅。

第五,把JMeter和JDK装好后,先把电脑重启一次再用。Windows下有些环境变量配置不重启也能生效,但重启一次更彻底,能避免一些莫名其妙的“配置了但没生效”问题。

安装这件事,本质上就是个流程问题。只要JDK版本对得上、路径里没中文、环境变量指向正确,JMeter就能跑起来。后面还有很多更有趣的内容等着你去学,比如怎么设计测试场景、怎么分析聚合报告、怎么调优性能瓶颈。装好这个工具,就是你进入性能测试领域的入场券。

相关新闻

无需Delta Rule也能超越GDN、KDA:CyFA循环注意力机制解析

无需Delta Rule也能超越GDN、KDA:CyFA循环注意力机制解析

1. 从标题说起:为什么“无需Delta Rule”这件事值得聊第一次看到“无需Delta Rule也能超过GDN、KDA”这个说法,我的反应是:又来了一个“吊打一切”的标题党。但把相关材料翻了一遍之后,我发现这次不太一样——它挑战的不是某个具体…

2026/10/20 7:49:15 阅读更多 →
三维随机球形骨料+Abaqus+Python混凝土细观模拟全流程解析

三维随机球形骨料+Abaqus+Python混凝土细观模拟全流程解析

做混凝土细观模拟的人,应该都对“三维随机球形骨料 Abaqus Python”这个组合不陌生。标题里的“环氧树脂基”看着像是物理试验里的透明基体做法,但在数值模拟里,它其实对应的是基体材料参数的选择问题。很多人第一步就被随机骨料生成卡住了…

2026/10/20 7:49:15 阅读更多 →
EMD、EEMD与CEEMDAN:信号分解中的模态混叠与噪声辅助方法

EMD、EEMD与CEEMDAN:信号分解中的模态混叠与噪声辅助方法

简介:这份资源聚焦CEEMDAN算法,即完全自适应噪声集合经验模态分解,是EMD与EEMD的进一步改进方案,面向从事非线性、非平稳信号处理的研究生、工程师与科研人员,用于缓解模态混合、提升分解精度与稳定性。压缩包共5个文件…

2026/10/20 7:48:14 阅读更多 →

最新新闻

AF_XDP 实战指南:Ubuntu 24.04 上基于 eBPF 的高性能包处理

AF_XDP 实战指南:Ubuntu 24.04 上基于 eBPF 的高性能包处理

1. 项目概述:AF_XDP 到底解决什么问题碰上 AF_XDP 这个技术点的人,多半是已经在 Linux 上做高性能包处理,或者被 DPDK 的运维成本折腾过之后,想在内核生态里找个折中方案。AF_XDP 不是一个框架,而是 Linux 内核提供的地…

2026/10/20 23:41:33 阅读更多 →
用Unity打造桌面精灵:透明窗口、鼠标穿透与动画实战

用Unity打造桌面精灵:透明窗口、鼠标穿透与动画实战

简介:这是一份基于Unity引擎开发桌面精灵的完整工程资源,面向希望实现类似QQ宠物透明浮动桌面形象的Unity开发者。资源围绕窗口无边界设置、透明材质渲染、UI布局、Animator动画控制以及鼠标交互事件等关键技术点组织,适合有一定Unity基础、想…

2026/10/20 23:41:33 阅读更多 →
GLSL变量与类型系统详解:从标量到矩阵的Shader避坑指南

GLSL变量与类型系统详解:从标量到矩阵的Shader避坑指南

如果你写过一段时间的着色器,大概率遇到过这种时刻:shader编译失败,错误信息指向某个变量,你盯着那一行看了很久,愣是没发现哪里有问题。我印象最深的一次是在某个延迟渲染demo里,片元着色器把法线数据当成…

2026/10/20 23:41:33 阅读更多 →
C语言是什么?从底层原理到上手路径的全面解析

C语言是什么?从底层原理到上手路径的全面解析

编程这行干久了,总会被外行朋友或刚入行的新人问到同一个问题:“C语言到底是什么?” 每次被问到,我都会愣一下,因为这个问题看似简单,真要一两句话说清楚还挺难。它不像Java能“写安卓APP”,也不…

2026/10/20 23:41:33 阅读更多 →
好写作AI如何用游戏化设计破解写作恐惧,养成写作习惯

好写作AI如何用游戏化设计破解写作恐惧,养成写作习惯

1. 好写作AI到底在做什么:把“写作”变成“练级”1.1 它解决了什么问题:写作恐惧不是懒,是“防御”我见过太多人说自己“不会写”“写不出来”,包括我自己也曾是这样。面对一个空白文档,光标一开一合,脑子里…

2026/10/20 23:41:33 阅读更多 →
华三AC WX5560H AP信道优化实战:解决信号满格却卡顿

华三AC WX5560H AP信道优化实战:解决信号满格却卡顿

前阵子在某园区处理无线投诉时,我碰到一个很典型的场景:AP 装了一堆、信号显示也是满格,但视频会议就是动不动卡成 PPT。当时很多人第一反应是带宽不够,可跑到华三 AC WX5560H 上一看,控制器负载很低,出口带…

2026/10/20 23:40:32 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →