MacOS终端下执行一个简单Java脚本

MacOS下安装完Java JVM,配置好环境变量后可以在终端执行一个简单的java脚本程序,其中先使用javac编译器将.java文件编译成字节码文件,然后通过java解释器执行字节码文件。

编写一个简单的脚本

1 class Demo{
2
3     public static void main(String[] args){
4         System.out.println("hello world!");
5     }
6
7 }

编写完后保存为.java格式,这里使用终端查看:

打开终端编译

使用javac编译完成后,执行完后目标文件夹下会多出来一个Demo.class字节码文件。

打开终端解释执行

java命令解释执行后,发现可以正常的输出"hello world",执行OK。

Java文件名和类名尽量一致

现在有个问题,如果我将java文件中类名修改为HelloWorld,会怎样呢,编译会有什么结果,下面在终端下使用vim命令修改了类名如下所示。

重新编译,发现目标文件夹下多出了一个HelloWorld.class的字节码文件,原来编译后文件名就是类名,使用java命令可以正常解释。

如果有很多文件,这样类名和java文件名不一致的情况应该尽量避免,这样可以添加修饰符public,可以约束java文件名和文件里的类名必须保持一致,否则编译无法通过,如下就提示了建议修改java文件名和类名一致。

Java文件中写多个类

如果在java文件中定义多个类也是可以的,编译后生成多个class文件。

结论

(1)Java执行需先将代码转换成字节码文件,字节码文件被解释器执行解释后变成机器码,机器码才能被计算机识别执行。

(2)编译命令:javac 编译的java文件全名,包括文件类型java。

(3)运行命令:java 要运行的class文件名,一般为一个类对应一个class文件

参考博文:https://www.cnblogs.com/chengdabelief/p/6576320.html

原文地址:https://www.cnblogs.com/youngchaolin/p/11258375.html

时间: 2024-07-28 21:48:18

MacOS终端下执行一个简单Java脚本的相关文章

【sehll学习】linux运维一个简单shell脚本监控系统内存

学习shell脚本入门后,慢慢要尝试编写一些脚本练练手,在这先简单的学习写个系统内存的监控. 1.首先先要确定一下截取一下需要关注的内存使用值,可使用free 命令来操作 free -m 显示 一般在监控内存是我们都是截取 第三行(-/+ buffers/cache)的值.确定后可以使用管道线和grep命令来获取这个的值. free -m | grep - | awk  '{print $4}' 获取到他的值为  858 当中 grep -  就是匹配一下要选取的内容,不太熟悉的可以学习一下gr

Lua 下实现一个简单的消息队列

Lua 下实现一个简单的消息队列,如下简单的几条代码就可以了. local q1 = {} local q2 = {} -- 产生消息只需要 table.insert(q1, msg) -- 分发消息需要两层循环, 可以处理 dispatch 过程中产生的新消息 while q1[1] do q1,q2 = q2,q1 for i=1,#q2 do dispatch(q2[i]) q2[i] = nil end end

输出多行字符的一个简单JAVA小程序

1 public class JAVA 2 { 3 public static void main(String[] args) 4 { 5 System.out.println("----------------------"); 6 System.out.println("|| 我要学会 ||"); 7 System.out.println("|| JAVA语言 ||"); 8 System.out.println("-------

在cmd下编译一个简单的servlet时出现程序包javax.servlet不存在

由于servlet和JSP不是Java平台JavaSE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置. 解决“软件包 javax.servlet不存在”错误的方法: 1. 搜索servlet-api.jar 所在文件夹:E:\TomcatSetup\lib 2. 将环境变量CLASSPATH的值设置为: .;E:\TomcatSetup\lib\servlet-api.jar 3. 除了设置classpath以及servlet-api.jar外

Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)

#! /bin/bashecho "#########oracle9R204 的一个简单的安装脚本 ##############################"## 为系统添加oracle的用户和用户组#groupadd dbagroupadd oinstalluseradd -c "Oracle software owner" -g oinstall -G dba oraclepasswd oracle # 创建oracle 的安装目录 mkdir /oracl

记录工作用到的一个简单js脚本

测试极光发送通知接口及客户端处理情况,需在极光后台增加通知数据.由于需要多个输入框输入数据,浏览器关闭后又需重新输入数据,故作此简单js脚本,在浏览器开发者模式下执行,便自动向浏览器输入框输入数据. document.getElementsByTagName("textarea")[0].value="专家说文章测试切入横幅跳转测试切入横幅跳转" document.getElementsByClassName("input-global-blue-shad

vue_cli下开发一个简单的模块权限系统之建立登录页面并且实现在浏览器输入地址出现内容

新建一个Login.vue(登录页面,先把Hello.vue的内容复制过来即可) 然后我们打开router下面的index.js,第一个箭头:(引入vue路由)第二个箭头(引入我们新建的Login.vue页面)第三个箭头(我们要使用这个路由)第四个箭头(配置路由,path表示在浏览器中输入的路由名称) 然后我们在浏览器中输入这个login页面的地址,就会出来内容了,这样一个简单的页面就建成了 因为我们要使用semantic-ui,所以我们安装一下semantic-ui,进入到命令行界面输入npm

一个简单的脚本,显示JAVA进程的:端口,程序名,进程号,内存使用

使用netstat查询端口时候,总是不能看到程序的名字,还必须要再配合PS对进程号取交集,一个两个可以,经常需要看的话就傻逼了,这个脚本就是为了解决这样的痛点,尤其是优化JAVA程序内存的时候. 在一个夜黑风高的夜晚,我飙了很久的AWK代码,终于做到了,经过数次优化,执行速度非常快. #!/bin/bash netstat -tunlp 2>/dev/null | awk -v PAGE=`getconf PAGE_SIZE` -F "[/ ]+" '$(NF-1)=="

python学习之路-第三天-一个简单的脚本

现在有一个需求:把某个目录下的文件备份到指定到另外一个目录下,而且压缩后文件为zip文件 # -*- coding:utf-8 -*- #! /usr/bin/python # Filename:backup_v1.py import os import time source = [r'H:\StudyLib\lib'] # 源文件目录,是个列表,可以放入多个目录 target_dir = 'I:\\backpacks\\' # 目标目录 target = target_dir + time.