Java基础念整理(jdk、jar、)

前世

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应用程序的工具。

原文地址:https://www.cnblogs.com/czfCode/p/11421513.html

时间: 2024-10-20 12:11:38

Java基础念整理(jdk、jar、)的相关文章

JAVA基础知识整理

一.首先先明白get与post的基本定义和区别: 这是两种在客户端和服务器端进行请求-响应的方法. 1get:从指定的资源请求数据. 2post:向指定的资源提交要处理的数据. get基本上用于从服务器取回数据,注意:get方法可能返回缓存数据. post可以从服务器上获取数据,不过,post方法不会缓存数据,并且常用语连同请求一起发送数据. 二. Jquery $.get()方法. $.get()方法通过Http Get发起请求,从服务器上请求数据. 语法:&.get(URL,callback

Java基础知识整理(一)

概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以便于自己的学习.作为个.NET程序猿也可以学习Java ,毕竟技多不压身,学习多也要精通. 开发工具 eclipse ,开发java类似.NET 需要装JDK类似.NET Framework. Java开发工具eclipse设置 1.设置字体:window设置: 2.设置快捷键:window--ke

Java基础进阶整理

Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基础没有涉及到)的进行较全面的理解已经整理,只要充分掌握了基础知识,学习高级部分的知识才会事半功倍犹如轻车熟路一般容易上手. 正文: CLASSPATH的设置:我们知道运行java必须要设置CLASSPATH环境变量,但是sun  java 1.4之后改进了设计,JRE会自动搜索当前路径下的类文件,而

JAVA基础知识整理 常用框架

JAVA反射---相关资料: 1.Java反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)检查类,接口,变量以及方法的信息 2.反射还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法获取变量的值. 参考框架:Butterfly Persistence 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种

JAVA基础入门(JDK、eclipse下载安装)

最近打算从基础复习下,去年这个时间开始学习的,感觉好多都忘记了(自己记忆不深刻,容易忘事) 都是自己理解,如果有错误欢迎指正! 09年Sun公司被Oracle公司收购 javaSE:基础核心,程序开发和部署在桌面,服务器,嵌入式环境和实时环境中使用Java的应用程序: JavaEE:企业版,主要针对企业应用的开发.例如,电子商务网站.ERP系统. JavaME:微型版,主要针对消费类电子移动设备的.例如,蜂窝电话和可视电话.数字机顶盒.汽车导航系统等等. 开发环境搭建和配置 1.下载jdk并安装

《Java基础知识》JDK安装(Linux)

1. 下载安装包 百度云:链接: https://pan.baidu.com/s/1GhuKMCEmBh9iAySayXcoeg 提取码: ymbs 复制这段内容后打开百度网盘手机App,操作更方便哦 官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2. 上传Linux 环境.笔者使用Xftp . 3.解压 jdk-8u162-linux-x64.tar.gz 安装包

Java基础知识整理(一) 面向对象程序设计——封装整理

1 类中的属性又叫成员变量(member variable),属性用英文(property)或者attribute 2 对象(Object) 又叫做实例(Instance).生成一个对象的过程叫做对象的实例化 3 面向对象编程中命名的约定:  (a) 类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都要大写,中间不使用仍何连接符,比如Person类 ,MemberTest类     (b)方法:首字母小写,如果一个方法由多个单词构成,那么第一个单词的所有字母全都小写,从第二个单词

java基础知识整理:

一, Java中的继承: 1. final关键字(最终的,不可修改的不可变化的,可以修饰类,方法,变量等): 如果final修饰类的话,这个类不可以被继承: 如果修饰方法的话,这个方法不可以被子类覆盖(重写): 如果修饰属性的话,该类的属性不会被自动初始化. final修饰变量的时候只可以被赋值一次.并且在声明的时候就得赋值,可以称其为常量.在其它地方不可以被赋值.(会报错) 2. java中的super:通常用在对象内部,代表父类对象. 调用方法: super.父类方法或者属性. 在子类中通过

java 基础知识整理(一)

一.数据类型 二.变量 全局变量可以不应进行初始化赋值,而局部变量必须进行初始化赋值工作. 三.常量 在定义变量的前面加入final ps:变量前加入static表示静态变量(类常量) 四.运算符 另外还有逗号运算符和转型运算符这里就不多说了. 五.条件语句 六.循环语句 ①for循环语句 ②:while循环 ③:do...while语句 先循环在判断条件 七.中断与继续语句 中断控制语句:break,退出循环 继续语句:continue,退出本次循环进行下一次循环 八.分支语句  九.返回语句