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相似
相关文章推荐
- Java实现八数码问题
- 牛客网-华为机试在线训练-2.取近似值
- Eclipse使用总结
- 编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。
- Spring中bean的scope
- Maven配置Spring+SpringMVC+MyBatis(3.2.2)Pom
- Java I/O(一) NIO概述
- Intellijidea建javaWeb以及Servlet简单实现
- myeclipse与mysql练习
- java OPENCV 连通域, Imgproc.findContours 例子,参数说明
- struts2标签在jsp不显示问题(不经过action跳转)
- JAVA多线程学习(一)
- java字节码中的aload_0
- LeetCode Merge Sorted Array 88
- Java枚举类
- Hibernate映射集合(JDK以及嵌入式值类)
- Java获取 JVM 运行信息
- java:解决在nextInt()后使用nextLine()的方法
- java上机课代码。。。重写equals方法,toString方法。。。
- java项目几种常见数据库连接池的使用比较