Java I/O流的分类及常见输入/输出流

概述

在程序运行的过程当中,JVM的内存中必然会存放很多数据,包括基本类型和对象类型。但是当程序结束,JVM关闭的时候,这些数据必然会随之消失。我们可能希望通过某种方式,让这些数据能够保存下来,以备再次使用。因此我们会把数据存入文件,或通过网络发送出去,或存入数据库。反之,我们当然也需要用某种方式,把保存的数据重新读回JVM。这些,都涉及到JVM与外部进行数据交换。将JVM中的数据写出去,我们称为数据的输出。反之,将数据读入JVM,我们称之为数据的输入。因此,Java中解决这部分问题的API被称为I/O。

Java数据类型

基本数据类型

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。
Java 的两大数据类型:

  • 内置数据类型
  • 引用数据类型

Java内部类测试示例

概述

  1. 内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。
  2. 内部类可以是静态static的,也可用public,default,protected和private修饰,而外部顶级类即类名和文件名相同的只能使用public和default
  3. 内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为outer的外部类和其内部定义的名为inner的内部类,编译完成后出现outer.class和outer$inner.class两类,所以内部类的成员变量/方法名可以和外部类的相同。

形如data:image/png的data类型的Url格式

所谓”data”类型的Url格式,是在RFC2397中 提出的,目的对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入。例如对于img这个Tag,哪怕这个图片非常非常的小,小到只有一个 点,也是要从另外一个外部的图片文件例如gif文件中读入的,如果浏览器实现了data类型的Url格式,这个文件就可以直接从页面文件内部读入了。
data类型的Url格式早在1998年就提出了,时至今日,Firfox、Opera、Safari和Konqueror这些浏览器都已经支持,但是IE直到7.0版本都还没有支持,IE不支持的东西太多了,也不差这一个。

Java泛型测试示例

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?

答案是可以使用 Java 泛型。

使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。