public class Test {
static{
System.out.println("hello");
System.exit(0);
}
}
本身其实是借助 JVM 在装载类定义时,就会先执行static块这个特性,来得到输出的。
但是JVM在完成类定义装载后,就会用反射来查找main函数,此时如果找不到就会报错,但此时static块已经执行完毕了。
但这个程序又利用System.exit(0);来强制结束程序,所以JVM也就不会再去查找main函数并执行了。
你要确定这个类有以下几种情况才会被jvm的ClassLoader加载:
a、new这个类的一个实例;
b、访问类的静态变量或者静态方法
c、反射
d、访问该类的子类,即创建子类对象
e、标示该类为启动类
应该有6种的 ,好像b包含了两种 ,以上就是类的主动使用,jvm会加载类,加载类才会初始化 ,才会运行static模块
分享到:
相关推荐
Allatori-7.4最新版 1.去除main方法增加打印信息 2.修改ALLATORIxDEMO加密方法名称为随机java关键字
通过ros建立工作区打印helloworld,通过c++与python两种方式
linux下执行java项目 main方法 打成的jar包,java -jar TestDemo.jar。具体过程请查看文档。
java语言后台请求网站操作 java中main方法发送httpPost请求
c# 实现hello word 详解版 ...2、在控制台打印输出hello word 3、运行代码 快捷键:F5 或 按运行按钮 如图 4、运行结果如下图 5、代码 using System; namespace helloWod { class Program { static void Main(str
hello word源程序 #include void main(void) { printf("hello word"); }
matlab打印代码不同的Hello World程序 贡献之前查看文件。 Python print ( 'Hello World!' ) C # include < stdio.h > void main () { printf ( " Hello World! " ); } C ++ # include < iostream > using ...
不能改为非静态,main()方法必须声明为静态的,这样 JVM 才可以调用 main()方法而无需实 例化它的类。 如果从 main()方法去掉“static”这个声明,虽然编译依然可以成功,但在运行时会导致程序 失败。 在实例化时,...
源代码,jar包及bat文件,注意:bat文件中不能有空格。
main方法启动服务-main方法启动服务-main方法启动服务
关于算法分析的一些完整程序代码 包括MAIN方法 关于算法分析的一些完整程序代码 包括MAIN方法
此批处理程序用于执行java项目中某一类的main方法,修改jdk地址,项目地址即可
10个Java经典的Main方法面试题!
调用微信支付接口:main方法示例工具类
IDEA中如何给main方法附带参数,整理成PDF 文档 便于保存
在main方法中如何不让RestTemplate打印debug日志.md
编写程序,使用main方法中的args[]命令行参数传入两个操作数,进行除法运算, 要求对NumberFormatException类型的异常进行处理,并且自定义异常类OnlyOneOprandException与NoOprandException,并对之进行处理。
Java最开始的Hello World程序是一个简单的输出语句,用于展示Java程序的基本结构...在main方法中,使用System.out.println语句打印出了"Hello World!"这个字符串。 这个程序的执行结果是在控制台输出"Hello World!"。
javaExecl导入简易dome,利用Main方法简单实现. 转载而来,如用SpringMvc或者Struts2自行修改一下即可使用
1.YOLO V8 模型权重 2023-09-20版 2.程序识别的入口main方法