20155234 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结
- Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。
- 从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流,如果要将数据写入目的地,可以使用输出串流。
- 在来源与目的地都不知道的情况下可以设计一个通用的dump()方法,该方法接受InputStream与OutputStream实例,分别代表读取数据的来源,以及输出的目的地
- InputStream、OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类。常用的打包器具备缓冲区作用的BufferedOutputStream、BufferedInputStream,具备数据转换处理的DataInputStream、DataOutputStream,具备对象串行化能力的ObjectInputStream、ObjectOutputStream等。
- 解析几个常用子类:
StringReader可以将字符串打包,当做读取来源,StringWriter可以作为写入目的地,最后toString()取得所有写入的字符组成的字符串。CharArrayReader、CharArrayWriter类似,将char数组当做读取来源以及写入目的地。 - 如果处理串流字节数据,将这些字节数据转换为对应的编码制度,可以使用 InputStringReader、InputStringWriter打包。
- printWriter与PrintStream处理可以对OutputStream打包之外,Printwriter还可以对writer进行打包,提供print()、println()、format()等方法。
- 在java中,如果想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run()方法中。
- 在java中,从main()开始的流程会由主线程执行,可以创建Thread实例来执行Runnable实例定义的run()方法。
- 操作Runnable接口的好处就是较有弹性,你的类还有机会继承其他类。若继承了Thread,那该类就是一种Thread,通常是为了直接利用Thread中定义的一些方法,才会继承Thread来操作。
- 在使用高级并行API时,Lock接口的操作对象可实现synchronized的功能。
- ConcurrentHashMap是ConcurrentMap的操作类,ConcurrentNavigableMap是ConcurrentMap的子接口,其操作类为ConcurrentSkipListMap,可视为支持并行操作的TreeMap版本。
教材学习中的问题和解决过程
书上p233页的代码范例中的“!input.matches("d")”是什么意思?
通过看书上对代码的解析,得到如下解释:String 的 matches() 方法中设定了"d",这是规则表示式,表示检查字符串中的字符是不是数字,若是则 matches() 会返回true。
错题总结
- 下列属于非受检异常的是哪项?
A.SQLException
B.IOException
C.NullPointerException
D.OutOfMemoryError
答案:D
异常分为受检异常与非受检异常,OutOfMemoryError属于Error为非受检异常 - 分别插入到第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
代码托管
结对及互评
结对搭档
- 正确使用Markdown语法(加1分)
- 模板中的要素齐全(加1分)
- 排版精美的加一分
- 代码Commit Message规范的加1分
- 进度条中记录学习时间与改进情况的加1分
- 感想,体会不假大空的加1分
- 教材学习中的问题和解决过程。
- 动手写新代码的加1分
9.代码超过300行加2分
上周点评博客
其他(感悟、思考等,可选)
通过这周的学习知道了java可以使多个线程并行的,cpu会在多个线程之中根据一定的规则选择进行,这两章感觉就是好多种java的类,这几周好像学习内容都是一些类、接口的运用,善用API进行查询相关接口、类的作用非常重要。还有,感觉学java就相当于是去学一门语言,就像英语、汉语一样,需要在脑海中去形成使用它的语法习惯,这样在编写代码是,就会自然而然地敲出相应的程序,然而要形成这种习惯,并熟练运用其中的各种句式、搭配还有相当长的一段路要走。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | |
---|---|---|
目标 | 5000行 | 30篇 |
第一周 | 3/3 | 1/1 |
第二周 | 105/108 | 1/2 |
第三周 | 205/313 | 1/3 |
第四周 | 402/710 | 1/4 |
第五周 | 327/1037 | 1/5 |
第六周 | 900 /1937 | 1/6 |