Java通过cmd命令进行运行class文件,并传递参数,脚本编写

  1. 目录

    1: 编写helloWord

    2: 进行class文件的编译:

    3:运行class文件

    4:类加载过程:

    5:传递参数

    6:编写bat脚本进行运行


1: 编写helloWord

public class HelloWord {

    public static void main(String[] args)  {

        System.out.println("HelloWord" );

    }

}

2: 进行class文件的编译:

Java的class文件是java程序编译后生成的二进制文件,包含了完整的代码,类信息,方法信息等内容。

class文件可以在任何安装了java虚拟机的计算机上进行运行,所以,必须要有java的基础环境。

可以首先进行环境配置,输入java  -version 进行换进验证

然后输入javac 验证编译功能

输入javac HelloWord.java 进行编译成class文件

编译成功后出现HelloWord.class文件

3:运行class文件

输入java HelloWord进行运行class文件,不需要输入class后缀

出现上述情况,则是自己的文件中有包路径,进行删除

然后再运行

如上图所示,则输出HelloWord字样。

4:类加载过程:

例如加载HelloWorld的时候的类加载过程

1、寻找jre目录,寻找jvm.dll,并初始化JVM;

2、产生一个Bootstrap Loader(启动类加载器);

3、Bootstrap Loader自动加载Extended Loader(标准扩展类加载器),并将其父Loader设为Bootstrap Loader。

4、Bootstrap Loader自动加载AppClass Loader(应用/系统类加载器),并将其父Loader设为Extended Loader。

5、最后由AppClass Loader加载HelloWorld类。

5:传递参数

修改代码输入参数,如果想带上参数运行程序,可以在命令行中添加参数

public class HelloWord {
    public static void main(String[] args)  {
        if(args == null || args.length ==0){
            System.out.println("no data");
        }else {
            for(int i =0 ;i< args.length ;i++){
                System.out.println("args==> " + args[i]);
            }
        }
    }
}

6:编写bat脚本进行运行

@echo off
rem 提供Windows下测试运行class
 
echo ==================begin========================
 
cls 

set HelloWord_DIR=./
set data1=1
set data2=2
set data3=3

color 0a 
TITLE HelloWord 
 
CLS 
 
echo. 
echo. ** HelloWord  *** 
echo. 
 
:MENU 
 
::*************************************************************************************************************
echo. 
	echo.  [1] 启动HelloWord
	echo.  [2] 关闭HelloWord
echo. 
 
echo.请输入选择的序号:
set /p ID=
	IF "%id%"=="1" GOTO start 
	IF "%id%"=="2" GOTO close 
PAUSE 
 
::*************************************************************************************************************
::启动
:start 
	call :startHelloWord
	GOTO MENU
 

:startHelloWord
	echo. 
	echo.启动HelloWord...... 
	IF NOT EXIST "%HelloWord_DIR%HelloWord.class" (
        echo "%HelloWord_DIR%HelloWord.class"不存在
        goto :eof
     )
 
	cd "%HelloWord_DIR%" 
 
	IF EXIST "%HelloWord_DIR%HelloWord.class" (
		java  HelloWord %data1% %data2% %data3%
	)
	echo.OK
	goto :eof
	

::*************************************************************************************************************
::关闭
:close 
	call :closeHelloWord
	GOTO MENU
 
:closeHelloWord
	echo. 
	echo.关闭HelloWord...... 
	echo.中国人不骗中国人
	timeout /nobreak /t 5
	msg %username% /time:5  5秒后自动关闭窗口!
	exit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨迹嘿嘿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值