Java是一门面向对象编程的语言,Java程序的运行依赖于java虚拟机JVM的实现, JVM赋予了Java的跨平台特性,一次编译到处运行的特点使Java广受欢迎。为了更加深入的理解Java和相应的底层实现,进一步提升自己的Java能力,需要对JVM进行深入刨析。JVM由C语言、汇编语言等实现,为了后面的深入学习,需要对汇编和C有一定的基础。固分为三个学习阶段来一步步进阶和提升:
第一阶段:汇编语言的学习
对于计算机,CPU可以直接执行的指令是二进制数值表示的机器指令。但机器指令难于辨别和记忆,同时对于机器指令的维护和查错较为困难和耗时。为了克服这些障碍,于是便有了汇编语言。汇编语言主要有3类指令组成:
- 汇编指令,有对应的机器码。
- 伪指令,无对应的机器码,由编译器执行,计算机并不执行。
- 其他符号:如+、-、*、/等,由编译器识别,无对应机器码。
第二阶段:C语言的学习
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。
第三阶段:深入理解Java
学习参考书籍:
- 《汇编语言(第三版)》
- 《80X86汇编语言程序设计教程》
- 《32位汇编语言程序设计》
- 《C语言程序设计现代方法(第二版)》
- 《C专家编程》
- 《C陷阱与缺陷》
- 《C和指针》
- 《Java并发编程实战》
- 《数据结构与算法Java语言描述》
- 《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》
- 《Java虚拟机规范(Java SE8版)》
- 《揭秘Java虚拟机 JVM设计原理与实现》