
java线程
看了个寂寞
一时刷题一时爽,一直刷题一直爽!
展开
-
Java 对象的创建过程小结
对象的创建过程(5步): 1.类加载检查-->2.分配内存-->3.初始化零值-->4.设置对象头-->5.执行init方法 1.类加载检查 虚拟机遇到一条new指令时,先检查这个指令的参数能否在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,则先进行类的加载过程。 2.分配内存 在类加载检查完成后,接下来虚拟机为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务等同于把一块确定的内存从java原创 2020-07-13 16:03:07 · 127 阅读 · 0 评论 -
对java线程池的一些问题笔记
1.java内存模型 JDK1.2之前,java的内存模型实现是从主存(即共享内存)读取变量。 现在的java内存模型,线程可以把变量保存本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个 线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。 解决方法:把变量声明为 volatile,这就指示 JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。 volatile 关键字的主要作用就是保证变量的可见性,然后还有一个作原创 2020-07-13 15:18:21 · 127 阅读 · 0 评论