【jvm】类的主动使用和被动使用

目录

一、主动使用

  • 1.创建类的实例
  • 2.访问某个类或接口的静态变量,或者对该静态变量赋值
  • 3.调用类的静态方法
  • 4.反射(例如Class.forName("com.learning.Test"))
  • 5.初始化一个类的子类
  • 6.java虚拟机启动时被标明为启动类的类
  • 7.jdk7开始提供的动态语言支持:java.lang.invoke.MethodHandle实例的解析结果REF_getStatic、REF_putStatic、REF_invokeStatic句柄对应的类没有初始化,则初始化

二、被动使用

  • 1.其它使用java类的方式都看作是对类的被动使用,不会导致类的初始化
相关推荐
鸽鸽程序猿10 小时前
【JavaSE】简单理解JVM
java·jvm
小毛驴85010 小时前
JDK主流版本及推荐版本
jvm
没有bug.的程序员19 小时前
微服务网关:从“必选项”到“思考题”的深度剖析
java·开发语言·网络·jvm·微服务·云原生·架构
tgethe20 小时前
==和equals的区别
java·开发语言·jvm
步步为营DotNet21 小时前
深度探索.NET 中 IAsyncEnumerable:异步迭代的底层奥秘与高效实践
java·jvm·.net
winfield82121 小时前
GC 日志全解析:格式规范 + 问题分析 + 性能优化
java·jvm
无限进步_21 小时前
C++多态全面解析:从概念到实现
开发语言·jvm·c++·ide·git·github·visual studio
懒惰蜗牛2 天前
Day66 | 深入理解Java反射前,先搞清楚类加载机制
java·开发语言·jvm·链接·类加载机制·初始化
额呃呃2 天前
信号量唤醒线程的实际机制
java·开发语言·jvm
bjxiaxueliang2 天前
一文详解Cpp多线程编程:从传统pthread到现代thread实践指南
java·开发语言·jvm