20155205 2016-2017-2 《Java程序设计》第6周学习总结
20155205 2016-2017-2 《Java程序设计》第6周学习总结
教材学习内容总结
第十章
- 在Java中,输入串流代表对象为Java.io.InputStream实例,输出串流代表对象为Java.io.OutputStream实例。
- 字节流:
int read (byte[]b,int off,int len)
//int返回值是这一次读取了多少个数据,off是偏移量(初始索引),len是数据长度。
void write (byte[]b,int off,int len)
注 :read若返回值为-1,则表示已经读取不到数据了。
- FileInputStream是InputStream的子类,用于写衔接文档以读入数据,FileOutputStream是OutputStream的子类,用于写衔接文档以写出数据。(InputStream、OutputStream是抽象类,不能生成对象,必须由子类来生成对象。)
- 字符流:
int read (char[]c,int off,int len)
//int返回值是这一次读取了多少个数据,off是偏移量(初始索引),len是数据长度。
void write (char[]c,int off,int len)
- readLine()读到null返回空。
- 常用的打包器有具备缓冲作用的BufferedInputStream、BufferedOutputStream,具备数据转换处理作用的DataInputStream、DataOutputStream,具备对象串行化能力的ObjectInputStream、ObjectOutputStream等。
第十一章
- 多进程:在操作系统中能(同时)运行多个任务(程序)。多线程:在同一应用程序中有多个顺序流(同时)执行。
- 如果想要为JVM加装CPU,就是创建Thread实例,要启动额外CPU就是调用Thread实例的start()方法。额外CPU执行流程的进入点,可以定义在Runnable接口的run()方法中。
- 线程生命周期

- wait()、notify()与notifyAll()是Object定义的方法,可以通过这3个方法控制线程释放对象的锁定,或者通知线程参与锁定竞争。
- java.util.concurrent.locks包中提供Lock、ReadWriteLock、Condition接口以及相关操作类。
教材学习中的问题和解决过程
- 问题1:在不使用Java.io.InputStream和Java.io.OutputStream时,如何使用close()方法关闭串流?
- 问题1解决方案:在finally区块中调用close(),但是需要注意异常的出现,因此也要写try、catch。 原理 是:由于InputStream和OutputStream操作了Java.io.Closeable接口,其父接口为Java.lang.AutoCloseable接口,因此可使用JDK7尝试自动关闭资源语法。
......
finally{
try{
input.close();
output.close();
}catch(Exception e){
System.out.println(e);
}
}
- 问题2:我们看到,字符流和字节流用法几乎一样,那么他们有什么区别呢?
- 问题2解决方案:两者的区别就是读写的时候一个按字符读写,一个按字节读写。在读写文件需要对内容按行处理,比如比较特定字符,处理某一行数据的时候一般会选择字符流。只是读写文件,和文件内容无关的,一般选择字节流。
- 问题3:p325程序中的flags数组是什么意思?
- 问题3解决方案:这里的flags数组实际上就是对兔子睡觉与否状态的判断。若flags后的值为0,则索引为0,取true。这个方法我认为十分值得积累,在以后的编程中可能会用到。
- 问题4:什么是Lambda表达式?Lambda的更多用法是什么?
- 问题4解决方案:在一般数学计算中,一个lambda表达式就是一个函数,它的定义是:为部分或者所有输入值指定一个输出值。Lambda表达式在Java中是以函数语言的概念引入。在java中术语Lambdas可以理解为一种省略掉修改器,返回类型和参数类型的更紧凑,更好的匿名方法。具体参考博客《什么Lambda是表达式?》(上周掌握的不到位)
基本语法是:
(parameters) -> expression
或者
(parameters) -> { statements; }
代码调试中的问题和解决过程
本周未遇到代码调试的问题。
代码托管


上周考试错题总结
- 错题1:现有:
- list是一个合法的集合引用
- getCollection()返回一个合法集合的引用
哪个是合法的?
B. for(Object o : getCollection())
E.for(lterator i=list.iterator(); i.hasNext (); )
- 错题2:现有:
1. class Propeller2 {
2. pulolic static void main (String[]args)//add code here?
3. { new Propeller2().topGo(); }
4.
5.void topGo() //add code here?
6. { middleGo(); }
7.
8.void middleGo() //add code here?
9. { go(); System.out.println ("late middle"); }
10.
11. void go() //add code here?
12. {throw new Exception(); }
13. }
为使代码通过编译,需要在哪一行加入声明throws Exception?
D.在第2行、第5行、第8行和第11行
- 错题3:现有:
1. class Birds {
2. public static void main (String [] args) {
3. try {
4. throw new Exception () ;
5. } catch (Exception e) {
6. try {
7. throw new Exception () ;
8. } catch (Exception e2) { System.out.print ("inner
"); }
9. System. out.print ( "middle" ) ;
10. }
11. System.out.print ("outer") ;
12. }
13. }
运行结果?:
C.inner middle outer
结对及互评
评分标准
正确使用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
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
其他(感悟、思考等,可选)
这周开始看视频,觉得视频上讲得很明白,很通俗易懂。但是有一个问题:视频中和书上有的内容不太一样,有些东西不是很明白,得自己主动敲代码才能理解。视频的方法我认为很好,但是看完视频再看书用的时间有点多,有的东西看不完。而且感觉有点找不到重点,知识一下子全部来了,以后要学会找重点。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 16/16 | 1/1 | 12/12 | |
| 第二周 | 124/140 | 1/2 | 19/31 | |
| 第三周 | 501/641 | 1/3 | 26/57 | |
| 第四周 | 664/1305 | 1/4 | 27/84 | |
| 第五周 | 886/2191 | 1/5 | 28/112 | 不光是照着书上的代码打了,自己也按着自己的想法打 |
| 第六周 | 502/2693 | 1/6 | 30/142 | 增加了看视频的两个小时 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:25小时
实际学习时间:30小时
改进情况:因为增加了看视频,时间用的更多一些。(边看视频边看书边思考)
参考资料
20155205 2016-2017-2 《Java程序设计》第6周学习总结的更多相关文章
- 20155334 2016-2017-2 《Java程序设计》第九周学习总结
20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...
- 20155321 2016-2017-2 《Java程序设计》第九周学习总结
20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- ES6对象
--------------------------------------------------------------------- 对象的扩展 let obj = {a: 1, b: 2, c ...
- springboot 日志1
技术交流群: 816227112 Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, ...
- faiss CPU版本+GPU版本安装
faiss安装 faiss是facebook开发的有CPU版本和GPU版本的求密集向量相似性和进行密集向量聚类的库. faiss用c++编写,安装faiss需要在github上下载其c++源码并用ma ...
- vue.js路由vue-router
学习网址:https://segmentfault.com/blog/vueroad 转载至:https://segmentfault.com/a/1190000009350679#articleHe ...
- js文件,同样的路径,拷贝过来的为什么不能访问
从解决方案管理器中拖过来的可以直接访问,而从 bundleconfig中拷贝过来后修改的就访问不到. 如下: 引用一: <script src="~/Content/Plugins/j ...
- asp.net core webapi 似乎未安装在 IIS 中承载 .NET Core 项目所需的 AspNetCoreModule。请尝试修复 Visual Studio 以纠正该问题。
安装 DotNetCore.1.1.0-WindowsHosting 后,提示如题错误. 解决办法: ASP.NET Core 应用程序运行,可以选择 IIS Express 也可以选择 自己运行 , ...
- 详解Cookie纪要
参考文档链接:http://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651552892&idx=1&sn=126a1d32 ...
- android开发中一个activity如何调用另一个xml中的控件
有时候,我们需要在一个activity中使用另一个activity中的控件,这时候就不能直接findViewById,不然会报错指向空对象,这时就需要像下面这样做. LayoutInflater fa ...
- Liunx 硬盘分区
1)什么要进行硬盘分区:a) 更容易管理和控制系统,因为相关的文件和目录都放在一个分区中.b) 系统效率更高.c) 可以限制用户使用硬盘的份额(磁盘空间的大小).d) 更容易备份和恢复. 2)硬盘的逻 ...
- nginx + fastdfs 的开机自启动
虚拟机每次启动之后都要重新启动一下fastdfs 和 nginx服务,比较麻烦,所以增加开机自启动: 编辑 /etc/rc.d/rc.local 文件,增加启动项: 1.编辑文件 vim /etc/r ...