java基础-1
<!doctype html>java基础1
java基础
1995由SUN公司提供的,互联网首选的语言,是大数据的基本语言。---简单/安全/完全面向对象/跨平台
跨平台
基于JVM。针对不同的操作系统开发了不同的虚拟机,将java程序交给虚拟机,虚拟机转化为当前操作系统所能理解的指令,然后操作系统再根据指令执行代码。
执行过程:Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。该字节码与系统平台无关,是介于源代码和机器指令之间的一种状态。在后续执行时,采取解释机制将Java字节码解释成与系统平台对应的机器指令。这样既减少了编译次数,又增强了程序的可移植性,因此被称为“一次编译,多处运行!”。
JDK、JRE、JVM的关系
JVM--- Java Virtual Machine --- java虚拟机,是java能够跨平台的前提
JRE --- Java Runtime Environment ---JAVA运行时环境,包含JVM+核心类库
JDK --- Java Development Kit --- java开发工具包,开发工具+JRE
Java的技术结构
JAVASE 标准版为一些小型程序以及桌面应用程序的开发提供了方案
JAVAEE企业版为企业中的团队开发和规模开发提供解决方案
JAVAME 微型版为一些小型电子设备的嵌入提供方案
java核心类库
概念:代码重用是面向对象程序设计的一个最著优势、生成可重用、可继承的类可以节省大量的时间和精力,大大提高编程效率。Java把代码重用作为实现的核心,提供许多可为Java编程使用的标准对象,这些标准的Java对象统一称作Java类库。
基础类库
import java.lang.*; 语言类库 java.lang软件包
封装了各种基本编程功能类方法,基本对象类,布尔数、字符和数字类型包容器,基本数学函数类,字符串类 标准输入输出等系统类,线程控制和例外处理类。
import java.io.*; 输入输出类库 java.io软件包
提供对不同的输入和输出设备读写数据的支持。主要包括:输入流、输出流、文件访问类、流标记类
import java.util.*; 实用程序类库 java.util软件包
提供了执行各种辅助功能的类,包括随机处理,日期类,向量和栈处理等。
应用类库
import java.applet.* applet 类库
提供在WWW浏览器环境中实现Java Applet的类,实现音视频播放等功能
import java.awt.* awt 类库
提供生成图像用户界面的类,包括的类方法有:窗口、按钮、菜单、字体等。
import java.net.*net 网络类库
提供了对网络协议的接口功能,包括:Sockets、Telnet、FTP、WWW等
语言类库
1)Object类----是Java类中最底层的类,是所有Java类的超类
2)类型包容器----类型包容器是对各种数据类型—布尔数、字符、整数和浮点数等一类实现的总称。
3)数学函数类 ----Math类
4)字符串类 ----String类与StringBuffer类
5)System和Runtime类 ----System和Runtime类提供了对系统和运行环境资源进行访问的能力,System类最有用的一个功能就是标准输入和输出流。Runtime类主要用于执行系统命令和确定系统资源,如系统内存大小。
输入/输出类库
1.输入流类
1) InputStream----是一个抽象类,作为其它输出流类的基类,定义了读取字节流信息的基本接口。
(2) BufferedInputStream---- 为输入提供了缓冲流,每次从输入设备读取数据时,将读取较多的数据并放入缓冲流,以后就可以直接从流缓冲区而不是输入设备读数据。除了构造函数外,其他成员函数与InputStream相同。
(3) DataInputStream---- 用来从一个输入流读取基本Java数据类型,构造函数以一个InputStream对象为参数。
(4) FileInputStream---- 用于执行简单的文件输入操作,对于复杂的需要用RandomAccessFile类。
(5) StringBufferInputStream---- 用一个字符串作为输入缓冲区。
2.输出流类
(1) OutputStream---- 其他输出流类的基类,定义了把数据写到输出设备的基本协议。
(2) PrintStream---- 用于输出文本数据,如输出到标准输出。
(3) BufferedOutputStream---- 对OutputStream类的扩展,对缓冲输出提供支持。每次写数据时不必写到输出设备,而是写数据到缓冲区。
(4) DataOutputStream----用于输出原始数据类型,如int float等。
(5) FileOutputStream----用于执行简单的文件输出操作,对于复杂的文件输出可以使用RandomAccessFile类。
3.文件类
(1) File----以操作系统目录结构为模型,能访问一个文件的信息,包括文件属性、文件所在路径等。
(2) RandomAccessFile---- 提供了从一个文件读写数据的各种方法。使用FIleInputStream和FileOutputStream只能顺序的从头到尾访问文件,而RandomAccessFile可以明确的从文件某个位置获取数据。