Java 类的主动使用和被动使用

浅谈Java中对类的主动引用和被动引用 主要介绍了浅谈Java中对类的主动引用和被动引用,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下 立即下载

Java程序对类的使用方式分为:主动使用和被动使用

主动使用,又分为七种情况:

1:创建类的实例

2:访问某个类或者接口的静态变量,或者对该静态变量赋值

3:反射( 比如:Class.forName(“java.lang.String)))

4:初始化一个类的子类

5:java虚拟机启动时被标明为启动类的类

6:java 7开始提供的动态语言支持

 

除了以上七种情况,其他使用Java类的方式都被看作是对类的被动使用都不会导致类的初始化

PySide6多线程避坑大全:信号槽崩溃、内存泄漏,这些雷我都帮你踩过了 本文深入探讨了PySide6多线程开发中的常见问题与解决方案,包括信号槽崩溃、内存泄漏等典型陷阱。通过实战案例和优化策略,帮助开发者避免UI线程操作错误、有效管理资源生命周期,并提升跨线程通信的可靠性。特别针对PySide6多线程特性,提供了线程安全日志、死锁检测等实用调试技巧。 阅读详情

相关推荐

用ST25DV芯片+KiCad快速设计NFC标签天线:参数计算/脚本生成/实测优化全流程

本文详细介绍了使用ST25DV芯片和KiCad工具设计NFC标签天线的全流程,包括参数计算、脚本生成和实测优化。通过解析芯片等效工作原理和设计思路,帮助开发者避开常见陷阱,实现高效、可量产的天线设计。文章还提供了Python计算工具和KiCad自动化脚本,大幅提升设计效率和成功率。

jj890的博客 757

java类的主动引用和被动引用

本文参考《深入理解JAVA虚拟机》第2版,此书JDK版本为1.7。 主动引用 java类的初始化阶段,虚拟机规范严格规定了5种情况必须立即对类进行初始化。 遇到new、getstatic、putstatic或invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。 使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,...

fyzzz9的博客 623

Keil中搭建自动化单元测试框架Unity

前言:   虽然一些C++的自动化单元测试框架也能用来C语言单元测试,但那样我们编写C语言程序时需要符合C++的标准,这样有一些C的特性是无法使用的,限制C的特性使用不太好,于是找了一个全部用C实现的自动化测试框架。Unity是一个简单且直接的自动化单元测试框架,它由很少的几个文件构成。 搭建环境:   1.从github上下载最新版本的Unity源码,下载链接:https://github...

程序员的自我修炼 3898

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

7.jdk7开始提供的动态语言支持:java.lang.invoke.MethodHandle实例的解析结果REF_getStatic、REF_putStatic、REF_invokeStatic句柄对应的类没有初始化,则初始化。4.反射(例如Class.forName(“com.learning.Test”))1.其它使用java类的方式都看作是对类的被动使用,不会导致类的初始化。2.访问某个类或接口的静态变量,或者对该静态变量赋值。6.java虚拟机启动时被标明为启动类的类。5.初始化一个类的子类。

王佑辉的博客 952

海康VM加密狗无法识别常见问题排查

海康VM加密狗无法识别常见问题排查

视觉人机器视觉的博客 2704

使用OpenCV进行3D重建:详细指南

3D重建是计算机视觉领域的一项关键技术,它能够从二维图像中恢复出场景的三维结构。这项技术在机器人视觉、增强现实和3D建模等多个领域都有广泛的应用。在本篇技术博客中,我们将详细介绍如何使用OpenCV这一流行的计算机视觉库来实现3D重建。我们将逐步探讨整个过程,包括相机标定、特征点提取与匹配、立体校正、深度图计算以及最终的三维重建。3D重建是一个复杂的过程,涉及多个步骤和多种算法。OpenCV提供了强大的工具来支持这一过程,从相机标定到特征点提取与匹配,再到立体校正和深度图计算,最后实现三维重建。

weixin_41544125的博客 1315

JVM(4):类的主动使用与被动使用、运行时数据区域内部结构、JVM线程说明、PC寄存器

一、类的主动使用与被动使用 在JVM中表示两个class对象是否为同一个类存在两个必要条件: 类的完整类名必须一致,包括包名。 加载这个类的classLoader(指classLoader实例对象)必须相同。 换句话说,在JVM中,即使这两个类对象(class对象)来源同一个class文件,被同一个虚拟机所加载,但只要加载它们的ClassLoader实例对象不同,那么这两个类对象也是不相等的。 JVM必须知道一个类型是由启动加载器加载的还是由用户类加载...

游王子og的博客 379

Virtuoso集成HspiceD:打通模拟设计全流程的仿真与PEX实战

本文详细介绍了Virtuoso集成HspiceD在模拟设计全流程中的应用,包括仿真与PEX实战。通过无缝衔接Virtuoso和HspiceD,设计师可以在同一环境中完成从原理图设计到PEX后仿真的全流程,大幅提升工作效率。文章还提供了仿真环境配置、前仿真关键设置、PEX全流程详解以及性能调优等实用技巧。

weixin_29271263的博客 96

JVM 实战 - 类的主动使用和被动使用

类的主动使用和被动使用之间的主要区别在于是否执行类的初始化过程。主动使用会导致类的初始化,而被动使用则只会加载类但不会执行初始化。了解这些概念可以帮助你在开发过程中更有效地管理和优化 Java 应用程序的性能。如果你需要更深入地了解类的加载过程或者有其他相关的问题,请随时提问。

qq_33240556的博客 617

后摄模块辐射超标整改

某行车记录仪在EMI测试中出现辐射超标问题,通过模块剥离法定位到后摄模块的Ethernet数据线为噪声源。深入检查发现TYPE-C延长线屏蔽层未有效接地,形成辐射泄漏通道。整改措施包括加强屏蔽层360°接地、使用导电布改善连接处屏蔽等,最终使辐射降至EN55032 Class B限值以内。案例揭示了高速信号延长线中屏蔽连续性的重要性,建议设计阶段就重视连接器屏蔽设计和共模干扰抑制。

硬核科技 255

ANFIS实现数据非线性回归附Matlab代码

在本文中,我们将介绍如何使用Matlab实现基于MSE的ANFIS非线性回归,并提供相应的源代码。ANFIS是一种融合了模糊逻辑和神经网络的方法,它可以通过学习数据集中的模式来构建一个模糊推理系统。ANFIS的训练过程基于最小化MSE,以提高模型的拟合能力。通过上述代码示例,我们可以使用基于MSE的ANFIS模型对数据进行非线性回归,并获得相应的预测结果。在示例中,我们定义了一个包含两个样本的新输入数据集 X_new,然后使用训练好的ANFIS模型进行预测,并将结果存储在变量 Y_pred 中。

2301_79326588的博客 473

四、类的主动使用和被动使用

类的主动使用与被动使用的区别在于:当类是主动使用时,在类加载的时候会导致类的初始化() 执行,被动使用虽然也会加载类,但不会触发类的初始化;除了以上7种情况之外,其他使用Java类的方式都被看做是对类的被动使用,都不会导致类的初始化。(会被加载到内存中)

qq_43530416的博客 259

7、基于机器学习的生产效率估计方法解析

本文探讨了基于机器学习的生产效率估计方法,重点介绍了效率分析树(EAT)和凸效率分析树(CEAT)算法的原理及其与传统自由处置壳(FDH)和数据包络分析(DEA)方法的对比。通过剪枝优化、生产可能性集构建及方向距离函数(DDF)估计,EAT和CEAT在避免过拟合、提升估计稳定性与处理凸性假设方面展现出优势。结合PISA教育数据的实证研究,采用箱线图、核密度图和非参数检验方法验证了不同模型效率得分分布的显著差异。研究表明,EAT与CEAT为生产效率评估提供了更准确、灵活的工具,适用于教育、企业生产和医疗等多个

milk5的博客 92

Java类的主动使用和被动使用

主动使用和被动使用说区分的关键是会不会调用()这个方法。

shall_zhao的博客 737

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java类加载器深度剖析 类的主动和被动使用

我们先来看一段代码 截图如下:

zf772835869的专栏 589

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[JVM] 类的加载一:Java类的生命周期及类的主动使用和被动使用

Java中类的生命周期 Java虚拟机通过加载、连接和初始化三个过程来使得一个Java类型可以被Java程序所使用,使用完后可以卸载掉该类。因此一个Java类的生命周期中包含如下几个阶段: 加载 类的加载是指将类的class文件中的二进制数据读入到内存中,并将其放在运行时数据区的方法区内,然后在内存中创建一个与之对应的java.lang.Class对象(规范并未说明Class对象位于哪里...

zkp_java的专栏 285

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java 自觉_Java 类的主动使用和被动使用

JVM规定,每个类或者接口被首次主动使用时才对齐进行初始化,有主动使用,自然就有被动使用,那么这两个使用到底是什么呢,这里简述一下.主动使用:1:通过new关键字被导致类的初始化,这是大家经常使用的初始化一个类的方式,他肯定会导致类的加载并且初始化2:访问类的静态变量,包括读取和更新3:访问类的静态方法4:对某个类进行反射操作,会导致类的初始化5:初始化子类会导致父类的的初始化6:执行该类的mai...

weixin_35122994的博客 191

java类的主动使用和被动使用

chuixue24的博客 248

java 自觉_java类的主动使用/被动使用

对类的使用方式分为:主动使用、被动使用所有的java虚拟机实现必须在每个类或接口被java程序“首次主动使用”时才初始化他们ps:被动使用不会初始化类,但是有可能会加载类(JVM规范里没有说明)并且,如果在加载的过程中,遇到了.class文件的缺失或者存在错误,类加载器只会在首次主动使用它们时才会报错,如果一直没有主动使用,则不会报错主动使用:创建类的实例、访问某个类或者接口的非final类型的静...

weixin_36362920的博客 188

JVM笔记八:类的主动使用和被动使用

JVM中表示两个class对象是否为同一个类存在两个必要条件: 1.类的完整类名必须一致,包括包名。 2.加载这个类的ClassLoader (指ClassLoader实例对象)必须相同。 (换句话说,在JVM中,即使这两个类对象(class对象)来源同一个Class文件,被同一个虚拟机所加载,但只要加载它们的ClassLoader实例对象不同,那么这两个类对象也是不相等的。) Java程序对类的使用方式分为:主动使用和被动使用。 主动使用,又分为七种情况: . 1.创建类的实例 2.访问某个类或接口的静态

munangs的博客 240

4. 类的加载连接与初始化过程详解

Java程序对类的使用方式可以分为两种 主动使用 被动使用

Kevin的博客 290

JVM之类的主动使用和被动使用

Java程序对类的使用方式分为主动使用和被动使用。 主动使用: 创建类的实例 访问某个类或接口的静态变量,或者对该静态变量赋值 调用类的静态方法 使用反射,例如:Class.forName(“java.lang.String”) 初始化一个类的子类 Java虚拟机启动时被标明为启动类的类 被动使用:除上述几种情况外,其它使用Java类的方式都被看作是对类的被动使用,都不会导致类的初始化...

皓晨的架构笔记 263

1、类的加载过程、类的加载器、双亲委派机制、类的主动使用和被动使用

文章目录类的加载过程和类的加载器类的加载过程一、加载二、链接三、初始化类加载器一、类加载器的分类二、双亲委派机制三、双亲委派机制的优势四、类的主动使用和被动使用 类的加载过程和类的加载器 类的加载过程 一、加载 通过一个类的全限定类名获取定义此类的二进制字节流; 将这个字节流所代表的静态存储结构,转换为方法区的运行时数据结构; 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。 二、链接 1、验证 主要包括四种验证:文件格式验证,元数据验证,字节码

ShawnYue_08的博客 334

【FTP/SFTP 案例分享及主动/被动模式选择】

#博学谷IT学习技术支持# 目录 主动模式和被动模式 主动模式和被动模式区别简概述 FTPUtils案例 主动模式和被动模式 主动模式和被动模式区别简概述 1. ① 主动模式数据传送是 "服务器" 连接到 "客户端" 端口; ② 被动模式数据传送是 "客户端" 连接到 "服务器" 端口。 2. ① 主动模式需要客户端必须开放端口给服务器,大部分客户端都是在防火墙内,开放端口给FTP服务器访问比较困难; ...

qq_42051240的博客 2826

类的生命周期(LoadClass)和类的使用总结

public class Monkey { /** * 类的生命周期都是先准备再初始化 */ //准备:为monkey对象分配内存空间 //初始化:对monkey对象初始化(=new Monkey())执行构造方法 public static Monkey monkey = new Monkey(); //准备:为静态变量count对象分配内存空间 //初始化:对count变量初始化(=250)...

Noble Spirit 617
上一篇: JVM 加载.class文件的方式
下一篇: android jetpack之LifeCycle
zhoushenxian
博客等级 码龄12年 453粉丝 549原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值