(一)源文件的编写与保存

1>编写源文件

2>保存源文件

如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类名字完全相同,扩展名是.java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。

(二)编译

在保存了源文件后,就要使用Java编译器(javac.exe)对其进行编译了。

1>编译器(javac)

Dos命令用javac源文件名

进行编译形成字节码文件 .class

2>字节码文件(.class文件)

如果源文件中包含多个类,编译源文件将生成多个扩展名为.class的文件,在每个扩展名为.class文件中只存放一个类的字节码,其文件名与该类的名字相同,这些字节码文件被存放在与源文件相同的目录中。

如果源文件中有语法错误,编译器将给出错误提示,不生成字节码文件,编写者必须修改源文件,然后再进行编译。

编译上面那个例子的源文件将得到两个字节码文件,即Hello.class和Student.class。如果对源文件进行了修改,必须重新编译,再生成新的字节码文件。

3>字节码的兼容性

JDK1.5版本以后的编译器和以前版本的编译器有一个很大的不同,即不再向下兼容。也就是说,如果在编译源文件时没有特别约定,JDK1.6编译器生成的字节码只能在安装了JDK1.6或JRE1.6的Java平台环境中运行。可以用“-source”参数约定字节码适合的平台。如果Java程序中并没有用到JDK1.6的新功能,在编译源文件时可以使用“-source”参数,例如:

javac -source 1.4 文件名.java

这样编译生成的字节码可以在1.4版本以上(含1.4版本)的Java平台上运行。如果源文件使用的系统类库没有超出JDK1.1版本,在编译源文件时应当使用-source参数,取值为1.1以使字节码有更好的可移植性。

-source参数的可取值有1.7、1.6、1.5、1.4、1.3、1.2、1.1。

如果在使用JDK1.7编译器时没有显式地使用“-source”参数,JDK1.7编译器将默认使用该参数,并取值1.7。

注:在编译时,如果出现提示file Not Found,请检查源文件是否在当前目录中,比如D:\FishC_Java中,以及检查源文件的名字是否被错误地命名为hello.java或hello.java.txt。

(三)运行

1>应用程序的主类

一个Java应用程序必须有一个类含有public static void main(String [] args)方法,称这个类是应用程序的主类。args是main方法的一个参数,是一个字符串类型的数组(注意String的第一个字母是大写的)

2>解释器(java)

使用Java虚拟机中的Java解释器(java.exe)来解释、执行其字节码文件。Java应用程序总是从主类的main方法开始执行,因此,需进行主类字节码所在目录,比如D:\FishC_Java,然后使用Java解释器(java.exe)运行主类的字节码

当Java应用程序中有多个类时,Java解释器执行的类名必须是主类的名字(没有扩展名)。当使用Java解释器运行应用程序时,Java虚拟机首先将程序需要的字节码文件加载到内存,然后解释执行字节码文件。当运行Java应用程序时,虚拟机将主类和其他类加载到内存。当虚拟机将(主类的.class)加载到内存时,就为主类中的main方法分配了入口地址,以便Java解释器调用main方法开始运行程序。

java 源文件存储_JAVA源文件的编写与保存相关推荐

  1. java 批量存储_java I/O 批量插入保存文件

    [java]代码库package cq.price; import java.io.File; import java.util.ArrayList; import java.util.List; i ...

  2. java文件后缀_java源文件名的后缀是什么?

    java源文件名的后缀是:".java".java编译后的文件扩展名是:".class":"class"文件全名称为"Java c ...

  3. 后缀名为java的文件_Java源文件后缀名为()

    下列各项中,我国会计实务中对应收账款核算表述正确的是A.坏账损失核算采用直接转销法B.应收账款 下列属于绩效管理方法的有().A.关键业绩指标法B.经济增加值法C.平衡计分卡D.战略地图 王盛林给&q ...

  4. java 常量存储_JAVA 存储空间 寄存器 堆栈 堆 常量存储 非RAM存储

    1.寄存器 这是最快的存储区,因为它位于处理器内部,数量极其有限,所以寄存器根据需求进行分配,你不能直接控制,也不能在程序中感 觉到寄存器存在的任何迹象. 2.堆栈 位于通用RAM(随机访问存储器)中 ...

  5. java 数据类型 存储_Java数据类型以及存储

    String str1 = new String("abc"); //数据存储在堆中 String str2 = new String("abc"); //数据 ...

  6. java clob存储_java oracle clob string 大字符串存储

    [导读]单位用到了oracle存储string类型到数据库里的clob,上网查看资料找到解决方案. 单位用到了oracle存储string类型到数据库里的clob,上网查看资料找到解决方案.如下:pu ...

  7. java代码自动对齐_java程序实现编写代码时变量名垂直对齐的风格

    记录英语单词时,想把英语和中文翻译分别对齐,有些人写代码喜欢把变量按这种方式对齐.在网上没搜到相关方法,于是自己试着写代码去实现,原本以为很简单,写的时候才发现有不少问题.先看效果: 普通的 对齐前: ...

  8. ldap java 对象 存储_java - 修改UID在LDAP存储库 - SO中文参考 - www.soinside.com

    我使用LdapTemplate对LDAP库开发应用程序的春天启动了获取用户信息. 我使用的用户电子邮件作为UID,当用户更新他的电子邮件,我必须得更新自己的UID.问题是,下面的工作方法,对所有的人域 ...

  9. java jdbc事务_Java JDBC事务管理和保存点

    java jdbc事务 Transaction Management in java is required when we are dealing with relational databases ...

  10. java memcached 存储对象_memcached—向memcached中保存Java实体需注意的问题

    今天以代码实例的形式总结一下向memcached中保存Java实体需注意的问题: memcached工具类代码: package com.ghj.packageoftool; import java. ...

最新文章

  1. Python 结巴分词(1)分词
  2. 使用C#获取IP地址方法
  3. Protobuf序列化的原理-varint
  4. 一些我整理的 SAP 工作和学习的有用链接,持续更新
  5. Ubuntu18.04更换为国内源
  6. 曝iPhone 12 Pro耗电异常,没开启任何应用电量也急剧下降
  7. Android 学习心得(2)——Android内置数据库SQLite
  8. eclipse工具的使用心得
  9. Win7批量压缩照片
  10. Python Cheat Sheet 中文版
  11. 小程序wafer2操作数据库
  12. 10个python经典小游戏(上)-五一嗨起来(动图演示+源码分享)
  13. php后端技术 有哪些,web后端开发技术有哪些 ?
  14. 循环神经网络应用举例
  15. 新MacBookAir (M1 2020)修改开机启登录密码
  16. ZMQ专题学习之六:libzmq的订阅代理模式通信方式
  17. 怎么用java打开.jar文件
  18. MES管理系统应用环境分析,以及实施面临的挑战
  19. OpenCV图像识别技术+Mediapipe与Unity引擎的结合
  20. Java 高并发第三阶段实战---Java并发包深入解析与使用详解

热门文章

  1. UE5实现HTC Vive VR功能
  2. mkv格式怎么转换成mp4?
  3. linux运行Windows模拟器,Wine(Windows模拟器)
  4. [BZOJ4199][NOI2015]品酒大会(后缀数组+单调栈+ST表)
  5. 数据挖掘--风电机组异常数据识别与清洗
  6. 产品的10大设计原则
  7. 邮箱服务器退回,126邮箱群发邮件被对方服务器退回
  8. Effective Java-目录
  9. 什么是CC攻击,CC攻击的防御方式有哪些
  10. 攻防世界 ics-05