如何在IDEA中实现类似Linux命令那样的外部传参

【背景说明】

IDEA中执行一个程序时,如何就在程序一开始执行给传入你给的参数呢?

【说明】

public static void main(String[] args) throws Exception {}

说明:其实java中main方法里的args这个参数,就是用于接收外部传参的。

【解析传参的代码】

public class OutParamSocketStreamWordCount {
    public static void main(String[] args) throws Exception {
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setParallelism(1);

        //方式一:通过位置,解析args参数
//        String host = args[0];
//        int port = Integer.parseInt(args[1]);

        //方式二:通过flink中自带的ParameterTool工具类,进行参数名解析
        ParameterTool parameterTool = ParameterTool.fromArgs(args);
        String host = parameterTool.get("host");
        int port = parameterTool.getInt("port");

        DataStreamSource<String> socketDS = env.socketTextStream(host, port);
        SingleOutputStreamOperator<WordCount> sum = socketDS.flatMap(new FlatMapFunction<String, WordCount>() {
            @Override
            public void flatMap(String value, Collector<WordCount> out) throws Exception {
                String[] words = value.split(" ");
                for (String word : words) {
                    out.collect(new WordCount(word, 1));
                }
            }
        }).keyBy(new KeySelector<WordCount, String>() {
            @Override
            public String getKey(WordCount value) throws Exception {
                return value.getWord();
            }
        }).sum("count");

        sum.print();


        env.execute();
    }
}

通过上述两种方式实现外部传参(1.解析位置,2.解析参数名)

此时参数名在代码中已经写完了,但现在直接运行会报错,因为你还没有给其传参。

这样参数就传递完成了,再次运行!

成功


                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/665430.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# 写一个简单的Windows Service的服务程序

项目创建及设定部分 使用VS2019创建项目&#xff0c;选择C# Service的选项 按照你喜欢的方式命名&#xff0c;我这边就默认了 添加安装服务&#xff0c;在Service1.cs[Design]中 在设计界面右击&#xff0c;选择如下的"Add Installer" 在出现的"ProjectInstall…

Ubuntu server 24 (Linux) Snort3 3.2.1.0 Guardian IPtables 联动实战 主动防御系统(ids+ips)

一 Snort3 安装配置&#xff0c;参考:Ubuntu server 24 安装配置 snort3 3.2.1.0 网络入侵检测防御系统 配置注册规则集-CSDN博客 二 安装主动防御程序Guardian 1 下载&#xff0c;解压 tar zxvf guardian-1.7.tar.gz cd guardian-1.7/ 2 配置 #拷贝文件 sudo cp guard…

如何从浅入深理解transformer?

前言 在人工智能的浩瀚海洋中&#xff0c;大模型目前无疑是其中一颗璀璨的明星。从简单的图像识别到复杂的自然语言处理&#xff0c;大模型在各个领域都取得了令人瞩目的成就。而在这其中&#xff0c;Transformer模型更是成为大模型技术的核心。 一、大模型的行业发展现状如…

docker删除所有容器

笔记 要使用 Docker 删除所有容器&#xff08;无论是停止的还是正在运行的&#xff09;&#xff0c;可以按照以下步骤操作&#xff1a; 1. **删除所有正在运行的容器**&#xff1a; 首先&#xff0c;您需要停止所有正在运行的容器。可以使用以下命令&#xff1a; dock…

官方正版 | FastCopy - Windows 上最快的文件复制&备份软件

『FastCopy 软件概述』 FastCopy 是一款高性能的文件复制和备份工具&#xff0c;专为 Windows 操作系统设计。它以其卓越的速度和丰富的功能&#xff0c;在用户中赢得了良好的声誉。以下是 FastCopy 的主要特点和优势&#xff1a; 速度优化&#xff1a;FastCopy 通过多线程、异…

c# - 运算符 << 不能应用于 long 和 long 类型的操作数

Compiler Error CS0019 c# - 运算符 << 不能应用于 long 和 long 类型的操作数 处理方法 特此记录 anlog 2024年5月30日

Day10:平面转换、渐变色

目标&#xff1a;使用位移、缩放、旋转、渐变效果丰富网页元素的呈现方式。 一、平面转换 1、简介 作用&#xff1a;为元素添加动态效果&#xff0c;一般与过渡配合使用。 概念&#xff1a;改变盒子在平面内的形态&#xff08;位移、旋转、缩放、倾斜&#xff09;。 平面转换…

工业安全智勇较量,赛宁网安工业靶场决胜工业网络攻防对抗新战场

2024年1月30日&#xff0c;工信部发布《工业控制系统网络安全防护指南》&#xff08;工信部网安〔2024〕14号&#xff09;&#xff0c;围绕安全管理、技术防护、安全运营、责任落实四方面提出安全防护要求&#xff0c;强调聚焦安全薄弱关键环节&#xff0c;强化技术应对策略&am…

说说你对单例模式的理解?如何实现?

一、是什么 单例模式&#xff08;Singleton Pattern&#xff09;&#xff1a;创建型模式&#xff0c;提供了一种创建对象的最佳方式&#xff0c;这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有单个对象被创建 在应用程序运行期间&am…

代码随想录算法训练营第四十四天|01 背包、动态规划:01背包理论基础(滚动数组)、416. 分割等和子集

01 背包 文档讲解&#xff1a;代码随想录 题目链接&#xff1a;46. 携带研究材料&#xff08;第六期模拟笔试&#xff09; 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物…

Day-04python模块

一、模块 1-1 Python 自带模块 Json模块 处理json数据 {"key":"value"} json不是字典 本质是一个有引号的字符串数据 json注意点 {} 中的数据是字符串引号必须是双引号 使用json模块可以实现将json转为字典&#xff0c;使用字典的方法操作数据 。 或者将…

自动驾驶中的长尾问题

自动驾驶中的长尾问题 定义 长尾问题&#xff08;Long-Tail Problem&#xff09;是指在数据分布中&#xff0c;大部分的数据集中在少数类别上&#xff0c;而剩下的大多数类别却只有少量的数据。这种数据分布不平衡的现象在许多实际应用中广泛存在&#xff0c;特别是在自动驾驶…

自适应Q的容积卡尔曼滤波MATLAB例程|完整代码

前言 给出自适应容积卡尔曼滤波&#xff08;ACKF&#xff09;的MATLAB代码。 主要思想 通过自适应状态协方差Q来实现&#xff0c;得到了比传统方法更低的估计误差。适用于Q无法获取、估计不准、变化不定的情况&#xff0c;只有一个M文件&#xff0c;方便运行&#xff0c;保运…

一分钟学习数据安全——自主管理身份SSI基本概念

之前我们已经介绍过数字身份的几种模式。其中&#xff0c;分布式数字身份模式逐渐普及演进的结果就是自主管理身份&#xff08;SSI&#xff0c;Self-Sovereign Identity&#xff09;。当一个人能够完全拥有和控制其数字身份&#xff0c;而无需依赖中心化机构&#xff0c;这就是…

3D轻量化的三大应用解决方案

老子云平台https://www.laozicloud.com/ 为不同应用场景提供了三大解决方案。 01 单模型轻量化解决方案 数字化时代&#xff0c;越来越多的C2M定制、文旅、电商等行业&#xff0c;为了开拓市场&#xff0c;提升企业竞争力&#xff0c;开始把目光投向产品的3D展示交互。 单模…

Fragment后续

1.Fragment 生命周期 2.Fragment动态注册 2.1 activity package com.tiger.mystudyactivity;import android.graphics.Color; import android.os.Bundle; import android.util.TypedValue;import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager.widge…

VirtualBox7.x下载安装CentOS7安装网络配置

1、VirtualBox7.x下载安装 1.1、VirtualBox7.x下载 1.1.1、去哪里下载&#xff1f; 一般我们去官方网站&#xff08;https://www.virtualbox.org/wiki/Downloads&#xff09;下载、但国内访问速率较慢&#xff0c;更有甚者下载速度仅仅只有0.1kb/s&#xff0c;极大的拖延了项…

环境变量 | 是不是必须配置?怎么配置?

本文基于mysql和python环境&#xff0c;简单介绍了“什么是环境变量”、“环境变量是不是必须配置”、“环境变量配置方法”及“常用环境变量 path ”。 1、什么是环境变量 释义&#xff1a;一般是指在操作系统中&#xff0c;用来指定操作系统运行环境的一些参数&#xff0c;…

前端开发的未来:回归简约,还是拥抱复杂?

今天和大家分享一篇国外大佬的文章&#xff0c;他提出了一个很有意思的观点——我们熟悉的前端开发正在逐渐消亡&#xff0c;并预测我们很快会回到最初的状态。让我们一起来探讨一下他的观点&#xff0c;看看你是赞同&#xff0c;欢迎大家在评论区探讨和交流。 回顾前端开发的历…

picoLLM:大模型的量化魔术师 上

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调重新阅读。而最新科技&#xff08;Mamba&#xff0c;xLSTM,KAN&#xff09;则提供了大模…