对象的创建
当我们代码中通过new关键字去创建一个对象时,虚拟机会怎么做呢?
1.首先去检查这个命令的参数是否能在常量池中定位到一个类型的符号引用
2.在类加载检查通过后,接下载虚拟机将为新生对象分配内存
3.内存分配完成后,虚拟机必须将分配到的内存空间(不包括对象头)都初始化为零值
4.java虚拟机还要对对象进行必要的设置
注意:对象创建在虚拟机中是非常频繁的行为,在并发情况下并不是线程安全的
解决:(1)对分配内存空间的动作进行同步处理(2)把内存分配的动作按照线程划分在不同的空间之中进行