课程咨询: 400-996-5531 / 投诉建议: 400-111-8989

认识达内从这里开始

认真做教育 专心促就业

软件优化维护的时候应该注意哪些事情

我们在进行软件优化维护的时候,通常来说,提高软件的性能和降低无效的冗余数据都是能够大大提高我们的软件运行效果的。

下面,我们就一起来了解一下,在进行软件优化维护的时候应该注意哪些事情。

软件优化维护的时候应该注意哪些事情

性能优化的常见概念

吞吐量(TPS,QPS):简单来说就是每秒钟完成的事务数或者查询数。通常吞吐量大表明系统单位时间能处理的请求数越多,所以通常希望TPS越高越好

响应时间:即从请求发出去到收到系统返回的时间。响应时间一般不取平均值,而是要去掉不稳定的值之后再取均值,比如常用的90%响应时间,指的就是去掉了10%不稳定的响应时间之后,剩下90%的稳定的响应时间的均值。从聚类的观点看,其实就是去掉离群点。

错误率:即错误请求数与总请求数之比。随着压力增加,有可能出现处理请求处理不过来的情况,这时错误数会不断增加。

三者有极大的关联,任何孤立的数据都不能说明问题。典型的关系是,吞吐量增加时,响应延迟有可能增加,错误率也有可能增加。因此,单拿出一个10w的TPS并不能说明问题。

性能调优的思路

一般情况,调优需要有个前提条件,即无论是用线上的真实流水还是线下的压力测试让问题扩大化,明显化。

根据这些比较明显的现象去初判问题,收集证据去验证初判结果成立,然后分析现象产生的原因,并尝试解决问题。

1.性能摸底测试

对于新上的系统或者是有过较大代码改动的系统来说,做一次摸底测试还是很有必要的。一般来说,期望摸底的测试是一次对单机的压力测试。压力测试可以帮你大概搞清楚系统的极限TPS是多少,在压力上来时有没有暴露一些错误或者问题,系统大致的资源占用情况是什么,系统可能的性能瓶颈在哪。

2.定义性能优化的目标

经常听到人说,做个性能优化,吞吐量越高越好;或者做个性能测试,目标TPS是50000。可实际拿到这个信息,能够做性能测试吗?这个目标足够清晰吗?

事实上,在我看来,未定义清晰的目标去做性能测试都是耍流氓。

性能优化的目标一般是吞吐量达到多少,90%响应时间小于多少,错误率小于多少。同时还需要关注其他的性能指标,cpu使用情况,内存使用情况,磁盘使用情况,带宽使用情况等。对于摸底测试已经发现问题的,可以针对该问题专门优化,比如负载较高,cpu消耗过大,则目标可能是TPS,响应时间以及错误率不变的情况下降低CPU负载。或者内存增长过快,gc较为频繁,则目标可能是找出可能的内存泄露,或者进行相关的jvm内存调优。总之,目标可以比较灵活调整,但一定要明确。

3.分析

分析的过程较为灵活,基本上是一千个系统有一千种表现。这里很难一一说明。仅谈谈一些常见的方法,工具以及思路。

针对CPU:

针对cpu的监控,其实linux已经提供了两个比较好用的工具,一个是top,一个是vmstat。

关于cpu主要关注4个值:us(user),sy(system),wa(wait),id(idle)。理论上他们加起来应该等于100%。而前三个每一个值过高都有可能表示存在某些问题。

us过高:

a.代码问题。比如一个耗时的循环不加sleep,或者在一些cpu密集计算(如xml解析,加解密,加解压,数据计算)时没处理好

b.gc频繁。一个比较容易遗漏的问题就是gc频繁时us容易过高,因为垃圾回收属于大量计算的过程。gc频繁带来的cpu过高常伴有内存的大量波动,通过内存来判断并解决该问题更好。

小技巧:如何定位us过高的线程并查看它的状态。

a.top命令找到消耗us过高的进程pid

b.top-Hppid找到对应的线程tid

c.printf%xtid转为16进制tid16

d.jstackpid|grep-C20tid16即可查到该线程堆栈

sy过高:

a.上下文切换次数过多。通常是系统内线程数量较多,并且线程经常在切换,由于系统抢占相对切换时间和次数比较合理,所以sy过高通常都是主动让出cpu的情况,比如sleep或者lockwait,iowait。

wa过高:

a.等待io的cpu占比较多。注意与上面情况的区别,iowait引起的sy过高指的是io不停的wait然后唤醒,因为数量较大,导致上下文切换较多,强调的是动态的过程;而iowait引起的wa过高指的是iowait的线程占比较多,cpu切换到这个线程是iowait,到那个线程也是iowait,于是总cpu就是wait占比较高。

id过高:

a.很多人认为id高是好的,其实在性能测试中id高说明资源未完全利用,或者压测不到位,并不是好事。

针对内存:

关于java应用的内存,通常只需要关注jvm内存,但有些特殊情况也需要关注物理内存。

jvm内存:

异常gc:

a.通常gc发生意味着总归是有一块区域空间不足而触发gc。而许多导致异常gc的情况通常是持有了不必要的引用而没有即时的释放,比如像cache这样的地方就容易处理不好导致内存泄露引发异常gc。

b.有可能是程序的行为是正常的,但是由于没有配置对合适的gc参数导致异常gc,这种情况通常需要调优gc参数或者堆代大小参数。

c.Fullgc发生的情况:

永久代满

年老代满

minorgc晋升到旧生代的平均大小大于旧生代剩余大小

CMSgc中promotionfail或concurrentmodefail

OOM:

a.OOM经常伴随着异常gc,之所以单独拿出来讲,是因为它的危害更大一些,异常gc顶多是收集速度过快或者回收不了内存,但是起码有个缓冲时间,但是出了OOM问题就大了。对于常见的OOM,基本上可以一下子指出问题所在。

b.heap区,对象创建过多或持有太多无效引用(泄露)或者堆内存分配不足。使用jmap找到内存中对象的分布,使用ps找到相应进程及初始内存配置。

c.stack区,不正确的递归调用。

d.perm区,初始加载包过多,分配内存不足。

e.堆外内存区,分配ByteBuffer未释放导致。

针对IO:

IO分为网络IO和文件IO,针对网络IO比较有用的工具有sar,netstat,netstat是一个非常牛逼的命令,可以助于排查很多问题,针对文件io的工具有pidstat,iostat

文件IO:

a.从技术上来说,对于大文件IO可以采取的措施是异步批处理,采用异步方式用于削峰并累计buffer,采用批处理能够让磁盘寻道连续从而更加快速。

网络IO:网络IO的问题较为复杂,仅举几个常见的

a.大量TIME_WAIT。根据TCP协议,主动发起关闭连接的那一方,关闭了自己这端的连接后再收到被动发起关闭的那一方的关闭请求后,会将状态变为TIME_WAIT,并等待2MSL,目的是等待自己的回执发送到对方。如果在服务器上发现大量TIME_WAIT,说明服务器主动断开了连接,什么情况下服务器会主动断开连接,很可能是客户端忘了断开连接,所以一个典型的案例就是jdbc连接忘记关闭,则数据库服务器可能会出现大量的TIME_WAIT状态。

b.大量CLOSE_WAIT。CLOSE_WAIT状态,在收到主动关闭连接的一方发出关闭连接之后,被动关闭的一方进入CLOSE_WAIT状态,如果这时候被hang住了没进行后续关闭,则会出现大量CLOSE_WAIT。啥情况会被hang住呢,举几个例子,比如刚刚的忘记关闭数据库连接,在应用服务器这端,大量的浏览器请求进来,由于没有连接池连接被hang住,这时候浏览器等待一定时间超时发送关闭连接请求,而应用服务器这边由于servlet线程被hang住了,自然没有办法走第二个关闭回去。因此在应用服务器出现大量CLOSE_WAIT。另一个例子是httpClient的坑,在调用response.getEntity();前都不会做inputStream.close(),如果在调用response.getEntity()前就返回了,就狗带了。

作者:笨狐狸

【免责声明】:本内容转载于网络,转载目的在于传递最新信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。

<  上一篇:如何才能正确实现ui自动化测试功能
下一篇:微博运营推广以及付费投放的方法策略分享  >
相关推荐
最新资讯
免费试听课程
  • 全部课程
  • IT课程
  • 设计课程
  • 运营课程
Free courses
最新开班时间
  • 北京
  • 上海
  • 广州
  • 深圳
  • 南京
  • 成都
  • 武汉
  • 西安
  • 青岛
  • 天津
  • 杭州
  • 重庆
  • 哈尔滨
  • 济南
  • 沈阳
  • 合肥
  • 郑州
  • 长春
  • 苏州
  • 长沙
  • 昆明
  • 太原
  • 无锡
  • 石家庄
  • 南宁
  • 佛山
  • 珠海
  • 宁波
  • 保定
  • 呼和浩特
  • 洛阳
  • 烟台
  • 运城
  • 潍坊
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 人工智能工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 数据分析与商业智能
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 数据分析与商业智能
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
预约申请试听课
收起