两年前主要依赖看视频自学了一些java,感觉有些囫囵吞枣,忽略了很多基础的东西,现在利用空余时间java,从头来过,路漫漫,先给自己扫盲。
工欲善其事必先利其器,首先直接参观java官方网站(用的是jdk8):https://docs.oracle.com/javase/8/docs/index.html
java官方文档,非常详尽,有java的发展历史,教程,API,技术规范等内容。
**什么是JDK,JRE?
Java SE运行时环境(JRE)
JRE提供了运行 Java编程语言编写的applet(?,先宏观把握,这个概念先放一边...)和应用程序所需的库,Java虚拟机和其他组件。总的来说是运行java程序的环境,可以随应用程序一起重新分发此运行时环境,以使其独立。
Java SE开发套件(JDK)
JDK 8是JRE 8的超集,包含JRE 8中的所有内容,以及开发小程序和应用程序所需的工具,例如编译器和调试器。JRE 8提供了库,Java虚拟机(JVM)和其他组件,以运行用Java编程语言编写的小程序和应用程序。
以下概念图说明了Oracle Java SE产品的组件:
** JDK
原文链接:https://blog.csdn.net/mengmengdastyle/article/details/81809435
JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。Java API包括一些重要的语言结构以及基本图形,网络和文件I/O。一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。
作为JDK实用程序,工具库中有七种主要程序。
- - Javac:Java编译器,将Java源代码转换成字节码。
- - Java:Java解释器,直接从类文件执行Java应用程序字节代码。
- - appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
- - Javadoc:根据Java源码及说明语句生成HTML文档。
- - Jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。
- - Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
- - Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
JDK中常用的包
(1)java,javax和org
java.*:java SE标准库,是java标准的一部分,不会轻易修改,要保证兼容性
javax.*:非一般性的api,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。 所以以扩展的方式提供api,以避免jdk的标准库过大。
org.*:是由企业或者组织提供的java类库,大部分不是sun公司提供的
(2)常见的java包
- - java.lang:包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。
- - java.awt:包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
- - java.applet:包含applet运行所需的一些类。
- - java.net:包含执行与网络相关的操作的类。
- - java.io:包含能提供多种输入/输出功能的类,通过数据流、序列化和文件系统提供系统输入和输出
- - java.util:包含一些实用工具类,包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
- - java.math:一些数学及科学计算相关的包,提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
- **- java.rmi:**Java远程方法调用,即Java RMI(Java Remote Method Invocation)是java编程语言里,一种用于实现远程过程调用的应用程序编程接口。
- - java.security:为安全框架提供类和接口。
- - java.sql:提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。
java.lang这个包会自动被导入,对于其中的类,不需要使用import语句来做导入。
** java安装目录介绍:
- bin:主要存放的是java的编译器、解析器等工具
- lib:java开发工具要是用的一些类库,包含了支持JDK工具的核心类库,tools.jar、dt.jar……
- jre:java runtime environment ——java运行时环境
- jre/bin:java平台所使用的的工具或者可执行程序
- jre/lib:jre在运行的时候需要的一些类库、属性设置、资源文件
- src.zip:源码