一周总结
LinkedList,Object和Set
Map和File类
String类和IO流
字符输出流,缓冲流和序列化
Java常用API和线程初识
我脑子里的:
LinkedList,
Object类,是所有类的基类
Set类,使用来获取成员的属性
Map类,忘了
File类,文件、文件夹的基类
String类,用来表示字符串的
I/O流,输入输出流,内存与硬盘的交互
字符输出流,I/O流的一种,主要用于中文的…
缓冲流,提高硬盘的运行效率的,4K对齐,一般缓冲大小为8K
序列化,将文件变成特殊的格式,防止盗窃?
Java常用API,忘了
线程初识,运行的程序威进程,进程的单位是线程,一个进程可以有多个线程
真正的:
LinkedList,链表 1. 增删快 2. 查询很慢 3. 存储数据,非连续空间。 4.遍历效率较低
Object,Java中所有类的基类!!!Object类的引用数据类型变量可以保存Java中任意数据类型空间的首地址。
Set,无序:添加顺序和存储顺序不一致,【不代表有排序效果】
不可重复: 在一个Set集合中不能出现相同
元素
Map,双边队列,键值对 -----Entry 可以认为是键值对对象
File类,SUN公司提供给开发者操作文件和文件夹的一个类对象。
Java中万物皆对象,计算机中万物皆文件
String类,常用API ,字符串的表达方式
IO流,输入流、输出流。
一般情况下都是按照当前程序使用的内存为参照物来考虑数据的走向问题。文件操作为例
字符输出流,禁止使用字符流操作非文本文件,记事本打开乱码文件都不可以
缓冲流,
- 使用缓冲数组以后,整体的读取,写入效率提升很大!!!
- 降低了CPU通过内存访问硬盘的次数。提高效率,降低磁盘损耗
- 固态硬盘,4KB对齐。固态硬盘中每一个扇区都是4KB。缓冲这里是要求CPU读取两个4KB数据,对于CPU而言没有太多压力。
序列化,Java中提供了一种序列化操作的方式,用一个字节序列化来表示一个对象,该字节序列化中保存了【对象的属性】,【对象的类型】和【对象的数据】。把字节序列化保存到文件中,就可以做到持久化保存数据内容。
- 如果一个类需要进行序列化操作,必须遵从。java.io.Serializable。不遵从无法进行序列化操作
- transient 修饰的成员变量不能被序列化
Java常用API,
- StringBuffer
线程初识,为了解决String字符串操作导致的内存冗余,提高效率,Java中提供了StringBuffer和StringBuilder来操作字符串,并且提供了很多方法,便于程序员开发。 - Math数学类
public static double abs(double a);
返回值为绝对值
public static double ceil(double a);
向上取整
public static double floor(double a);
向下取整
public static double round(double a);
四舍五入
public static double random();
随机数 0.0 <= n < 1.0
- 日历时间格式
3.1 Date 时期类[逐渐淘汰]
**Date();
3.2. DateFormat 日期格式类
**DateFormat 是一个abstract修饰的类,用于转换时间格式。
3.3 Calender日历类
**Calender日历类,替换了很多Date类中的方法。把很多数据都作为静态的属性,通过一些特定的方法来获取。比Date处理日期数据更加方便。 - System类
System类提供了大量的静态方法,操作的内容和系统有关。
可以获取当前时间戳 long currentTimeMillis()
获取系统属性的方法 Properties getProperties();
退出当前程序 exit(int status)
数组拷贝方法 arrayCopy(Object src, -- 原数组
int srcPos, -- 从原数组指定下标开始
Object dest, -- 目标数组
int destPos, -- 目标数组从指定位置开始
int length) -- 读取数据的个数
-
Runtime类
Runtime当前程序运行环境类对象,主要程序启动就会有对应的Runtime存在。
获取Runtime对象的方法:
Runtime Runtime.getRuntime(); -
包装类
Java中万物皆对象,Java中提供了包装类,让基本类型也可以当做类对象来处理。
包装之后的基本数据类型依然可以进行基本的操作和运算,但是多了一些特有的方法,增加了操作性。
线程初识,
windows电脑中,打开任务管理器,可以看到电脑中执行的每一个程序,每一个程序就是一个进程。
一个应用程序 ==> 进程
应用程序的某一个功能 ==> 线程
应用程序中可以同时执行多个功能 ==> 多线程
并发和并行
并发:
两个或者两个以上的事务在同一个时间段发生
并行:
两个或者两个以上的事务在同一个时刻发生
宏观并行,微观串行