cmd中java编译命令是什么_cmd中java的编译命令——java和javac、javap

如题,首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行。进入如图所示的画面:

57ed3d56158f5b121537c7bb2ff7a485.png

可知,当前默认目录为C盘Users文件夹下的Administrator文件夹。一般而言,我们习惯改变当前目录。由于windows有磁盘分区,若要跳到其他磁盘,例如E盘,有几种方法:

1、输入命令: pushd 路径(此命令可将当前目录设为所希望的任一个已存在的路径)

2、输入命令: e: 转移到e盘,然后再输入 cd 转移到所希望的已知路径。

如图:

2f3e31592500e74450eb93c16e089590.png

希望在windows命令行下使用javac、java、javap等命令,那么当前电脑必须安装了jdk,并且将jdk的bin目录添加到环境变量path下了。这个不用多说。那么让我们看一下如何使用javac、java、javap吧。

一、javac

javac是用来编译.java文件的。命令行下直接输入javac可以看到大量提示信息,提示javac命令的用法,我只知道常用的。

javac -d destdir srcFile

其中:1、-d destdir是用来指定存放编译生成的.class文件的路径。(若此选项省略,那么默认在当前目录下生成.class文件,并且没有生成包文件夹;当前目录可以用“.”来表示,即:javac -d . srcFile )

注意:添加-d选项除了可以指定编译生成的.class文件的路径外,最大的区别是可以将源文件首行的package关键字下的包名在当前路径下生成文件夹。

2、srcFile是源文件.java文件的路径。

例如:有这样一个简单的java类,路径为E:\test\JavacTest.java:

代码如下:

package com.stopTalking.test;

public class JavacTest {

public static void main(String[] args) {

byte a = 5;

short b = 6;

System.out.println("JavacTest [a=" + a + ", b=" + b + "]");

}

}

当前路径下,输入 javac JavacTest.java ,便在当前路径下生成了一个JavacTest.class的文件,如图:

5312f1f350f8a8fbf155122a2c32f47b.png

注意:JavacTest.java是一个首行标注了package的java文件,而此时它在硬盘上的目录并未对应它的包名,所以,使用java com.stopTalking.test.JavacTest运行时是无法找到该java的。

若输入,javac –d . JavacTest.java ,那么生成的JavacTest.class便在当前目录下生成的包文件中了,如图:

06077f63e7bca3a65e09aa5f590c25c1.png

二、java

此时,我们希望运行该类,在大部分的教材中,使用java JavacTest便可直接运行,可是我们发现出现这样的错误:

ac883304f93ceddf5d8e84d3f076e5ef.png

这是因为,大部分的教材使用的类是默认包名的,即源文件的第一行是没有package指定包名的。使用一个类,我们知道,是需要使用它的全限定类名的。

所以,我们在命令行输入:java com/stopTalking/test/JavacTest,便可看到正确的结果了:

7134e3969843a0811920b7ec54c8e48f.png

总结:使用简单的java命令运行一个.class文件,不仅需要使用该类的全限定类名,而且需要在当前路径下有该类的包层次文件夹。这必须要求编译时使用-d选项。否则需要自己来建立包层次文件夹。

三、javap

javap主要用于帮助开发者深入了解Java编译器的机制,主要选项有:

-c 分解方法代码,即显示每个方法具体的字节码

-public | protected | package | private 用于指定显示哪种级别的类成员

-verbose 指定显示更进一步的详细信息

输入 javap -c com/stopTalking/test/JavacTest,显示如图:

06ea2fcbc4f08a9d1dbd29c6ab3ae705.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Struts2源码阅读(一)_Struts2框架流程概述

1. Struts2架构图 请求首先通过Filter chain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的ActionContext和Dispatcher;FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。 ActionMapper取得了ActionMappi…

如何衡量机器与人类的智能关系,AI智商评测标准专家研讨会邀请

21世纪以来,人工智能领域陆续爆发很多重要事件。其中最吸引人们眼球的,当属2016年战胜了人类围棋冠军并开始能够从0自我学习的AlphaGo。10月26日,软银CEO孙正义在沙特阿拉伯举行的未来投资计划大会上称,未来30年内AI的智商&#x…

谷歌Jeff Dean团队发文,探讨「学习模型」如何替代传统索引结构

原文来源:arxiv-vanity作者:Tim Kraska、Alex Beutel、Ed H. Chi、Jeffrey Dean、Neoklis Polyzotis「雷克世界」编译:嗯~阿童木呀、多啦A亮、我是卡布达索引就是模型:B-Tree-Index可以看作是一个能够将一个键映射到排序数组中记录…

php html区别_php与html区别

php与html区别HTML是超文本标记语言;PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。HTML主要用在客户端的显示,比如我们浏览的网页,特别是静态网页,都…

Struts2源码阅读(三)_DispatcherConfigurationProvider

首先强调一下struts2的线程程安全,在Struts2中大量采用ThreadLocal线程局部变量的方法来保证线程的安全,像Dispatcher等都是通过ThreadLocal来保存变量值,使得每个线程都有自己独立的实例变量,互不相干. 接下来就从Dispatcher开始看起,先看其构造函数&a…

谷歌宣布在北京成立AI中国中心:李飞飞和李佳共同领导

来源:澎湃新闻概要:谷歌正式宣布谷歌AI中国中心(Google AI China Center)在北京成立。谷歌正式宣布谷歌AI中国中心(Google AI China Center)在北京成立。12月13日,在上海举行的谷歌开发者大会&a…

AI 与区块链:两大热门技术,会碰撞出什么样的火花?

来源:36氪概要:区块链和AI可以说是当今最热门的两个技术方向了。区块链和AI可以说是当今最热门的两个技术方向了。在一般人看来,这两大技术似乎没有什么交叉的地方,因为区块链和AI分别属于是技术谱系的两个极端:一个是…

伯克利人工智能研究院最新研究:协作型工业机器人如何更智能?

原文来源:BAIR作者:Changliu Liu、Masayoshi Tomizuka「雷克世界」编译:嗯~阿童木呀、我是卡布达在现代工厂中,工人和机器人是两大主要劳动力。出于安全考虑,这两者通常被限制在金属笼中的机器人分离开来,而…

Php如何过360拦截,PHP常见漏洞修复文件-360漏洞修复插件

主要对常见的漏洞进行拦截,如:SQL注入漏洞、检测POST数据、XSS漏洞防护等,效果非常不错,值得拥有。1、下载:360漏洞修复插件2、解压后,上传整个文件夹至服务器根目录3、if(is_file($_SERVER[DOCUMENT_ROOT]./360safe/3…

谷歌开源 TFGAN,让训练和评估 GAN 变得更加简单

作者:思颖概要:训练神经网络的时候,通常需要定义一个损失函数来告诉网络它离目标还有多远。三年前,蒙特利尔大学 Ian Goodfellow 等学者提出「生成式对抗网络」(Generative Adversarial Networks,GANs&…

Struts2源码阅读(六)_ActionProxyActionInvocation

下面开始讲一下主菜ActionProxy了.在这之前最好先去了解一下动态Proxy的基本知识.ActionProxy是Action的一个代理类,也就是说Action的调用是通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocatio…

py语言和php,php和python什么区别

python语言的风格Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Ti…

计算机产业深度报告:云计算与人工智能开启新一轮技术变革周期

来源:乐晴智库概要:每一次的技术迭代都将行业推向新的高度,同时也对产业生态和企业兴衰产生重大影响。纵观整个IT产业的发展史,从1960年代到现在的2010年代,科技行业历经了大型机时代、小型机时代、PC时代、互联网时代…

自动分页,返回时跳回指定页

实现原理: displaytag 自动分页时,只需要提供一个“集合”(name 属性) 和翻页对应的 requestURI 属性(也是返回整体的集合) 执行翻页时 displaytag 会自动计算出页数,形如: http://localhost:8080/bpp/ma…

java 界面艺术字,Java 在Word文档中添加艺术字

与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中。我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版。这篇文章将介绍如何使用FreeSpire.Doc for Java在word文档…

AI校招程序员最高薪酬曝光!腾讯80万年薪领跑,还送北京户口

来源:100offer概要:如果说 2016 年是互联网 AI 领域井喷的元年,2017 年整个 AI 领域全面爆发,来潮汹涌的趋势相较 2016 年可以说是有过之而无不及。如果说 2016 年是互联网 AI 领域井喷的元年,2017 年整个 AI 领域全面…

vscode php断点,VSCode中设置断点调试PHP(示例代码)

所需文件xampp 集成服务器(本文使用Apache2.4MySQLPHP7.4.3)vscodeXdebugphp-debug 插件配置Xdebug1. 下载Xdebug插件 (直接去 https://xdebug.org/download.php下载php对应版本的插件)如果不知道如何选取版本,则如下Step 1:获取本地php版本信息 (利用ph…

2017英国AI形势报告:认知鸿沟、新商业模式和当下的挑战

原作 David Kelnar MMC投资研究中心老大Root 编译自 MMC Venture量子位 出品 | 公众号 QbitAI来源:36氪概要:AI技术今年所获得媒体、资本极度的关注,短时间内已经给民众带来认知上剧烈的冲击:或是由未知产生恐惧,或是对…

前百度首席科学家吴恩达携手富士康,要用人工智能升级制造业

来源:澎湃新闻概要:当地时间12月14日,吴恩达再一次通过英文自媒体平台Medium公布了自己的下一个创业项目——Landing.ai。作为人工智能领域里的明星科学家、斯坦福大学计算机系教授吴恩达(Andrew Ng),离开百…

腾讯AI Lab解析2017 NIPS三大研究方向,启动教授及学生合作项目

来源: 腾讯AI实验室概要:腾讯AI Lab去年4月成立,今年第二次参加NIPS,共有8篇文章被录取,含一篇口头报告(Oral)。在所有国内研究机构和高校中,录取论文数仅次于清华大学。NIPS被誉为机…