java 源文件存储_JAVA源文件的编写与保存
(一)源文件的编写与保存
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源文件的编写与保存相关推荐
- java 批量存储_java I/O 批量插入保存文件
[java]代码库package cq.price; import java.io.File; import java.util.ArrayList; import java.util.List; i ...
- java文件后缀_java源文件名的后缀是什么?
java源文件名的后缀是:".java".java编译后的文件扩展名是:".class":"class"文件全名称为"Java c ...
- 后缀名为java的文件_Java源文件后缀名为()
下列各项中,我国会计实务中对应收账款核算表述正确的是A.坏账损失核算采用直接转销法B.应收账款 下列属于绩效管理方法的有().A.关键业绩指标法B.经济增加值法C.平衡计分卡D.战略地图 王盛林给&q ...
- java 常量存储_JAVA 存储空间 寄存器 堆栈 堆 常量存储 非RAM存储
1.寄存器 这是最快的存储区,因为它位于处理器内部,数量极其有限,所以寄存器根据需求进行分配,你不能直接控制,也不能在程序中感 觉到寄存器存在的任何迹象. 2.堆栈 位于通用RAM(随机访问存储器)中 ...
- java 数据类型 存储_Java数据类型以及存储
String str1 = new String("abc"); //数据存储在堆中 String str2 = new String("abc"); //数据 ...
- java clob存储_java oracle clob string 大字符串存储
[导读]单位用到了oracle存储string类型到数据库里的clob,上网查看资料找到解决方案. 单位用到了oracle存储string类型到数据库里的clob,上网查看资料找到解决方案.如下:pu ...
- java代码自动对齐_java程序实现编写代码时变量名垂直对齐的风格
记录英语单词时,想把英语和中文翻译分别对齐,有些人写代码喜欢把变量按这种方式对齐.在网上没搜到相关方法,于是自己试着写代码去实现,原本以为很简单,写的时候才发现有不少问题.先看效果: 普通的 对齐前: ...
- ldap java 对象 存储_java - 修改UID在LDAP存储库 - SO中文参考 - www.soinside.com
我使用LdapTemplate对LDAP库开发应用程序的春天启动了获取用户信息. 我使用的用户电子邮件作为UID,当用户更新他的电子邮件,我必须得更新自己的UID.问题是,下面的工作方法,对所有的人域 ...
- java jdbc事务_Java JDBC事务管理和保存点
java jdbc事务 Transaction Management in java is required when we are dealing with relational databases ...
- java memcached 存储对象_memcached—向memcached中保存Java实体需注意的问题
今天以代码实例的形式总结一下向memcached中保存Java实体需注意的问题: memcached工具类代码: package com.ghj.packageoftool; import java. ...
最新文章
- Python 结巴分词(1)分词
- 使用C#获取IP地址方法
- Protobuf序列化的原理-varint
- 一些我整理的 SAP 工作和学习的有用链接,持续更新
- Ubuntu18.04更换为国内源
- 曝iPhone 12 Pro耗电异常,没开启任何应用电量也急剧下降
- Android 学习心得(2)——Android内置数据库SQLite
- eclipse工具的使用心得
- Win7批量压缩照片
- Python Cheat Sheet 中文版
- 小程序wafer2操作数据库
- 10个python经典小游戏(上)-五一嗨起来(动图演示+源码分享)
- php后端技术 有哪些,web后端开发技术有哪些 ?
- 循环神经网络应用举例
- 新MacBookAir (M1 2020)修改开机启登录密码
- ZMQ专题学习之六:libzmq的订阅代理模式通信方式
- 怎么用java打开.jar文件
- MES管理系统应用环境分析,以及实施面临的挑战
- OpenCV图像识别技术+Mediapipe与Unity引擎的结合
- Java 高并发第三阶段实战---Java并发包深入解析与使用详解