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

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. JAVA时间日期处理类,主要用来遍历两个日期之间的每一天。
  2. WINCE5.0+S3C2443系统每隔几分钟会自动关闭LCD显示
  3. HDU - 3081 Marriage Match II(二分+并查集+最大流/匈牙利删边)
  4. wxpython bind自定义_wxPython的 - 如何从自定义对话框WX
  5. 51信用卡在微服务架构下的监控平台架构实践
  6. Python案例:破译爬虫项目实践活动日期密码
  7. ps里面怎么插入流程图_流程图很难画?学会这3个方法,5分钟能绘制出好看又高级的流程图...
  8. 我很多文章都有建议大伙不要轻易去创业
  9. 精通Android开发 0
  10. 搜狗推出庭审语音识别系统 人工智能下的全新应用
  11. ASP.NET Core Razor 页面入门
  12. 你要知道的内存条知识
  13. 对于listview条目item上checkbook点击监听回调更新listview外UI以及对listview外checkbook点击监听itemUI变化
  14. model.evaluate 和 model.predict
  15. 【Linux】循序渐进学运维-tomcat配置文件详解
  16. Qt编写物联网管理平台22-报警联动
  17. Qt学习经验之quit()、exit()、close()
  18. 帆软10.0连接oracle 12c rac报错问题解决
  19. 润乾报表通过JS自带函数来实现自动计算中的四舍五入
  20. 如何删除网络驱动器中记住的账号和密码(win10和Mac)

热门文章

  1. C#中Winform控件扁平化设计
  2. Ubuntu下shift键失灵解决办法
  3. 茅侃侃自述离职Majoy经过:让我们从“失败”开始
  4. Python爬虫+requests+伪装浏览器 爬取小说入门总结
  5. 电子电路计算机仿真应用,电力电子电路的计算机仿真
  6. 深度学习——安装Nvidia 驱动(亲测有效)
  7. Udacity 传感器融合笔记 (一)lidar
  8. 零代码:如何使用吾来机器人实现表格问答?
  9. 计算机纳入高考作文,高考作文听人家说今年的高考作文是用计算机批 – 手机爱问...
  10. 视频贴片广告有哪些形式,视频贴片广告展示形式如何?