您的位置:首页 > 编程语言 > Java开发

20145229吴姗珊 《Java程序设计》两天小总结

2016-04-12 23:14 288 查看

20145229吴姗珊 《Java程序设计》两天小总结

教材学习内容总结

第十章 输入\输出

1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象

2.从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流(java.io.InputStream 实例),如果要将数据写入目的地,可以使用输出串流

3.串流继承架构

System.in:文本模式下取得整行用户输入

System.err:标准错误输出串流,用来立即显示错误信息

System.setErr:重新指定标准错误输出串流

setIn():使用 setIn() 方法指定 InputStream 实例,重新指定标准输入来源

setOut():使用 setOut() 方法指定 PrintStream 实例,将结果输出至指定的目的地

4.ObjectInputStream与ObjectOutputStream:ObjectInputStream 提供 readObject() 方法将数据读入为对象,ObjectOutputStream 提供 writeObject() 方法将对象写至目的地

5.Thread:如果想要加装主线程,就要创建 Thread 实例,要启动额外的主线程就是调用 Thread 实例的 start() 方法

6.在 java 中,任何线程可执行的流程都要定义在 Runnable 的 run() 方法,Thread 类本身也操作了 Runnable 接口在 java 中,任何线程可执行的流程都要定义在 Runnable 的 run() 方法,Thread 类本身也操作了 Runnable 接口

7.ynchronized 要求达到的所标示区块的互斥性与可见性,互斥性是指 synchronized 区块同时间只能有一个线程,可见性是指线程离开 synchronized 区块后,另一线程接触到的就是上一线程改变后的对象状态

第十一章 线程与并行API

1.通过创建Thread实例来执行Runnable实例定义的> run方法可以实现多个线程。

2.继承Thread类也可以进行多个进程,但没有Runnable的弹性好,运用Lambda表达式也可以简化程序。

3.线程生命周期:Daemon:在所有的非Daemon线程结束时,JVM就会自动终止

4.synchronized&&volatile:线程存取同一对象相同资源时可能会引发竞速情况

5.CopyOnWriteArrayList操作了List接口,这个类的实例在写入操作是,内部会建立新数组,并复制原有数组索引的参考,然后在新数组上进行写入操作,写入完成后,再将内部原参考旧数组的变量参考至新数组

6.ConcurrentMap是Map的子接口,其定义了putIfAbsent()、remove()、replace()等方法。这些方法都是原子操作

7.ConcurrentHashMap是ConcurrentMap的操作类,ConcurrentNavigableMap是ConcurrentMap的子接口,其操作类为ConcurrentSkipListMap,可视为支持并行操作的TreeMap版本

8.CopyOnWriteArraySet操作了Set接口,与CopyOnWriteArrayList相似
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: