20155203 2016-2017-4 《Java程序设计》第8周学习总结
20155203 2016-2017-4 《Java程序设计》第8周学习总结
教材学习内容总结
1.channel的继承架构
2.position()类似于堆栈操作中的栈顶指针。
3.Path path = Paths.get(System.getProperty("user.name"),"Documents","Downloads");
表示当前指定的路径为C:\Users\Justin\Documents\Downloads。
4.Path的几种常用方法以及用法的区别
方法名称 | 作用 |
---|---|
normalize() | 移除冗余信息 |
toAbsolutePath() | 将相对路径转化为绝对路径 |
toRealPath() | 将符号连接转换为真正路径或将相对路径转化为绝对路径 |
resolve() | 路径和路径的结合 |
equals() | 比较两个Path路径实例是否相同 |
endsWith() | 比较路径结尾是否相同 |
starsWith() | 比较路径起始是否相同 |
relativize() | 切换路径 |
5.Logger类的构造函数标识为protected
要取得Logger实例3必须使用Logger的静态方法getLogger()
教材学习中的问题和解决过程
-
问题1:P457页
Files.setAttribute(Paths.get(args[0]),"dos:hidden",true)
第一个参数中get()中的参数为什么是args[0]而不是一个文件地址?第三个参数为什么是true而不是一个文件名? -
问题1解决方案:args[0]代表的是字符串也就是当前指定文件的相对路径文件夹,第三个参数的含义仍然不明。
-
问题2:
Logger与Handler默认都会先依据Level过滤信息
是什么意思? -
问题2解决方案:查阅资料后我认为,是这两个实例都会优先考虑Level的过滤然后再执行操作
代码调试中的问题和解决过程
- 问题1:教材中的PathDemo.java代码中的输出部分代码用
forEach(out::printf);
表示后和原代码输出一样。但两者在代码中并无联系(我输入的源代码并不是全部输出path各类方法的结果,只是选择了一部分)
- 问题1解决方案:
- System.out是一个PrintStream实例的引用;System.out::println 是对一个实例方法的引用
- 该引用同时指定了对实例(System.out)的引用以及对方法(PrintStream::println)的引用System.out::println 不是 System.out.println 的等价物;前者是一个方法引用表达式,而后者不能单独作为一个表达式,而必须在后面跟上由圆括号包围的参数列表来构成方法调用表达式。
- System.out::println 可以看作 lambda表达式 e -> System.out.println(e) 的缩写形式。
代码托管
上周考试错题总结
- 哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容:
B .
od -tcx1 Hello.java
C .
od -tc -tx1 Hello.java
- A method that has multiple definitions is an __________________ method(具有多重定义的方法称为方法___).
A .
overloaded(重载)
- What is the output of the following code?(下面代码的运行结果是?)
LocalDate date = LocalDate.of(2018, Month.APRIL, 30);
date.plusDays(2);
date.plusYears(3);
System.out.println(date.getYear() + " "
- date.getMonth() + " "+ date.getDayOfMonth());
B .
2018 APRIL 30
结对及互评
点评过的同学博客和代码
其他(感悟、思考等,可选)
学习任务很大,所以有时可能不能及时的在本周完全将本周的学习任务完成到百分之百,还是需要继续努力!
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 2500行 | 30篇 | 400小时 | |
第一周 | 80/100 | 1/1 | 20/20 | |
第二周 | 180/280 | 2/2 | 30/38 | 可以用Java语言独立的编写一些具有基本结构的程序 |
第三周 | 504/784 | 3/3 | 22/25 | |
第四周 | 690/1474 | 4/4 | 25/30 | 基本可以使用父类和子类进行简单的定义和调用 |
第五周 | 807/2281 | 5/5 | 25/25 | 进行基本的查错和抛出或直接在程序中改正,理解收集对象的含义 |
第六周 | 1373/3654 | 6/6 | 25/25 | 正确使用输入输出系统和线程的一些方法和接口,了解了一些线程环境下的注意事项 |
第七周 | 623/4508 | 2/8 | 25/172 | 了解了Lambda表达式的便捷和漏洞,学会设置时间格式 |
第八周 | 312/4900 | 1/9 | 25/197 | 了解了NIO操作的类和方法,和关于日志管理的内容 |
-
计划学习时间:25小时
-
实际学习时间:25小时
-
改进情况:能合理安排自己的时间,而不是“每天都学Java”。