![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 79
LiZhen798
软件研发工程师
语言:Java,Go
展开
-
Java的反射
1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到类对象之后,再通过类对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁反射:能够分析类信息的能力叫做反射,那什么是类的信息?...原创 2022-08-05 13:00:00 · 132 阅读 · 0 评论 -
final域的重排序规则
对于final 域,编译器和处理器要遵守两个重排序规则:在构造函数内对一个 final 域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。 初次读一个包含 final 域的对象的引用,与随后初次读这个 final 域,这两个操作之间不能重排序。public class FinalExample { int i; //普通变量 final int j;原创 2021-03-10 16:55:57 · 470 阅读 · 0 评论 -
Java中的可见性问题
目录前言什么是 Java 内存模型?程序的顺序性Happens-Before 规则volatile 变量规则传递性规则管程中锁的规则线程 start() 规则线程 join() 规则线程中断规则final规则总结前言编程中可见性、原子性、有序性导致的问题常常会违背我们的直觉,从而成为并发编程的 Bug 之源。这三者在编程领域属于共性问题,所有的编程语言都会遇到,Java 在诞生之初就支持多线程,自然也有针对这三者的技术方案,而且在编程语言领域处于领先地原创 2021-03-10 15:29:49 · 377 阅读 · 0 评论