carl-zhao 2016-06-20 02:27 采纳率: 100%
浏览 54
已采纳

Java程序员学习JVM的必要性

觉得用一种东西,首先要了解它的用法,然后再去学习内部原理。就是功夫一样,招式只是表面,最重要的是心法。
那么程序员学习JVM,是刚开始就需要学习,还是需要使用Java有一定时间了去学习。
学习的大概路线图老师能给我们介绍一下吗?

  • 写回答

1条回答 默认 最新

  • zxh0 2016-06-21 02:06
    关注

    对于第一个问题,也就是何时学习JVM,我觉得因人而异吧。
    比如我自己在刚开始学习Java的时候,就很好奇JVM的工作原理,阅读了一些JVM方面的书籍和资料。
    但是一般而言,我觉得还是掌握了Java语法之后,或者使用Java语言一段时间之后,再去学习JVM可能会更好一些。

    第二个问题,学习的路线图,下面是我自己的看法:

    • 首先可以先在网上找一些资料看看,了解一些JVM相关知识,比如class文件格式、字节码、类加载器,等等
    • 然后可以阅读一些书籍,进行系统学习。这里我推荐Bill Venners的《Inside the Java 2 Virtual Machine》和周志明的《 深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) 》
    • 下一步可以试着阅读Java虚拟机规范
    • 最后可以尝试自己动手写一个简单的Java虚拟机,或者看看OpenJDK源代码

    注:
    1、《Inside the Java 2 Virtual Machine》有中译本,不过很难买到了。原书作者已经把部分章节放到了网上,大家可以免费试读:http://www.artima.com/insidejvm/ed2/index.html
    2、OpenJDK代码太复杂了,我自己也没怎么看过。另一个选择是更加小巧的JamVM,主页是:http://jamvm.sourceforge.net/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型