Java基础念整理(jdkjar)

Posted czfcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础念整理(jdkjar)相关的知识,希望对你有一定的参考价值。

前世

java的历史来源背景

背景在网上百度随便都能找的到就不细说了,作为一个之前学习C++的程序员来说,学习java尽量对比学习,理解可以更加透彻。
首先:java相对C++摒弃了哪些特性,又增加了哪些特性?

java的包、jdk、jar包、jre

包(package)

package 特点
  • 程序中如果有package语句,该语句一定是源文件中的第一条可执行语句;
  • package语句的前面只能有注释或空行;
  • 一个文件中最多只能有一条package语句;
  • 包的名字有层次关系,各层之间以点分隔(上例中的“czf.abc.aaa”)
  • 包层次必须与Java开发系统的文件系统结构相同;
  • 通常包名中全部用小写字母;
  • 当使用包说明时,程序中无需再引用(import)同一个包或该包的任何元素;
  • import语句只用来将其他包中的类引入当前名字空间中。而当前包总是处于当前名字空间中.
package使用注意
  • 同一个源文件中的类,都在同一个包中,同一个包中的内容互相访问,不用导包;
  • 导包的时候 以下两句:
import czf.*;
import cn.Info;

这两句,只在编译的时候有后者稍快一点,在运行的时候没有任何区别。

  • 如果要设置classpath ,要设置到最外层的文件夹所在的目录上,比如:
package czf.abc;
set classpath=cn的所在的文件夹名称
  • 对于父包和子包,在使用上没有任何关系,只要不在一个包中,引用的时候就必须导入包;

JDK(Java Development Kit)简单理解就是Java开发工具包

JDK中都包含了什么

JAR包

JAR(Java ARchive,Java 归档)是一种与平台无关的文件格式,可将多个文件合成一个文件。用户可将多个 Java applet 及其所需组件(.class 文件、图像和声音)绑定到 JAR 文件中,而后作为单个的简单 HTTP(Hypertext Tranfer Protocal,超文本传输协议)事务下载到浏览器中,从而大大提高下载速度。JAR格式也支持压缩,从而减小了文件的大小,进一步缩短下载时间。另外,applet编写者也可在 JAR 文件中用数字签名的方式签写各项以确认其来源。它用 Java 编写,可与现有的 applet 代码完全向后兼容且可充分扩展。

jar包的作用
  • 发布和使用类库
  • 作为应用程序和扩展的构建单元
  • 作为组件、applet 或者插件程序的部署单位
  • 用于打包与组件相关联的辅助资源

    使用JAR文件有以下好处
  • 安全。能够对JAR文件进行数字签名,只让能够识别数字签名的用户使用里面的东西。
  • 加快下载速度。在网上使用applet时,如果存在多个文件而不打包,为了能够把每个文件都下载到客户端,需要为每个文件单独建立一个HTTP连接,这是非常耗时的工作。将这些文件压缩成一个JAR包,只要建立一个http连接就能够一次下载所有的文件。
  • 压缩。使文件变小,JAR的压缩机制和zip完全相同
  • 包封装。能够让JAR包里面的文件依赖于统一版本的类文件。
  • 可一致性。JAR包作为内嵌在Java平台内部处理的标准,能够在各种平台上直接使用。

JRE(Java Runtime Enviroment)是Java的运行环境

包含java程序必须的环境集合,包含了JVM标准实现及java核心类库。它包括了Java虚拟机、Java平台核心类和支持文件。

java的主流IDE
  • eclipes
  • idea
java虚拟机

JVM(Java虚拟机)是一个抽象机器。它被称为虚拟机,因为它实际上不存在。它是一个规范,提供可以执行Java字节码的运行时环境。它还可以运行那些用其他语言编写并编译为Java字节码的程序。 JVM可用于许多硬件和软件平台。JVM,JRE和JDK是平台相关的,因为每个操作系统的配置彼此不同。但是,Java与平台无关。JVM有三个概念:规范,实现和实例。

JVM主要执行以下任务:

1、加载代码

2、验证代码

3、执行代码

4、提供运行时环境

SDK

soft development kit,软件开发工具包,这是一个大的概念,比如你要开发某一应用,那你可能需要相关的SDK,你开发安卓应用,你就需要android SDK,你开发java应用程序,你可能就要java SDK。

java中jdk、jre、jvm的运行关系

参考链接

java、jre、jdk区别

JVM是一个规范,提供可以执行Java字节码的运行时环境。

JRE = 运行Java应用程序的JVM +库。

JDK = JRE +开发Java应用程序的工具。

以上是关于Java基础念整理(jdkjar)的主要内容,如果未能解决你的问题,请参考以下文章

Java并发知识整理

java面试基础题整理学习

Java基础知识整理

java基础面试题整理5-反射

java基础面试题整理2-异常

Java 基础知识整理 (待整理)