首页 > 其他分享 >static块执行时机

static块执行时机

时间:2024-07-15 14:08:01浏览次数:13  
标签:初始化 调用 Java static 某个 时机 执行

不是类被加载的时候就执行,而是类初始化的时候才被执行。

类初始化有以下几种情况:

当一个类被主动使用时,Java虚拟就会对其初始化,如下六种情况为主动使用:

当创建某个类的新实例时(如通过new或者反射,克隆,反序列化等)
当调用某个类的静态方法时
当使用某个类或接口的静态字段时
当调用Java API中的某些反射方法时,比如类Class中的方法,或者java.lang.reflect中的类的方法时  (Class.forName(xxxxx))
当初始化某个子类时
当虚拟机启动某个被标明为启动类的类(即包含main方法的那个类)

注意:如果在spring容器中有一个static变量,会直接执行对static变量的赋值操作,而不是等到有地方调用的时候。

标签:初始化,调用,Java,static,某个,时机,执行
From: https://www.cnblogs.com/zt1991jskj/p/13030712.html

相关文章

  • java连接oracle执行sql语句
    一个简单的示例importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Statement;publicclassOracleJdbcExample{publicstaticvoidmain(String[]args){//Oracle数据库的JDBCURL,用户名和密码......
  • 0182-独立可执行程序
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0Rust1.65.0前言说明参考:https://os.phil-opp.com/freestanding-rust-binary目标当前为新的篇章,参考的原文第二版,和之前的第一版不关联。使用Rust编写一个独立可执行程序,即不依赖操作系统的程序。其中的概念和错误的......
  • C++ static关键字
    在C++中,static关键字有多种用途,主要用于控制变量和函数的存储期和链接性。下面详细介绍static关键字在不同上下文中的用法,并提供相应的代码示例。1.静态局部变量静态局部变量在函数中定义,但它们的生命周期贯穿程序的整个运行周期,而不仅仅是函数的执行周期。静态局部变量......
  • Linux可执行程序启动流程
    进程是如何启动的?进程启动过程示例代码#include<stdio.h>intmain(){printf("hello,world\r\n");return0;}启动两个终端,使用strace命令跟踪进程启动过程strace-f-s655000-i-T-ooutput.txt-p19510各个选项参考strace的man手册-f跟......
  • 调用大模型API帮我分析并写可执行代码
    本文以博主自己的一个具体任务为例,记录调用大模型来辅助设计奖励函数的过程。注1:博主的目标是在强化学习过程中(CARLA环境十字路口进行自动驾驶决策控制),通过调用大模型API进行奖励函数设计,进而生成可执行的奖励函数代码,并完成自动调用。以大模型具备的丰富知识,辅助进行奖励设计......
  • 旷野之间19 - Nvidia 首席执行官建议不要学习编码
    50年前出现的许多技术都遵循了两种轨迹之一:它们要么发展以跟上现代的步伐,要么消失得无影无踪。一个例子是1938年推出的第一台可编程机械计算机。由于内存限制,它的操作能力有限,而且重量很重,很难想象今天在我们的家中或工作场所放置这样的设备。确实,有许多技术远见者对计算......
  • SQLAlchemy 执行原生 SQL 语句
    在使用SQLAlchemy进行数据库操作时,虽然ORM提供了强大的模型映射功能,但有时候直接使用原生SQL语句可能更加简单直率,甚至性能更优。下面我们来看一下如何在SQLAlchemy中执行原生的SQL语句。执行原生SQL语句的步骤构造SQL语句调用session中的execute方法执行,得......
  • Java-static关键字详解
    目录1.static关键字的用途和作用用途作用2.在类中使用static修饰成员变量、方法和代码块修饰成员变量修饰方法修饰代码块修饰内部类3.常见误区误区1:静态变量在每个实例中都有一份误区2:静态方法可以访问实例变量和实例方法误区3:静态代码块在每次创建对......
  • LeetCode 3091. 执行操作使数据元素之和大于等于 K(贪心、数学)
    3091.执行操作使数据元素之和大于等于K思路:数学思维题。先执行操作一让1加到k的平方根向上取整的数t,然后执行操作二,达到数组和>=k即可。classSolution{public:intminOperations(intk){intt=ceil(sqrt(k));return(k+t-1)/t+t-2;}......
  • windows使用bat文件 执行java程序
    java开发的程序想在windows上运行。首先要安装对应的java运行环境。然后创建一个 ***.bat文件,写入下面代码,双击它。@echoofftitleLSpbxServercd\d:cd"javaapp\LSpbxServer"java-jarLSpbxServer.jarpausetitleLSpbxServer是这个cmd.exe窗体的标题,同时......