![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
Shine_OfSun
这个作者很懒,什么都没留下…
展开
-
volatile和synchronized的区别
volatile和synchronized的区别volatile仅能使用在变量上,synchronized可以使用在变量和方法上;volatile仅能实现变量的可见性,不能保证原子性,synchronized可以保证变量的可见性和原子性;volatile不会造成线程阻塞,synchronized可能会造成线程阻塞(因为volatile只是将当前变量的值及时告知所有线程,而synchronized是锁定当前变量不让其它线程访问);volatile标记的变量不会被编译器优化(因为不能指令重排),syn原创 2020-08-13 11:38:02 · 513 阅读 · 0 评论 -
JVM
jvmjvm结构类加载机制加载:通过一个类的全限定名来获取定义此类的二进制字节流。将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。存储在方法区中。链接阶段:验证: 目的是确保class文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身安全。验证阶段主要包括四个检验过程:文件格式验证、元数据验证、字节码验证和符号引用验证。准备原创 2020-08-03 17:13:52 · 262 阅读 · 0 评论