# 20155209 2016-2017-2 《Java程序设计》第六周学习总结
2017-04-02 22:03
459 查看
20155209 2016-2017-2 《Java程序设计》第六周学习总结
教材学习内容总结
java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管,将两个容器连接起来。将数据冲外存中读取到内存中的称为输入流,将数据从内存写入外存中的称为输出流。
流序列中的数据既可以是未经加工的原始二进制数据,也可以是经一定编码处理后符合某种格式规定的特定数据。因此Java中的流分为两种:
1) 字节流:数据流中最小的数据单元是字节
2) 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节。
线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。
Java标准库提供了进程和线程相关的API,进程主要包括表示进程的Java.lang.Process类和创建进程的java.lang.ProcessBuilder类。
多线程之间的交互来说,存在某些固定的模式,如生产者-消费者和读者-写者模式,把这些模式抽象成高层API,使用起来会非常方便。
java.util.concurrent包为多线程提供了高层的API,满足日常开发中的常见需求。
教材学习中的问题和解决过程
问题1:字节流和字符流的区别,字节流的详细常用子类。Java中定义了两种类型的流:字节型,和字符型。
字节流:处理字节的输入和输出。包括读写二进制数据等方面的内容。
字符流:处理字符的输入和输出。他采用的是Unicode编码,可以实现国际化。使用字符流的另外一个好处就是:字符流比字节流更有效率。
字节流:
字节流包含两个顶层抽象类:InputStream和OutputStream。
1:字节流的两个顶层类是抽象类,分别是:InputStream和OutputStream。
2:每个抽象类都有子类来实现具体的功能,处理不同的设备的输入和输出。
问题2:start() 和 run()的区别
start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法。start()不能被重复调用。
run() : run()就和普通的成员方法一样,可以被重复调用。单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程!
问题3:synchronized的详解。
问题4:深入理解wait、notify、notifyall。
代码调试中的问题和解决过程
代码仔细认真按照书中顺序打,除了几处书中印刷错误没有发现更大错误。代码托管
代码提交过程截图:代码量截图:
...
上周考试错题总结
现有class Calc {
public static void main(String [] args) {
try {
int x = Integer.parselnt ("42a") ;
//insert code here
System.out.print ("oops");
}
}
}
下面哪行分别插入到第五行,会导致输 "oops" ?
A .
catch (IllegalArgumentException e) {
B .
} catch (IllegalStateException c) {
C .
} catch (NumbelFormatException n) {
D .
} catch (ClassCastException c) {
答案:A、C
现有:
1. class Number{
public static void main(String [] args) {
3. try {
System.out.print (Integer.parselnt ("forty"));
} catch (RuntimeException r) {
System.out.print ("runtime");
} catch (NumberFormatException e) {
System.out.print("number");
9. }
10. }
11. }
结果是什么?
A .
number
B .
runtime
C .
forty number
D .
编译失败
答案:D
结对及互评
基于评分标准,我给本博客打分:7 。得分情况如下:正确使用Markdown语法(加1分):
模板中的要素齐全(加1分)
教材学习中的问题和解决过程, 加1分
本周有效代码超过300分行,加2分
其他加分,加2分 :
感想,体会不假大空的加1分
排版精美的加一分
点评过的同学博客和代码
本周结对学习情况20155230
本周没有来得及拍照。
上周博客互评情况
20155203
20155223
20145234
20155332
20155211
其他(感悟、思考等,可选)
本周学习没有将大量的时间用在写代码上,通过老师发的java教学视频来学习了很多东西,看完视频再配合书中的讲解,让这部分的学习更透彻。今后将坚持住这样的学习计划。学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 15篇 | 400小时 | |
第一周 | 10/10 | 1/1 | 10/20 | |
第二周 | 196/206 | 1/2 | 20/30 | |
第三周 | 391/597 | 1/3 | 20/50 | |
第四周 | 731/1328 | 1/4 | 30/80 | |
第五周 | 908/2236 | 1/5 | 20/100 | |
第六周 | 561/2797 | 1/6 | 20/120 |
参考资料
Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导
相关文章推荐
- 20155229 2016-2017-2 《Java程序设计》第六周学习总结
- 20155328 2016-2017-2 《Java程序设计》第六周 学习总结
- 2016-2017-2 《Java程序设计》第六周学习总结
- 20155318 2016-2017-2 《Java程序设计》第六周学习总结
- 20155209 2016-2017-2 《Java程序设计》第1周学习总结
- 20155236 2016-2017-2 《Java程序设计》第六周学习总结
- 20155213 2016-2017-2 《Java程序设计》第六周学习总结
- 20155238 2016-2017-2 《Java程序设计》第六周学习总结
- 20155235 2016-2017-2 《Java程序设计》第六周学习总结
- 20155313 2016-2017-2 《Java程序设计》第六周学习总结
- 20155225 2016-2017-2 《Java程序设计》第六周学习总结
- 20155305乔磊2016-2017-2《Java程序设计》第六周学习总结
- 20155201 2016-2017-2 《Java程序设计》第六周学习总结
- 20155209 2016-2017-2 《Java程序设计》第五周学习总结
- 20155336 2016-2017-2《JAVA程序设计》第六周学习总结
- 20155321 2016-2017-2 《Java程序设计》第六周学习总结
- 20155227 2016-2017-2 《Java程序设计》第六周学习总结
- 20155220 2016-2017-2 《Java程序设计》第六周学习总结
- 20155334 2016-2017-2 《Java程序设计》第六周学习总结
- 20155310 2016-2017-2 《Java程序设计》第六周学习总结