20155218 2016-2017-2 《Java程序设计》第6周学习总结
2017-04-02 20:15
267 查看
20155218 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结
Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。dump()方法并没有限定来源或目的地的真实形式,而是依赖于抽象的InputStream、OutputStream。
InputStream、OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类。常用的打包器具备缓冲区作用的BufferedOutputStream、BufferedInputStream,具备数据转换处理的DataInputStream、DataOutputStream,具备对象串行化能力的ObjectInputStream、ObjectOutputStream等。
在java中,从main()开始的流程会由主线程执行,可以创建Thread实例来执行Runnable实例定义的run()方法。
撰写多线程程序的方式:
1.将流程定义在Runnable的run()方法中
2.继承Thread类,重新定义run()方法
wait()、notify()、notifyAll()是Object定义的方法,可以通过这3个方法控制线程释放对象的锁定,或者通知线程参与锁定竞争。
CopyOnWriteArrayList操作了List接口,这个类的实例在写入操作是,内部会建立新数组,并复制原有数组索引的参考,然后在新数组上进行写入操作,写入完成后,再将内部原参考旧数组的变量参考至新数组。
教材学习中的问题和解决过程
问题1:什么是IO问题1解决方案: Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。
问题2:File的作用
问题2解决方案:在Java语言的java.io包中,由File类提供了描述文件和目录的操作与管理方法。但File类不是InputStream、OutputStream或Reader、Writer的子类,因为它不负责数据的输入输出,而专门用来管理磁盘文件与目录。作用:File类主要用于命名文件、查询文件属性和处理文件目录。
问题3:什么是并发
问题3解决方案:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。这里需要注意并发和并行是不同的两个概念。并发是指一个时间段内同时运行,这是个区间;而并行是指在同一个时间点上运行,这个是一个点。而且并发在同一个时间点上只能是一个程序在运行。
问题4:进程和线程之间有什么不同?
问题4解决方案:一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。
代码调试中的问题和解决过程
问题1:XXXXXX问题1解决方案:st是String类型,System.in.read()读取一个字节,然后转换成一个int型的数,给返回,想用st去接,但是因为类型不一致,所以使用这个(String) ,是不可以的,强制类型转换得能转才行,基本数据类型和基本数据类型之间转换,引用数据类型和引用数据类型之间转换,可以,但是引用类型和基本类型之间就不行了,引用类型是类,是对象。
问题2:
问题2解决方案:
看到前面的程序发现,我将Tortoise错误的定义为了private,将其改为public即可。
代码托管
上周考试错题总结
1.假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是(B)A .
raise ServiceException
B .
throw new ServiceException()
C .
throw ServiceException
D .
throws
2.下列哪些项是泛型的优点? (A,C)
A .
不用向下强制类型转换
B .代码容易编写
C .类型安全D .运行速度快
3.关于try...catch...finally结构,描述正确的是哪些?(A,C)
A .
可以有多个catch
B .
只能有一个catch
C .
可以没有catch
D .
finally必须有
结对及互评
评分标准
正确使用Markdown语法(加1分):不使用Markdown不加分
有语法错误的不加分(链接打不开,表格不对,列表不正确...)
排版混乱的不加分
模板中的要素齐全(加1分)
缺少“教材学习中的问题和解决过程”的不加分
缺少“代码调试中的问题和解决过程”的不加分
代码托管不能打开的不加分
缺少“结对及互评”的不能打开的不加分
缺少“上周考试错题总结”的不能加分
缺少“进度条”的不能加分
缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
一周提交次数少于20次的不加分
其他加分:
周五前发博客的加1分
感想,体会不假大空的加1分
排版精美的加一分
进度条中记录学习时间与改进情况的加1分
有动手写新代码的加1分
课后选择题有验证的加1分
代码Commit Message规范的加1分
错题学习深入的加1分
点评认真,能指出博客和代码中的问题的加1分
结对学习情况真实可信的加1分
扣分:
有抄袭的扣至0分
代码作弊的扣至0分
迟交作业的扣至0分
点评模板:
博客中值得学习的或问题:xxx
xxx
...
代码中值得学习的或问题:
xxx
xxx
...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
参考示例
点评过的同学博客和代码
本周结对学习情况20155205
结对照片
结对学习内容
-复习上周所学的内容
通过学习视频来学习第10,11章的内容,发现有人讲解真的不一样,轻松了很多。
...
上周博客互评情况
20155336
20155331
20155320
20155331
其他(感悟、思考等,可选)
感觉学习的内容越来越难了,java占用我大量的课外时间,这周我因为写了一个数据结构的综合实验,花了不少时间,所以这周学习有点吃力,但有了视频,学习会容易一点。代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 15/15 | 1/4 | 12/12 | |
第二周 | 140/155 | 1/5 | 18/30 | |
第三周 | 677/817 | 1/ 6 | 20/50 | |
第四周 | 583/1400 | 1/7 | 20/70 | |
第五周 | 540/1940 | 1/8 | 22/92 | |
第六周 | 362/2302 | 1/9 | 13/105 |
实际学习时间:13小时
改进情况:学习时更加的专心,所以时间把握的更准确。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导
《班课资源》
相关文章推荐
- 20155217 2016-2017-2 《Java程序设计》第6周学习总结
- 20155324 2016-2017-2 《Java程序设计》第6周学习总结
- # 20155214 2016-2017-2 《Java程序设计》第6周学习总结
- 20155314 2016-2017-2 《Java程序设计》第6周学习总结
- 20155210潘滢昊 2016-2017-2 《Java程序设计》第6周学习总结
- 20155237 2016-2017-2 《Java程序设计》第6周学习总结
- 20155231 2016-2017-2 《Java程序设计》第6周学习总结
- 20155306 2016-2017-2 《Java程序设计》第6周学习总结
- 20155222 2016-2017-2 《Java程序设计》第6周学习总结
- 20155301 2016-2017-2 《Java程序设计》第6周学习总结
- 20155215 2016-2017-2 《Java程序设计》第6周学习总结
- 20145202马超 2016-2017-2 《Java程序设计》第6周学习总结
- 20155317 王新玮 2016-2017-2 《Java程序设计》第6周学习总结
- 20155204 2016-2017-2 《Java程序设计》第6周学习总结
- 20145209 2016-2017-2 《Java程序设计》第6周学习总结
- 20155326 2016-2017-2 《Java程序设计》第6周学习总结
- 学号20155311 2016-2017-2 《Java程序设计》第6周学习总结
- 20155234 2016-2017-2 《Java程序设计》第6周学习总结
- 20155307 2016-2017-2 《Java程序设计》第6周学习总结
- 学号20155308 2016-2017-2 《Java程序设计》第6周学习总结