20189208 2018-2019-2 《Java程序设计》第5周学习总结
教材学习内容总结
十六章 输入/输出
学习了针对小文件的java.nio.io.file.Files和大文件的四种流和随机操作java.io.RandomAccessFile.
十九章 线程
多线程可以使用1拓展java.lang.thread类 2实现java.lang.Runnable接口。
二十章 并发工具
学习java.util.currency包中的并发工具,原子变量操作的类,尽量使用Executor接口实现。Callable和Future,类。以及锁住共享资源。
二十二章 网络
HTTP协议、java.net.URL、java.net.URLConnetion、java.net.SeverSocket、java.net.Socket、webSever的三个类,
教材学习中的问题和解决过程
- 问题1:TCP/IP的网络通信的实现
- 问题1解决方案:
发送:创建Socket实例-getOutputStream方法获取java.io.OutputStream对象,发送和接受字节流, - 问题2:XXXXXX
- 问题2解决方案:XXXXXX
- ...
代码调试中的问题和解决过程
- 问题1:后缀表达式无法计算
- 问题1解决方案:转化为后缀表达式时,数字与数字之间缺少空格。
- 问题2:Client端收不到结果
//获取服务器端传递的数据
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String info= br.readLine();//总是bug无法输出info,info的值是java.io.BufferedReader
- 问题2解决方案:我猜是info的赋值过程出了问题,翻书换了表达方式,并且把br.readLine()改为br.read()或br.toString()。nfo就可以输出java.io.BufferedReader这个错误数值了。info和Server端的变量是相同的名字,我猜可能混淆了,就改了名字为 i.终于成了。
//获取服务器端传递的数据
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String i = br.readLine();
代码托管
···
//Today===========================
code summary infomation:
232
documents summary infomation:
0
//This Week=======================
code summary infomation:
753
documents summary infomation:
0
ac1710c - ssrchan,2019-03-27 20:01:02 +0800: add package ServerClient
e34c5b0 - ssrchan,2019-03-27 15:45:48 +0800: add MyBC MyDC
//All=======================
code summary infomation:
1745
documents summary infomation:
107
commit history:
ac1710c - ssrchan,2019-03-27 20:01:02 +0800: add package ServerClient
e34c5b0 - ssrchan,2019-03-27 15:45:48 +0800: add MyBC MyDC
c100c7a - ssrchan,2019-03-20 16:52:36 +0800: add box p sub
40d4bde - ssrchan,2019-03-20 15:00:36 +0800: Merge remote-tracking branch 'origin/master'
···
上周考试错题总结
- 错题1现有:
1. import java.util.*;
2.
3. Class FindStuff {
4.public static void main (String[]args) {
5, //insert code here
6. c.put ("X", 123);
7. }
8. }
分别插入到第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();
正确答案: B D F
- 错题2
现有:
- list是一个合法的集合引用
- getCollection()返回一个合法集合的引用
哪个是合法的?
A.
or(Object o ; list)
B.
for(Object o : getCollection())
C.
for(Object o : list.iterator())
D.
for(lterator i ; list.iterator() ; i.hasNext () )
E.
for(lterator i=list.iterator(); i.hasNext (); )
正确答案: B E
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | ----- | ----- | ----- | |
第二周 | 180/180 | 2/3 | 18/18 | |
第三周 | 429/609 | 1/4 | 24/42 | |
第四周 | 588/1197 | 2/6 | 30/72 | |
第五周 | 548/1745 | 2/6 | 20/92 |
参考资料
- Java学习笔记(第8版)
- 《Java学习笔记(第8版)》学习指导
- [Java技术手册(第六版)] (https://book.douban.com/subject/26674131/)