转载

Java虚拟机,这是值得你去进阶的方向

其实很多朋友关注我的公众号都已经有挺久了,一两年以上的应该并不在少数。跟着我的公众号也阅读了不下百余篇技术文章,Android技术的方方面面都有涉猎到。

而随着时间的推移,慢慢地大家都逐渐步入到了中级程序员的等级,同时也有越来越多的人感觉到了焦虑,因为不学习就意味着原地踏步,虽然目前自己的技术水平可能已经挺不错了,可还是不敢长时间停留,逆水行舟中,不进则退。

因此,几乎每一天都会不断地有朋友反反复复地问我这同一个问题:“基础已经学完了,想进一步提升,该如何学习?” 我也基本能理解大家的心情。

Java虚拟机,这是值得你去进阶的方向

对于这个问题,我真的很想找到一个标准答案,然后复制粘贴给每一个提问的人,但是这个问题却永远没有一个标准答案。因为技术的领域实在是太广阔了,世界上没有任何一个人能把所有的技术全部都学会,想进阶首先你要认准一个方向才行,而不是盲目地焦虑该如何进一步提升自己。

那么进阶的方向有哪些呢?这个就太多了,不同的项目侧重的技术点也不一样。比如IM软件就需要即时通讯技术、视频软件就需要视频编解码技术、游戏就需要引擎技术。即使是同一个项目,每个人负责的工作方向也会不一样,有些人负责架构搭建,有些人负责网络通信,有些人负责UI实现。因此,这些都是进阶的方向,学习自定义View也叫进阶,学习设计模式也叫进阶。

所以说对于这个问题我真的无法给出一个标准答案,但是今天我准备给大家推荐的一个非常好的进阶方向,就是Java虚拟机,同时这也是我下一阶段的学习目标。

Java虚拟机重要吗?重要。我们平时关注的内容大多是在语言层面上的,至于底层到底是如何运行的则很少有人关注。然而,不管是从事Java也好、Android也好,工作到一定层次之后遇到的一些问题确实是需要了解Java虚拟机才能解决的。

比如说内存泄漏,这是一个很常见又很让人苦恼的问题。之所以这个问题难查,还是因为大多数人对Java虚拟机底层的内存管理机制并不熟悉。而如果我们深入地了解了Java虚拟机的垃圾收集器和内存分配策略,就可以更加得心应手地解决内存泄漏的问题。

再比如说现在Android领域中比较火的热修复、插件化等技术,都大量使用到了Java虚拟机中的类加载机制,从事这部分技术研发的人,如果对Java虚拟机技术不熟悉的话,那肯定是寸步难行的。

而且还有很重要的一点,Java虚拟机技术是不用担心过时的,因为不管未来Android程序是用Java开发也好、Kotlin开发也好,底层的运行环境都是依赖于Java虚拟机的。当然在Android上是叫ART,但本质上仍然是Java虚拟机。

原文  http://virtual.51cto.com/art/201807/579691.htm
正文到此结束
Loading...