20155201 2016-2017-2 《Java程序设计》第六周学习总结
20155201 2016-2017-2 《Java程序设计》第六周学习总结
教材学习内容总结
第十章 输入/输出
- 字节输入类:
Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的事串流对象。从应用程序角度来看,将数据从来源取出,使用输入串流
java.io.InputStream;如果将数据写入目的地,可以使用输出串流java.io.OutputStream
。串流继承架构

ObjectInputStream提供readObject()方法将数据读入为对象,而ObjectOutputStream提供writeObject()方法将对象写至目的地。
- 字符输入类:
- 针对字符数据的读取,Java SE提供了
java.io.Reader类,抽象化了字符数据读入的来源;
针对字符数据的写入,提供了java.io.Writer类
,抽象化了数据写出的目的地。 - 就装饰器的作用而言,
InputStreamReader将
System.in读入的字节数据做编码转换,而BufferedReader将编码转换后的数据做缓冲处理,以增加读取效率。
第十一章 线程与并行API
- 线程
- 单线线程程序就是自启动的程序从
main()程序进入点开始至结束只有一个流程。多线程:在同一应用程序中,有多个流程被同时执行。 - 线程生命周期:调用
Thread实例start()方法后,基本状态为可执行(Runnable)、被阻断(Blocked)、执行中(Running)。

- 并行API
- 使用Thread建立多线程程序,必须亲自处理syn
chronized、对象锁定、wait()、notify()、notifyAll()等细节。
教材学习中的问题和解决过程
- 问题1:在学习死结部分时,编译运行P343 DeadLockDemo.java代码,有时发生死结,有时不发生:


- 问题1解决方案:书上的解释是这样:发生死结的原因在于,
thread1在调用resource1.corportate(resource2)时,会取得r1的锁定,若此时thread2也正好调用resource2.corportate(resource1),取得r2的锁定,凑巧thread1现在打算运用传入的r2调用doSome(),理应取得r2的锁定,但锁定现在被t2拿走了,于是t1进入阻断,而t2也打算运用传入的r1调用doSome(),理应取得r1的锁定,但锁定现在是t1取走,于是t2进入等待。 - 问题2:之前第四章的课后题中有输出斐波那契数列的题,我自己编的代码是这样:
没有调用函数,只是用了数组。
int[] fb=new int[num];
fb[0]=0;
fb[1]=1;
int i=0;
for(i=0;i<num;i++){
if(i>1){
fb[i]=fb[i-1]+fb[i-2];
}
- 问题2解决方案:书上输出斐波那契数列选择的方法是递归调用函数:
static long fibonacci(long n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
代码调试中的问题和解决过程
问题1:在编译P315代码时,出现了问题:

问题1解决方案:发现书上省略了定义get、set的方法,补全代码如下
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
编译通过。
代码托管

上周考试错题总结
- 现有:
- import java.util.*;
2. - Class FindStuff {
4.public static void main (String[]args) {
5, //insert code here
6. c.put ("X", 123);
7. } - }
- import java.util.*;
分别插入到第5行,哪几行允许代码编译?
A .Map c= new SortedMap();
B .HashMap c= new HashMap();
C .HashMap c= new Hashtable();
D .SortedMap c= new TreeMap();
E .ArrayList c= new ArrayList();
F . Map c = new LinkedHashMap();
答案:BDF
结对及互评
结对:
基于评分标准,我给本博客打分:8分。得分情况如下:
- 正确使用Markdown语法:加1分
- 模板中的要素齐全:加1分
- 代码调试中的问题和解决过程:加1分
- 感想,体会不假大空:加1分
- 排版精美:加1分
- 进度条中记录学习时间与改进情况:加1分
- 错题学习深入:加1分
博客中值得学习的或问题:参考搭档的教材内容总结,对前两章的学习又有了新的理解。
代码中值得学习的或问题:对照搭档的问题,我修改了自己的代码,程序成功编译。
小组:
基于评分标准,我给本博客打分: 9分。得分情况如下:
- 正确使用Markdown语法:加1分
- 教材学习中的问题和解决过程,:加1分
- 代码调试中的问题和解决过程,:加2分
- 本周有效代码超过300分行:加2分
- 排版精美的加1分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
博客中值得学习的或问题:该同学的标题写错了,应该是2016-2017学期
基于评分标准,我给本博客打分:3分。得分情况如下:
- 错题学习深入:加1分
- 教材中的问题和解决过程:加2分
基于评分标准,我给本博客打分:9分。得分情况如下:
- 正确使用Markdown语法:加1分
- 模板中的要素齐全:加1分
- 教材学习中的问题和解决过程:加1分
- 本周有效代码超过300分行的:加2分
- 排版精美:加1分
- 进度条中记录学习时间与改进情况:加1分
- 有动手写新代码:加1分
- 错题学习深入:加1分
基于评分标准,我给本博客打分:8分。得分情况如下:
- 正确使用Markdown语法:加1分
- 模板中的要素齐全:加1分
- 教材学习中的问题和解决过程:加1分
- 感想,体会不假大空:加1分
- 排版精美:加一分
- 进度条中记录学习时间与改进情况:加1分
- 有动手写新代码:加1分
- 代码Commit Message规范:加1分
点评过的同学博客和代码
感悟与思考
这周正好赶上清明节放假,因为时间安排,提前两天完成任务。当然时间不够充裕,也许学习过程中有落下的部分,课后会仔细看看书。这周代码量更多了,一点一点敲确实有点繁冗枯燥,但是我相信再经过深入学习,会有一天把写代码看作跟日常吃饭睡觉一样平常。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 第六周 | 1761/3365 | 1/1 | 15/92 |
计划学习时间:17小时
实际学习时间:15小时
改进情况:这周没达到学习目标,本来想周六仔细看看书,但是周六白天上课,只好晚上再加班。
参考资料
20155201 2016-2017-2 《Java程序设计》第六周学习总结的更多相关文章
- 20155201 2016-2017-2 《Java程序设计》第九周学习总结
20155201 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC全名JavaDataBaseConnecticity,是Jav ...
- 20155201 2016-2017-2 《Java程序设计》第一周学习总结
20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...
- 20155201 2016-2017-2 《Java程序设计》第二周学习总结
20155201 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 编译运行P55各种类型可储存的数值范围代码,截图: 常用格式控制符: 符号 说明 %% 表示 ...
- 20155313 2016-2017-2 《Java程序设计》第九周学习总结
20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
随机推荐
- 'java' 不是内部或外部命令,也不是可运行的程序的两个解决办法
第一个原因: 是环境变量path没有配置好,做如下图配置 第二个原因: 如果java环境有一段时间没有启动,再启动的时候提示这个,解决办法是进入path环境配置,如上图中界面,将JAVA_ ...
- vue 大概流程(未完)
规划组件结构 编写对应路由 具体写每个组件功能
- 用vim去掉utf-8 BOM
'去掉utf-8 BOM :set nobomb '保留utf-8 BOM :set bomb
- 【BZOJ1835】基站选址(线段树)
[BZOJ1835]基站选址(线段树) 题面 BZOJ 题解 考虑一个比较暴力的\(dp\) 设\(f[i][j]\)表示建了\(i\)个基站,最后一个的位置是\(j\)的最小代价 考虑如何转移\(f ...
- python之冒泡排序
重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.def Bubble_Sort(lists): ...
- 【ARC074e】RGB sequence
Description 一排\(n\)个格子,每个格子可以涂三种颜色的一种.现在给出\(m\)个形如"\([l,r]\)中必须恰好有\(x\)种颜色"的限制(\(1 \le l ...
- Java之List和Set
List.Set.数据结构.Collections 初次学习,涉及到List集合,Set集合和数据结构方面的一些知识,有错误还请批评指正 数据结构 数据存储的常用结构有:栈.队列.数组.链表和红黑树. ...
- JavaScript匿名函数知多少
在一些Javascript库中可以看见这种写法: function(){ //所有库代码代码 }(); 这样写的一个目的是——封装. JavaScript并不是面向对象的,所以它不支持封装.但是在不支 ...
- 团体程序设计天梯赛-练习集 L1-031. 到底是不是太胖了
比较两个实型的数: 若两者相等,也许用a>/b会出错... 我又想到了codeforces有很多这样的坑... #include <stdio.h> #include <std ...
- 读论文Machine Learning for Improved Diagnosis and Prognosis in Healthcare
Deep Learning的基本思想 假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为: I =>S1=>S2=>…..=>Sn => ...