没有main方法的Java程序

能否在没有main方法的情况下执行Java程序? 在Java中,main方法是程序的入口点,它是Java程序执行的起始位置。在Java中,虽然main方法是程序的入口点,但我们可以通过使用静态代码块或静态方法来实现在没有main方法的情况下执行Java程序。在上面的代码中,静态代码块中的代码在类加载时会执行,并输出"Hello, World!需要注意的是,无论是使用静态代码块还是静态方法,它们都是在类加载时执行的。在上面的代码中,我们定义了一个名为execute的静态方法,并在其中编写了程序逻辑。让我们来看看一些替代的方法。 阅读详情

下面这个程序就是通过静态初始化块的方法来完成一个不需要main 方法的Java程序:)这个"副作用"很好玩。

public class Hello
{
 static{
  System.out.println("No MainJava say Hello,World");
  System.exit(0);
 }
}

 

另外一个我见到使用这种技巧的地方是在  数据库访问类在初始化数据池用到

class SomeDBManager{

    private static InitialContext ic;
    private static DataSource ds;

    static {
        if (ds == null) {
            try {
                ic = new InitialContext();
                ds = (DataSource) ic.lookup("java:comp/env/jdbc/snailIsPigWebApp");
                prepareConnection();
            } catch (NamingException ex) {
                ex.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    private static Connection getConn() throws SQLException {
        return ds.getConnection();
    }

    public static void prepareConnection() throws SQLException {
        Connection conn = getConn();
        conn.close();
    }

}

参考资料:<<Java2核心技术第7版第1卷>>
 

Windows11安装UE4+Airsim 阅读详情

相关推荐

【2021最新版】Dubbo面试题总结(40道题含答案解析)

文章目录1、为什么要用Dubbo?2、Dubbo的整体架构设计有哪些分层?3、默认使用的是什么通信框架,还有别的选择吗?4、服务调用是阻塞的吗?5、一般使用什么注册中心?还有别的选择吗?6、默认使用什么序列化框架,你知道的还有哪些?7、服务提供者能实现失效踢出是什么原理?8、服务上线怎么不影响旧版本?9、如何解决服务调用链过长的问题?10、说说核心的配置有哪些?11、Dubbo推荐用什么协议?12、同一个服务多个注册的情况下可以直连某一个服务吗?13、画一画服务注册与发现的流程图?14、Dubbo集群容错有

程序媛小琬的博客 1万+

koder code editor使用教程_python如何编写公众号-Python教程

python编写公众号的方法:首先运行cmd,输入【pip install werobot】安装WeRoBot框架;然后打开ide,在项目目录下打开cmd输入【python 】并运行;最后服务程序接入进公众号进行修改配置即可。相关免费学习推荐:python视频教程python编写公众号的方法:1、WeRoBot 是一个微信公众号开发框架,已经为我们封装好了各个接口功能。这里我们将使用它来完成公众号...

weixin_39640904的博客 872

STM32F407 CanOpen主机实战:对象字典配置与多电机CIA402协议驱动详解

本文详细介绍了基于STM32F407的CanOpen主机开发实战,重点解析了对象字典的配置流程与多电机CIA402协议驱动方法。通过使用objdictedit工具配置SDO和PDO参数,并整合CanFestival协议栈,实现了对多个伺服电机的稳定同步控制。文章提供了从硬件连接到代码调试的完整指南,帮助开发者快速掌握工业现场的多轴运动控制技术。

plant的博客 529

java入门基础认识

包其实就是一个文件夹,Java中为了方便管理,把你程序根目录下的某个文件夹叫做包。举个例子,比如说你的程序在 D:\MyJavaProjects\MyApp 这个文件夹里,然后你设置了一个包为com.example.project,那么这个包就会对应你的电脑中的以下文件夹D:\MyJavaProjects\MyApp\src\com\example\project(这里中间多了个src夹层是因为你所使用的IDE自动管理的结果)

qq_39414092的博客 1431

树莓派教程(基于python编程)--入门篇

一:格式化SD卡 SD卡插入读卡器连接电脑,使用SDFormatter对SD卡进行格式化 (重装烧录也要进行着SD卡格式化操作) 二:下载官方镜像 http://downloads.raspberrypi.org/raspbian_latest 三:烧录SD卡 使用Win32DiskImager将镜像烧录到格式化后的SD卡 SD卡盘根目录(/boot)下新建一个命名为ssh的...

qq_42109746的博客 6万+

ESP32-S3开发板实战:5分钟搞定智能门铃的音视频通话功能(附源码)

本文详细介绍了如何利用乐鑫ESP32-S3开发板快速实现智能门铃的实时音视频通话功能。通过ESP-ADF框架和RTC服务,开发者可在五分钟内完成环境搭建与核心功能调试,并附有源码和关键配置详解,为嵌入式音视频应用开发提供了高效实践路径。

web99的专栏 527

koder code editor使用教程_开发工具使用

pycharm配置远程interpreter配置SFTP2. 配置Interpreter3.部署代码4. 执行设置putty以查看TensorBoard我的单机计算资源有限,所以选择在服务器上训练tensorflow模型。为了在本地机器的浏览器上查看Tensorboard,进行以下操作:主要就是使用putty建立端口映射:使用putty登陆服务器,使用以下命令启动tensorboard:tenso...

weixin_39613291的博客 5884

VScode利用EIDE和cortex-debug进行stm32开发(也适用51)

你是否因为keil页面太丑而烦恼,你是否因为keil编译太慢而恼怒,ok阿,今天也是给大家带来怎么在vscode上进行stm32的编程(我不会告诉你,我搞了好几天才搞好的💔💔💔)为什么是简单介绍?因为太啰嗦了,我嫌麻烦😋,大家可以去EIDE的官方文档去看。

weixin_73952614的博客 9382

【Java】main方法的深入理解

深入理解 main 方法 public static void main(String[] args) main 方法是Java虚拟机在调用 Java 虚拟机需要调用类的 main() 方法,所以该方法的方法权限必须是 public (∵ 调用的时候 Java 虚拟机和 main 方法不在同一个类) Java 虚拟机执行 main 方法的时候不必创建对象 ∴该方法必须是 static main 方法接受String 类型的数组参数,该数组中保存执行Java 命令时传递给所执行的类的参数

Jack 1021

避开这5个坑!STC8H DMA串口通信的实战避坑指南(115200波特率实测)

本文深入解析了STC8H单片机利用DMA实现稳定全双工串口通信的实战要点。针对115200高波特率场景,详细拆解了DMA-UART架构、关键寄存器配置、时钟精度计算、缓冲区管理及中断协同等核心环节,并提供了具体的避坑指南和调试方法,帮助开发者构建高效可靠的通信链路。

melon的博客 675

学Simulink——基于大数据处理与云计算的场景实例:无人机与云计算中心之间的高效数据传输链路设计

本文以无人机与云计算中心的高效数据传输链路设计为例,手把手指导使用Simulink进行系统级建模。针对智慧城市、灾害监测等场景中无人机采集的海量数据(视频、图像、点云等),构建包含数据源、传输协议、无线链路、云接入和性能分析的五层架构模型。通过智能数据压缩、多链路聚合和QoS优先级调度等关键技术,实现5G+Wi-Fi等多通信技术的自适应切换。仿真结果表明,5G+Wi-Fi链路聚合在城市环境中表现最优,而4G+卫星组合适合偏远地区。该模型为无人机实时数据传输提供了有效的设计方法和优化方向,可拓展至边缘计算、A

xiaoheshang_123的博客 120

java没有main方法,我们可以在没有main()方法的情况下执行java程序吗?

According to my knowledge we cannot execute without a main method because when your running the java program. java Virtual machine look for the main method .if JVM could not find the main method it wi...

weixin_29595351的博客 475

撸毛笔记-朴朴超市 v1.01

朴朴超市 v1.01脚本地址:自动签到和组队赚朴分, 朴分可以抵扣50%的金额组队瓜分需要4人成团, 每个号每天只能开团和入队各一次每天跑一两次即可使用扫码或自己想办法捉refreshToken扫码获取token: (先微信进入朴朴超市小程序并登录注册过账号再扫码)把获取的refreshToken和备注(非必须)填到文件pupuCookie.txt里(第一次运行会自动创建), 多账号换行或&或@隔开。

xiaoshun007的专栏 1805

java 点允许没有反应 程序有main_Java语言第5讲——分析没有main方法但正常运行的Java程序...

首先说明一下,本文使用了几年前的JDK(版本是1.4.2)来演示程序的运行。1、奇怪的Java程序源代码程序的编译和运行D:>jdk1.4.2binjavac Strange.javaD:>jdk1.4.2binjava StrangeHello, this is Strange.javaI will exit.D:>可以看到,这个Strange类,没有main方法,完全正常地运...

weixin_42299728的博客 98

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java 虚拟机main_Java语言第5讲——分析没有main方法但正常运行的Java程序

首先说明一下,本文使用了几年前的JDK(版本是1.4.2)来演示程序的运行。1、奇怪的Java程序源代码程序的编译和运行D:\>jdk1.4.2\bin\javac Strange.javaD:\>jdk1.4.2\bin\java StrangeHello, this is Strange.javaI will exit.D:\>可以看到,这个Strange类,没有main方法...

weixin_31319027的博客 153

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

java 编写一个没有main方法的程序

   无意中看到了说不写main方法也能编译一个程序,并能运行。    public class Hello{          static {             System.out.println("Hello Bolink!");         }    }        这个程序是可以跑的,但会报个错误:"Exception in thread Mai

bolink5的专栏 1268

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java程序没有main_没有main方法的Java程序

下面这个程序就是通过静态初始化块的方法来完成一个不需要main 方法的Java程序:)这个"副作用"很好玩。public class Hello{static{System.out.println("No MainJava say Hello,World");System.exit(0);}}另外一个我见到使用这种技巧的地方是在 数据库访问类在初始化数据池用到class SomeDBManage...

weixin_29054245的博客 683

java没有main方法吗_这个java程序为何没有main方法也能运行

importjava.io.*;importjava.util.*;importjava.awt.*;importjava.awt.event.*;importjava.net.*;importjava.applet.*;publicclassMmAudioextendsAppletimplementsActionListener{Str...import java.io.*;import jav...

weixin_31201481的博客 594

java 点允许没有反应 程序有main_这个Java程序没有main方法,为何也能运行

packagezhf;importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassKeyControlDrawextendsAppletimplementsKeyListener{privateRectangler;privateColorbackColor...package zhf;import java.app...

weixin_40009207的博客 106

没有main方法的java程序

现在才知道, 并不是每一个java程序都需要main方法。

gaoxueyi551的专栏 1630

Java 没有main方法的可执行程序

由于static语句块先于main方法执行,因此可设计一个不用main方法即可打印输出的HelloWorld程序   public HelloWorld { static { System.out.print("Hello World!"); System.exit(0); } }  如果没有System.exit(0),会报运行...

z41422687的专栏 607

idea无法运行java程序_Java语言第5讲——分析没有main方法但正常运行的Java程序

首先说明一下,本文使用了几年前的JDK(版本是1.4.2)来演示程序的运行。1、奇怪的Java程序源代码程序的编译和运行D:>jdk1.4.2binjavac Strange.javaD:>jdk1.4.2binjava StrangeHello, this is Strange.javaI will exit.D:>可以看到,这个Strange类,没有main方法,完全正常地运...

weixin_39605647的博客 1055

java 点允许没有反应 程序有main_漫话:为什么Java中的main方法必须是public static void的?...

在Java中,想必所有人都不会对main方法感到陌生,main方法是Java应用程序的入口方法。程序运行时,要执行的第一个方法就是main方法。在使用Java写下第一个hello world的时候,我们需要创建一个main方法,当我们使用Spring Boot启动一个web应用的时候,我们也同样需要一个main方法。当我们在Intellij IDEA中想要创建main 方法的时候,只需要输入psv...

weixin_31653453的博客 147

Java不用main方法运行_如何在不定义main方法的情况下运行Java程序?

我正在查看一些Java源代码,并注意到main方法没有定义。Java如何编译源代码而不知道从哪里开始?main方法仅在Java虚拟机执行代码时使用。没有main方法就无法执行代码,但仍然可以编译代码。编译代码时,通常在命令行中指定一组文件,例如javac MyClass1.java MyClass2.javaJava编译器(javac)检查传递给它的每个类,并将其编译为.class文件。Java源...

weixin_42302384的博客 5171

java 没有主函数_启动一个没有 main 函数的 java 程序

天气不错,闲来无事,所以搞点事情吧...作为一名 JAVA 开发者,不知道大家有没有去想过,JAVA 程序为什么一定要从 main 函数执行开始,其实关于这个话题,我大概从网上搜了下,其实不乏有 main 方法是我们学习Java语言学习的第一个方法,也是每个 java 使用者最熟悉的方法, 每个 Java 应用程序都必须有且仅有一个 main 方法 这种说法。那么真的是这样吗?今天就来聊聊这个事情...

weixin_33604071的博客 2346

如何写一个不需要main方法的java应用程序?

可以使用静态代码块来实现一个可以执行但并没有main方法的Java应用程序。如下面的代码是所示: [code="java"] class MainMethodNot { static { System.out.println("This java program have run without the run method"); System.e...

·鱼·骨头 797
上一篇: linux下生成垃圾的工具 SnailRubbishFileFactory version0.003:)
下一篇: 三元运算符的优先级
飞羽飞之猪
博客等级 码龄21年 127粉丝 85原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值