1.跨平台
主要是JVM(虚拟机)的存在它可以适应不同的平台,java运行在vm之上,所以java就成了跨平台。
ps:javap -c ***.class c查看java对应的反汇编代码(jvm代码执行过程)
2.内存模型
三块类容
类加载子系统 c++ 主要是加载class
字节码执行引擎 c++ 执行代码
运行时数据区 运行时内存的划分 重点理解
栈:线程独享,先进后出,主要存放局部变量、操作数栈、动态链接、方法出口。
特点:
1.线程执行一个方法则就在栈中创建一个栈帧,是每一个方法都会创建,即使是方法调用方法。
2.压栈:从程序入口,每一栈帧每一个数据都是从先进后出,意思是先读取的代码就会先在栈中分配内存,后面进来的会在前面的上面创建栈帧(桶机制)
包含:
1.局部变量:就是方法内部的赋值,包括基本类