0基础学习嵌入式
面议发布时间: 2021-07-26 10:33:25
想了解嵌入式和java学习吗?想了解到底是学Java还是嵌入式?,我花了半个月,整理出了这篇嵌入式开发学习指南(学习路线+知识点梳理)?? 吗?......本文带你一探究竟。
可能是我回答了很多嵌入式问题的原因,经常有读者给我留言主要就是关于职业选择和技术发展的问题,其中有一个问的很多,就是 “我到底是学Java还是嵌入式?”开始我都是不厌其烦得从未来发展和学习难度帮忙分析,让大家对这这个有个自主的认识,但是慢慢的我发现其实很多人是没有找到问题的重点。我还是那个原则,兴趣是*位的,不然后边几十年你会后悔的。纠结这个问题的无非有几个考虑。1.Java学着简单,嵌入式好像摸不着头脑,很多学了很久还是不知道怎么回事?这两个我都学过,我觉得这主要是因为Java的应用很集中,基本就是web和安卓(占比很小),所以就是web开发,再加上这些年培训班的大肆招生,学习路径基本很清晰,所以对于后来者学习来说自然是很简单的嵌入式则不然,嵌入式的应用非常广,单片机软硬件设计(无数的单片机类型,各种应用场景),纷繁的嵌入式操作系统学习,FPGA软硬件设计,Linux软硬件设计,这些软件又分应用开发和驱动开发(很多还结合紧密),更进一步甚至还有内核开发如果把这些混在一起和Java对比是不是有点不公平,Java甚至只是Linux软件开发中学习的一部分,当然这确实就是嵌入式的缺点,太分布了,让初学者迷茫。不过好处也是有的,从上到下,从底层到驱动,到操作系统,到应用都可以不断的扩展,这本身就是有意思的。2.Java赚的多,嵌入式赚的少?这还得借用上边的回答,这个问题可能存在目标不一致的问题,先总的说一下,工作赚的多少我一直认为和语言无关,而是和行业有关,Java之所以看起来赚的多,主要还是因为Java基本都是用于web开发,得益于互联网发展,自然水涨船高。当然这也是部分,效益好的还是大公司,很多小公司其实不算高。这时候一般做对比的就是嵌入式的单片机开发,但是不能专挑软柿子捏,把一众高薪的嵌入式算法开发,大厂硬件开发,芯片开发,协议开发,模拟电子开发排除在外是吧,可能会说我没这水平啊?那就是你的问题了,Java学不精去不了好公司也不会赚的多的,忘了还有996等你。总结下,Java因为行业原因,红利大岗位多,所以自然很多高薪者,这无可厚非,但是其实愿意不断提高,且兴趣使然嵌入式也是很多高薪职位的(上来就说自己不行的,建议去做Java)
不好意思久等了这篇文章让小伙伴们久等了。一年多以来,关于嵌入式开发学习路线、规划、看什么书等问题,被问得没有一百,也有大几十次了。但是无奈自己对这方面了解有限,所以每次都没法交代,搞得实在不好意思。但是办法总归是有的,正如前篇文章《最近厚着脸皮联系了不少老同学》所聊,虽然我自己不从事这些方向,但寻思了一下,我的同学和朋友中,多少还是有一些从事相关方向并且在一线(或曾在一线)工作过的,所以我就请他们帮忙一起梳理这几个我不熟悉领域的学习路线,这次嵌入式开发就是其中之一。这篇文章之所以拖这么久,因为沟通实在太费时间了,毕竟大佬们都挺忙,况且梳理总结这件事情本身就比较繁琐,所以等到现在才发出来。本文在开源项目: 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...嵌入式开发难吗?经过这次和同学的交流,我自己也学到了很多。因为嵌入式方面的很多东西我也不懂,我也算学习了。站在我个人角度来看,结合以前的学习体验。我觉得嵌入式开发比互联网软开(比如Java后端)还是要难一些的,比如我们搞Java开发的,再怎么说,基本也都是用户态的东西,但嵌入式很多东西都深入到了内核态,所以难度肯定是有的,表现在几个方面吧:首先,嵌入式它偏底层,软、硬件都要懂,对能力要求本来就要高不少;其次,嵌入式开发的学习门槛也要高一些,而且像Linux平台下的开发流程,很多人都不习惯,摸不清;再者,嵌入式学习的正向反馈可能比较慢,尤其是前期学习阶段,导致没有什么成就感,也就坚持不下去了,所以往往就弃坑了。但是话说回来,做IT的就是这样,越往底层对人能力的锻炼就越高,所以对于能力来说是在升维,所以反过来,如果嵌入式做得好的,我觉得来做互联网问题也不大,到时候就属于降维打击了。总体学习思路总体来说,还是可以把嵌入式学习分为三个大的阶段:首先基础学习阶段,这就包括通用编程基础(C语言、数据结构/算法、操作系统、计网、计组、Linux系统基础)和基本的硬件基础,扎实地掌握这两大基础,是后续持续发展和不断进步的动力源泉。其次就是嵌入式应用编程阶段,或者说系统平台编程阶段。因为一般会以特定的嵌入式平台和特定的嵌入式操作系统为依托,熟悉这个系统平台上的编程方法和流程。以常见的ARM+Linux平台为例,需要掌握从内存管理到多任务编程、文件I/O、网络编程,甚至图形化界面编程等几个大的方面。*就是深入嵌入式底层开发阶段,最常见的就是内核开发和驱动开发,这些统属于内核态开发范畴,所以需要对操作系统内部机制有所涉猎和理解,在此基础上需要掌握从系统移植到内核开发、驱动开发的各个细节,这是成神之路。大体思路是这样,接下来看一下详细的学习路线和知识点梳理。学习路线+知识梳理花了很长时间,就为了整理这张详细的知识路线脑图。当然由于时间有限、能力也都有限,毕竟嵌入式全体系实在太庞大了,包括我那做嵌入式的同学,也不可能什么都懂,有些东西可能没覆盖到,不足之处,还希望小伙伴们一起交流补充,一起完善进步。书籍推荐*,按照整体的学习路线,再推荐一些对应的经典书籍:后记:本文在开源项目: 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...这次就分享到这里吧,下篇见。每天进步一点点慢一点才能更快
上述文章了解到关于到底是学Java还是嵌入式?,我花了半个月,整理出了这篇嵌入式开发学习指南(学习路线+知识点梳理)?? ,让我们对嵌入式和java学习 有一个直观的认知。我们发现,作为一个优秀的Java程序员是多么的自豪。
更多培训课程,学习资讯,课程优惠,课程开班,学校地址等学校信息,请进入 全国千锋IT培训网站详细了解
咨询电话:400-850-8622
相关文章
最新文章
相关课程