了解Java的JVM机制。
什么是JVM呢?Java语言:一次编译,处处运行。靠的就是JVM机制。
我们写好的.java文件,首先会被编译成字节码文件(既.class文件),这个文件首先会被加载到jvm.cfg文件中(这个文件在jdk安装的目录下,我的在C:\Program Files\Java\jdk1.8.0_181\jre\lib\amd64下),字节码文件加载到这个文件中后,然后通过jvm.dll文件进行执行(这个文件是jvm的主要实现),接下来会初始化JVM,并且获得JNI接口(这个接口就是本地java接口),进而找到class文件加载到JVM中,找到main方法进行执行。
JVM的基本结构
class文件被加载到JVM中,在类加载器子系统中,然后分配到内存空间,内存空间主要包括:方法区,java堆,java栈,本地方法栈。
方法区:是线程共享的,主要存放静态变量,常量等。
java堆:线程共享,存放类的实例。
java栈:每个线程私有的,一个线程对应一个java栈,空间比较大,一般在递归的时候,如果递归的深度太大,会抛出 StackOverflowError异常。
本地方法栈:用来执行本地方法,和java栈类似。
大致了解一下,具体的东西还要深入学习。