Hello World (记事本+命令行)
读完这篇博客。你将对下面几点更有心得:
- Java 中的当前路径、类路径等概念
- javac、java 命令的综合使用
- jar 包的创建及引用
创建文件夹,准备測试源代码
- 创建例如以下文件夹
当中,bin 文件夹用于存放 Class 字节码文件。jar 文件夹用于存放我们自己打包的 jar 文件,src 下是项目源代码。 - 编写測试源文件
分别编写 Vehicle.java、Person.java、MainClass.java,内容例如以下:
package com.george.jvm.test;
public class Vehicle{
private String name;
private Double cost;
// getters setters
public void setName(String name){this.name = name;}
public String getName(){return name;}
public void setCost(Double cost){this.cost = cost;}
public Double getCost(){return cost;}
}
import com.george.jvm.test.Vehicle;
public class Person{
private Integer id;
private String name;
private Integer age;
private Vehicle v;
// getters setters
public Integer getId(){return id;}
public void setId(Integer id){this.id = id;}
public String getName(){return name;}
public void setName(String name){this.name = name;}
public Integer getAge(){return age;}
public void setAge(Integer age){this.age = age;}
public Vehicle getVehicle(){return v;}
public void setVehicle(Vehicle v){this.v = v;}
// method
public void eat(){
System.out.println("Hi! My name is "+ name +" and I am " + age +" years old!");
}
public void drive(){
System.out.println("Look! I am driving " + v.getName() + " now!");
}
}
import com.george.jvm.test.Vehicle;
public class MainClass{
public static void main(String args[]){
Vehicle v = new Vehicle();
v.setName("Benz");
v.setCost(1000000.00);
Person p = new Person();
p.setId(1);
p.setName("张三");
p.setAge(20);
p.setVehicle(v);
p.eat();
p.drive();
}
}
打包外部依赖 Jar 文件
编译外部依赖源代码,输出到 bin 文件夹
① -classpath 选项能够指定输入源文件文件夹
② -d 能够指定输出字节码文件夹
③ 多个输入源文件能够使用通配符或用空格分隔运行命令后,会发如今 bin 文件夹下会生成一个带包名的 Vehicle.class 字节码文件:
打包外部依赖字节码,输出到 jar 文件夹
① jar 打包命令中。參数 c(create) 表示创建归档文件,v(view) 表示显示创建过程中的具体信息。f(file) 指定归档文件名称
② 注意打包要带上包名
③ 多个 jar 包可使用空格分隔。详解可使用
jar
命令打包结果例如以下:
编译、运行測试 Java 源文件
编译 Person.java、MainClass.java,并输出到 bin 文件夹
① -cp 选项同 -classpath
编译结果例如以下:
运行 MainClass
①注意
java-classpath ..\jar\Vehicle.jar; MainClass
中,.jar 后的 “;” ,且”;”后还要跟” “[空格]
② 例如以下命令也是可行的:
上面的測试在笔者环境下通过,如有不妥之处。请不吝赐教,留言。
最后给出相关优秀博客出处:
Hello World (记事本+命令行)的更多相关文章
- C#的命令行工具
在最开始学java的时候我们一般用 记事本 + 命令行,在命令行里边进行编译和运行, C#也有类似的东西(csc工具),在学习C#语言的时候可以用 文本编辑器来编写代码,然后用C#的命令行工具来编译 ...
- ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application
今天看了Scott关于ASP.NET Core的介绍视频,发现用命令行一步一步新建项目.添加Package.Restore.Build.Run 执行的实现方式,更让容易让我们了解.NET Core的运 ...
- 干掉命令行窗口下MySql乱码
晚上重温dos窗口操作mysql的时候,遇到了一个巨蛋疼的问题------>中文验证码 -->_-->,所以找了找资料弄懂了怎么解决乱码问题,,小记一下. 新建一个表 create ...
- Git命令行(转用于学习和记录)
Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...
- Mac系统终端命令行不执行命令 总出现command not found解决方法
配置过安卓开发环境,改过bash_profile这个文件,最后不知怎么的只有cd命令能执行,我猜测可能修改bash_profile文件后没有保存 导致的 保存命令是: source .bas ...
- 怎样用命令行编译C#程序
1. 把程序拷贝至记事本 2.另存为*cs格式 3.找到VS2015提供的命令提示 4.要把命令行指向程序所在的目录(可以有个小软件) 如果在其他的盘符,先敲D:,然后再cd 5.输入csc hell ...
- SMTP协议--在cmd下利用bat命令行发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 选择‘开始’-‘运行’,输入cmd,进入命令提示符窗口. Windows7默认没有开始Telnet服务,请在运 ...
- VS2015——命令行下编译、静态库动态库制作以及断点调试
c程序编译流程 程序的基本流程如图: 1. 预处理 预处理相当于根据预处理指令组装新的C/C++程序.经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的 ...
- 命令行启动win7系统操作部分功能
control.exe /name microsoft.folderoptions 启动资源管理器的 文件夹属性 选项卡 control.exe /name Microsoft.AddHardware ...
随机推荐
- 【POJ 1845】 Sumdiv (整数唯分+约数和公式+二分等比数列前n项和+同余)
[POJ 1845] Sumdiv 用的东西挺全 最主要通过这个题学了约数和公式跟二分求等比数列前n项和 另一种小优化的整数拆分 整数的唯一分解定理: 随意正整数都有且仅仅有一种方式写出其素因子的乘 ...
- MDNS DDoS 反射放大攻击——攻击者假冒被攻击者IP向网络发送DNS请求,域名为“_services._dns-sd._udp.local”,这将引起本地网络中所有提供服务的主机都向被攻击者IP发送DNS响应,列举网络中所有服务
MDNS Reflection DDoS 2015年3月,有报告叙述了mDNS 成为反射式和放大式 DDoS 攻击中所用媒介的可能性,并详述了 mDNS 反射式攻击的原理和相应防御方式.Q3,Akam ...
- 最近Criteria
第一次用Criteria,于是查了一下http://langgufu.iteye.com/blog/2039554 新鲜事排序算法http://www.zhihu.com/question/20319 ...
- PostgreSQL Replication之第六章 监控您的设置(1)
在本书的前几章,您已经学习了各种复制以及如何配额制各种类型的场景.现在是时候通过增加监控来让您的设置更加可靠了. 在本章中,您将学习监控什么以及如恶化实施合理的监控车辆.您将学习: • 检查您的 XL ...
- Benelux Algorithm Programming Contest 2014 Final(第二场)
B:Button Bashing You recently acquired a new microwave, and noticed that it provides a large number ...
- SPOJ 7258 SUBLEX 后缀数组 + 二分答案 + 前缀和
Code: #include <cstdio> #include <algorithm> #include <cstring> #define setIO(s) f ...
- 洛谷 P2486 [SDOI2011]染色 LCT
Code: #include <cstdio> //SDOI2010 染色 #include <algorithm> #include <cstring> #inc ...
- Android Recovery OTA升级(一)—— make otapackage
文件夹 文件夹 概述 make otapackage BUILT_TARGET_FILES_PACKAGE ota_from_target_files WriteFullOTAPackage Sign ...
- iOS 实现QQ界面
应师傅要求编写个QQ界面来不吝赐教下我的代码问题. 编写个QQ界面.有三个组,每一个组有人.并显示在线不在线. 先看一下效果图 这里省了事由于我的图片仅仅用了一张.假设要依据人的不同设置,仅仅要在ce ...
- 积跬步,聚小流------Bootstrap学习记录(2)
现阶段开启每一次新的征程,已然离不开"Hello World"的习惯仪式.这次自然也不例外.先来看下给出的官网给出的演示样例: 1.bootstrap官网提供的html基本模板代码 ...