java 语言学习应知应会

Java 概述
java 语言是解释执行,java 源码是通过编译生成一种特殊的.class 的中间字解码文件,然 后
再有 JVM 进行解释执行。
java 语言对指针进行了上层的封装,它保证能够通过这个指针(引用)来访问有效的内存 单
元。
java 语言不允许多继承,使继承关系成树装图,每个类都只能由一个父类。
java 语言的开发效率高,但执行效率低。(相当于 c++的 55%)
java 的垃圾回收机制,在 java 中 new 的对象不需要向 c++一样进行 delete 操作,JVM 会根
据情况回收垃圾对象。(懒汉机制,等待资源没有的时候才回收)我们只能够建议 JVM 进行 垃
圾回收,例如(System.gc() RunTime.gc()这两个方法就是建议 JVM 进行垃圾回收的方
法)
JDK,java 开发工具包(类库和运行命令),JRE,java 运行环境,JVM,java 虚拟机(解释
执行的核心,对字节码进行翻译成运行环境的机器码,它可以屏蔽平台差异。JVM 是不跨平 台
的。)
JAVA_HOME,指明 JDK 安装的位置,CLASSPATH,指明类文件的位置,PATH,指明命令的可执 行
文件的位置。
java 源文件的文件名必须和文件中定义 public class 的类名(大小写页要相同)相同。
java 源代码中的 main 方法的定义写法。main 方法是程序的入口。
public static void main(String[] args){
System.out.println("Hello world");
}
java 源文件也要先编译,使用 javac xxx.java 格式的命令得来编译,使用 java xxx 来运
行。
定义包结构要放在有效代码的第一行,package xxx.xxx,包的定义在一个程序中只能由一 个,
在加上包定义之后编译可以使用 javac -d 路径 xxxx.java,这个-d 这个命令行的参数 可以指
定包结构的位置 . 代表当前目录。在运行时要使用类的全名
java xxx.xxx.xxxx 用包名以点分隔。运行时要在包结构的上一层目录来运行。
java 中的注释
单行注释 // .......
多行注释 /* ...... */
文档注释/** ...... <p>(换行标签)*/,用 javadoc 命令可以根据原码中的文档注释生成注
释文档(html 格式)。文档注释中可以使用 html 标签。
javadoc -d 路径 (指定注释文档的保存路径) 文档注释一般写在类定义之前,方法之前,属性之前。
在文档注释中可以用 @author 表示程序的作者,@version 表示程序的版本,前两个注释符 号
要写在类定义之前,用于方法的注释@param 对参数进行注释,@return 对返回值进行注释
@throws 对抛出异常的注释。
jar 命令用于打一个 xxx.jar 文件
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用 ZIP 压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的 jar 文件产生索引信息
-C 改变到指定的目录,并且包含下列文件: 如果一个文件名是一个目录,它将被递归处
理。 清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序
示例 1:将两个 class 文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有 文件存档
到一个名为 'classes.jar' 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ 。
一般在使用使用 jar cvf 文件名.jar 文件所在路径(xxx/xxx/xxx.class)也可以压缩一 个目
录,只要在制定路径是指定为文件夹,jar 命令的命令行参数在使用时可以以 - 开头, 也可以
不用。
java 程序的运行过程,首先是启动 java 虚拟机,然后就是去找.class 文件,先是从系统的 类
库中找(系统之会在跟目录下查找,所以需要完整类名),如果找不到的话会去 CLASSPATH 所
设置的目录去找。然后加载到 java 虚拟机中。
系统会在每个 java 程序中隐含导入了 java.lang 这个包,import 包名,导入包中的类文件。
java.lang 包,这是一个基础包。
java.util 包,这个包是工具类的包。 java.io 包,这个包是用于输入输出操作的 java.net 包,
这个包是用于网络编程。
java.awt,java.swing,javax.swing,java.event 等包用于图形编程用的包。 applaction
java 的应用程序,java 应用程序中必须有一个 main()方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhappy0123456789

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值