广州电脑培训_电脑培训班_电脑培训课程-北大青鸟电脑学校
当前位置:网站首页 > 电脑培训网-电脑学校 > 佛山电脑学校 > 正文

Java工程师如何提高能力?

作者:广州电脑培训刘发布时间:2020-12-03分类:佛山电脑学校浏览:595


导读:我经常能听到一些学生的困惑。面试火箭,“每天拧紧螺丝”,好像每天都在进行反复的业务开发。自己的能力似乎受到日常工作的限制,无法提高自己的能力水平。我想说我是否知道如何制造火箭,是否...

我经常能听到一些学生的困惑。面试火箭,“每天拧紧螺丝”,好像每天都在进行反复的业务开发。自己的能力似乎受到日常工作的限制,无法提高自己的能力水平。


我想说我是否知道如何制造火箭,是否没有实际的价值。其价值在于,当不可预测和挑战性的任务实际出现时,Hold能否生存。


例如,上周末,我匆忙被拖去优化Go语言开发系统,即将上线,但实际吞吐量和需求存在规模差异。是的,你没有错。不是Java应用程序。而且我对Go的理解基本上是HelloWorld水平。如何利用基础知识,快速解决定位问题,对两个代码的量进行有限修改,提高吞吐量水平。


初始性能是在非常低的负载下,CPU利用率超过80%。首先,通过第33章所述的类似过程,定位问题是低效实施导致的高CPU占用问题,使用Go Profiling查找热点代码,可以快速确定最常操作的算法的复杂性是nlogn。


用Logn复杂度算法修改后,系统呈现出新的特点。随着负载压力的增加,CPU利用率不能超过60%,内存、I/O也有很大的裕量。虽然吞吐量已经在数量上增加了。达不到设计目标。


进一步分析结果显示,共享模块具有相当大的同步开销、不必要的共享和内部使用的一些线程安全手段限制了系统的可扩展性。如果将此模块修改为非共享实例,则会占用计算资源(如CPU/内存),吞吐量基本上是.移动到理论上的最高值。


这个问题本身的难度并不高,使用也是基础知识和技术,但掌握扎实的“基本功”就能揭开问题的表象,感受到技术本质的价值。


但是我发现很多技术人员没有这种“解决问题”的能力,在我看来主要有以下两个原因。


第一,“不知道原因。”虽然制造了多年的技术开发了很多业务应用程序,但似乎没有想过各种技术选择背后的逻辑。


第二,知识碎片化不系统。不能充分明确地说明自己开发的系统或使用的相关技术。


不管是什么岗位,只有我们努力学习,提高技能,才能真正突破自我和,成为高级Java工程师。



佛山电脑学校排行
最近发表
标签列表