科百科
当前位置: 首页 科技资讯

命令行操作java程序(命令行工具使用)

时间:2023-06-04 作者: 小编 阅读量: 1 栏目名: 科技资讯

基本上现有的系统没有不支持这个环境的,各个操作系统有不同的命令行工具,但是正在趋向于大统一。所以会出现编码不符。java启动Java应用程序。主要用于运行Java应用程序。可以用于开发和部署。这说明我们的程序已经执行完毕了。后续会详细说明。jdbJava的debug工具,用来定位查找并修复Java平台程序中的错误。通常将模块打包成模块化JAR对使用会更加方便。该命令暂不演示。

为什么要使用命令行工具, 默认 Java 的开发是没有 IDE (IDE 是 Integrated Development Environment) 的。 所以我们就需要使用命令行进行使用, 命令行应该可以溯源到计算机的第一代产品。 基本上现有的系统没有不支持这个环境的,各个操作系统有不同的命令行工具, 但是正在趋向于大统一。

这里我们先学习两个命令 java 和 javac。这两个基本上学习 Java 必备的命令。

javac

javac: Java 编程语言的编译器。 把 Java 源代码编译成字节码和对应的 class 文件。

前面的章节说过 Java 的运行机制, 所以 javac 应该是前期的编译过程,编译成 Java 虚拟机 JVM 能够识别的代码指令集。让我们看看 javac 都有哪些参数。

用法: javac <options> <source files>

让我们先编写一个简单的 Hello 程序。代码如下:

class Hello {public static void main(String[] args) {System.out.println("Hello Java!");}}

并保存文件为 Hello.java ,在所在的目录上, 打开一个命令行工具,后续的演示都是使用 Windows 11 为主要的演示环境。

输入命令 javac Hello.java

执行之后, 会发现目录中多出来一个 Hello.class 的文件, 这个就是 javac 编译出来的字节码可以在 JVM 中运行的文件类型 .class。在编程语言开发中, 就会遇到一个避免不了的问题, 就是字符集的问题。 除非都是英文,否则就会出现编码集的问题。我们把上面的代码修改一下,加入一些中文。修改的代码如下:

class Hello {public static void main(String[] args) {System.out.println("Hello 苗子说全栈!");}}

再次执行 javac Hello.java

使用 命令 chcp 查看系统编码是什么: chcp

而 936 是: 中国-简体中文 GB2312, 但是我们在写代码的时候, 现在的场景下多数都为 UTF-8。所以会出现编码不符。 无法编译。 这时候, 就可以使用 <options> 选项。指定编码集。

编译成功, 可以查看 Hello.class 文件编译之后修改的时间, 已经变化。 既然编译过了, 我们就可以使用 java 命令运行该程序。

java

启动 Java 应用程序 。主要用于运行 Java 应用程序。可以用于开发和部署。

用法:java [options] <主类> [args...] (执行类) 或java [options] -JAR <jar 文件> [args...](执行 jar 文件)或java [options] -m <模块>[/<主类>] [args...] 或java [options] --module <模块>[/<主类>] [args...] (执行模块中的主类)或java [options] <源文件> [args] (执行单个源文件程序)

可以看到 java 的命名后面出了选项之外还有一个 主类, 既然说到类, 就只需要类名就可以了。 上面的类名叫作 Hello 。所以命令就使用 java Hello:

执行之后, 就可以看到控制台输出了 Hello 苗子说全栈! 这说明我们的程序已经执行完毕了。

现在不需要知道上面代码的意思, 只需要过个眼熟, 知道有这个命令即可。 下一章节, 会针对这个简单的程序单独的分析。一一理解。

当然除了以上两个基本的命令外还有另外的几个基础的命令也可以了解一下。

javadoc

从 Java 源文件生成 API 文档的 HTML 页面 。

用法:javadoc [options] [packagenames] [sourcefiles] [@files]

案例演示

修改代码为如下所示:

/** * 只是为了演示 javadoc 命令的使用 * @author xymiao * @since 1 */public class Hello {/*** Hello Java 程序的主运行函数* @param args 接收参数*/public static void main(String[] args) {System.out.println("Hello 苗子说全栈!");for (String arg : args) {System.out.println(arg);}}}

执行命令: javadoc -d docs -encoding UTF-8 Hello.java

我们使用 -d 指定对应的输出目录。 这里使用 docs,因为中间包含中文字符, 所以在执行的时候, 指定对应的字符集。

我们可以看到文档已经生成并放入了 docs 目录中。 进入文档, 找到 index.html 使用浏览器打开。 可以看到文档的内容。

javah

从 Java 10 以后去除了该命令, 具体参考 javac -h ,支持版本 Java 9, 这里不针对该命令进行过多的演示。

javap

反汇编一个或多个类文件, 官方反编译工具。

用法: javap <options> <classes>

这里指定的一个类, 所以需要先把源码编译成 .class 文件,然后使用命令 javap Hello 进行反编译。

这样我们就看到了部分的代码。如果想看源码内容, 推荐使用一些工具。 后续会详细说明。过个眼缘。

jdb

Java 的 debug 工具,用来定位查找并修复 Java 平台程序中的错误。

用法:jdb <选项> <类> <参数>

加入断点, 分步执行。 过个眼缘。

jar

jar 创建类和资源的档案, 并且可以处理档案中的单个类或资源或者从档案中还原单个类或资源。

在 Java 9 之前用用来给 Java 打包应用程序或者小程序用。 但是从 JDK 11 开始不再支持这种方式, 并且在 JDK 9 开始, 可以用 jar 命令来创建模块化的 jar 文件。用来开发和部署。通常将模块打包成模块化 JAR 对使用会更加方便。

该命令暂不演示。 后续说过模块系统之后, 再来详解。

除了以上的命令之外还会有更多的命令。 不在这里进行详细的讲解。这里说基础的也是为了接下来的学习必要。

如果想了解更多可参考:Java Development Kit Version 17 Tool Specifications (oracle.com)

关注我, 全栈开发, 带你学习各类知识点。感谢您的观看, 希望你能有收获。

    推荐阅读
  • 今日纸尿裤品牌推荐(纸尿裤618最新战报)

    今日纸尿裤品牌推荐从5月底开始,各大电商平台的618活动便开始如火如荼地进行。具体来看,帮宝适位居第一,好奇不止是此次618表现上佳,从今年上半年整体数据来看,好奇都保持着上涨态势。有消息称,卫神是碧芭宝贝旗下新品牌,京东商城wesens旗舰店表示,卫神和碧芭宝贝是一家公司、一个厂家。届时百余位资深嘉宾,将共同围绕后疫情时代的母婴产业展开探讨。

  • 杂粮戚风蛋糕如何做(杂粮戚风蛋糕做法)

    杂粮戚风蛋糕如何做主料:鸡蛋四只、杂粮粉60克、低筋面粉30克、橄榄油30克、牛奶56克、细砂糖50克、柠檬汁数滴准备好所有材料。把所用的模具清洗干净后擦干水分备用。加入橄榄油搅打至充分乳化。用手动打蛋器呈z字形搅拌均匀。蛋清中加入几滴柠檬汁和细砂糖,用电动打蛋器打发至湿性偏干状态。再倒入剩余的蛋清中切拌均匀,成光滑细腻的面糊。送入预热好的烤箱,170度40分钟。出炉后倒扣在细口瓶子上,彻底晾凉后脱模。

  • 无线中继怎样设置不掉网(利用无线中继网让wifi覆盖更大范围)

    对于很多大户型的用户来说,有的时候距离稍微远那么一点,wifi就搜索不到了,扯网线又太费事。我们需要再准备一台路由器,并且路由器支持无线中继功能。小编这里有一台前两年限制下来的360路由器。虽然现在它已经有些破旧,但他曾经也是个王者。我们依然能从它身上看到些许峥嵘!然后把上网方式改成动态ip上网。开启无线中继,然后找到自家网络,并输入密码进行连接。输入账号密码,进行添加。

  • 百加一笔是什么字 自加一笔是什么字

    后引申为所有的、众多的,又特指百倍。

  • 剧情片推荐(推荐几部好的经典剧情电影)

    剧情片推荐《肖申克的救赎》《肖申克的救赎》由弗兰克·达拉邦特执导,蒂姆·罗宾斯、摩根·弗里曼等主演。该片改编自斯蒂芬·金《四季奇谭》中收录的同名小说。影片的结局有《基督山伯爵》式的复仇宣泄。该片讲述了少女千寻意外来到神灵异世界后,为了救爸爸妈妈,经历了很多磨难的故事。该片于2001年7月20日在日本上映,后于2019年6月21日在中国正式上映。

  • 浴佛节放生的好处(浴佛节放生的好处是什么)

    浴佛节放生的好处放生就是救命放生就是救护那些被擒、被抓、将被宰杀、命在垂危的众生的命,而众生最宝贵的就是自己的生命得以重拾生机,救他们的命,他们感激最深,所以功德至大!放生就是慈悲佛心就是大慈悲心,慈悲心是学佛的根本,而放生则是为了解除众生的苦难,起慈悲心予以救赎的一种行为。而放生的功德最大,既直接又快速,改变命运的力量最为显著。

  • 断断续续做梦(有一天做梦)

    农村并没有大家想象的那么好,小的时候有一天在家里睡得迷迷糊糊地,然后被老鼠吵醒了还能听到老鼠吱吱叫的声音,有点被吓到了睁开眼的时候发觉手指很痛,抬手一看发现手指破了还在流血一些些的血丝,奇怪怎么会突然受伤后知后觉的好像自己刚刚在做梦说下好笑的是,梦见的就是老鼠进房子里咬了人那些老鼠还是特别大,农村油水多吃得肥比起城里的要大一倍多刚醒来耳朵还能听到这些老鼠叫,梦到被老鼠咬的我手又痛,那时候就有错觉了

  • 标签页怎么合并(好友标签分类太多了)

    分组好友的动作没到位,在后面就会有很多的小问题,就是微信好友很难管理,无形当中会浪费、流失了很多的资源。你有没有发现这种情况?因为客户需要管理!标签备注很清晰的话,就可以非常好管理,让你业绩更轻松超越!如果你错过了销冠神器,可能就错过了私域流量未来的黄金十年。关注公号:1号销冠助手获取更多福利

  • 白芝麻能不能生吃,有什么营养价值 吃白色生芝麻有什么好处

    白芝麻中的亚油酸可以调节胆固醇,白芝麻富含维生素e,可以使皮肤白皙滋润,防止各种皮肤炎症,还具有养血的功效。它具有很高的营养价值,是一种流行的医疗和食品两用作物,可用于榨油和直接食用,也可用作香料、医药和化学原料;作为营养食品,广泛应用于烘焙食品、零食和糖果制品。

  • 哪个国家的昆虫邮票最有意义(小小方寸间昆虫大百科)

    王牧,是世界昆虫邮票博物馆负责人。潜心收藏六十年近2万张昆虫邮票齐亮相王牧所说的"他",就是自己的父亲王荫长,他是南京农业大学的教授,也是这座昆虫邮票博物馆的创办人。王牧的父亲还根据这些邮票,编写了很多和昆虫相关的科普故事。为了让更多人有机会欣赏到这些,了解邮票背后的故事,王家人决定,在南京溧水石湫,寻一个场所,布置一间以展示昆虫邮票为主的博物馆。在王牧和父亲看来,这就是博物馆的力量!