20155322 2016-2017-2 《Java程序设计》第8周学习总结
20155322 2016-2017-2 《Java程序设计》第8周学习总结
教材学习内容总结
第八周学习的主要内容是课本的第十四第十五章,主要学习了以下知识点:
- 了解NIO
- 会使用Channel、Buffer与NIO2
- 会使用日志API、国际化
Java NIO
Java NIO 由以下几个核心部分组成:
- Channels
- Buffers
- Selectors
所有的 IO 在NIO 中都从一个Channel 开始。Channel 有点象流。 数据可以从Channel读到Buffer中,也可以从Buffer 写到Channel中。
Selector允许单线程处理多个 Channel。如果你的应用打开了多个连接(通道),但每个连接的流量都很低,使用Selector就会很方便。
日志API:
•Logger: 注意无法使用构造方法生成Logger对象。java.util.logging包提供了日志功能相关类与接口,使用日志的起点是logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类不能直接以new创建,必许使用Logger的静态方法,如:
Logger logger=Logger.getLogger("xxx");
• getLogger:调用getLogger()时,必须指定Logger实例所属名称空间,名称空间以“.”作为层级区分,名称空间层级相同的Logger,其父Logger组态相同。通常在哪个类中取得的Logger,名称空间就会命名为哪个类全名。
• getLevel:取得的Logger实例之父Logger组态,就是Logger.GLOBAL_LOGGER_NAME名称空间Logger实例,可通过getParent()取得设定的Logger实例,可通过getLevel()取得设定的Level实例。
• setLevel:可以通过setLevel()设定Level实例,若log()时指定的Lever实例内含的int值小于Logger设定的Level实例内含的int值,Level就不会记录信息。
• Handler:输出介质
• MemoryHandler:不会格式化日志信息,信息会暂存于内存缓冲区,直到超过缓冲区大小,才将信息输出至指定的目标Handler。
• StreamHandler:可自行指定信息输出时使用的OutputStream实例,它与子类都会使用指定Formatter格式化信息。
• Formatter: 格式化
• FileHandler默认的Formatter是XMLFormatter;
• ConsoleHandler默认使用SimpleFormatter;这两个类是Formatter的子类,可以通过Handler的setFormatter()方法设定Formatter。
• Handler、Formatter、Filter负责日志输出;MemoryHandler不会格式化日志信息,信息会暂存于内存缓冲区,直至超过大小才将信息输出至指定的目标Handler;StreamHandler可自行指定信息输出时使用的OutputStream;ConsoleHandler,日志信息会显示在控制台;FileHandler ,文档位置与名称可以使用模式字符串指定;SocketHandler ,创建时可以指定主机位置与端口;Handler是负责输出,Formatter负责格式化,而信息过滤是交由Filter。
• logging.properties 可以通过logging.properties来设定Logger组态。
• ResourceBundle对于日后可能变动的文字信息,可以考虑将信息移至程序之外,使用ResourceBundle来做信息绑定;.properties文档必须放置在CLASSPATH的路径设定下,文档中撰写的是键/值配对;getBundle()会自动找到对应的.properties文档,取得ResourceBundle实例后,可以使用getString()指定键来取得文档中对应的值。
•Locale 国际化的三个标准是地区信息、资源包与基础名称;地区信息代表了特定的地理、政治或文化区,资源包中包括了特定地区的相关信息。
教材学习中的问题和解决过程
- 首先主要是和自己的结对对象讨论一些教材前几章的问题。
代码调试中的问题和解决过程
- 问题1:找不到类
- 解决:添加classpath

代码托管

上周考试错题总结
下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?
A .od -b -tx1 Hello.java
B .od -tcx1 Hello.java
C .od -tc -tx1 Hello.java
D .od -tbx1 Hello.java
正确答案: B C
我的答案: C
分析:-b 是以八进制输出JDK8 中新时间API中,用于度量时间的类有()
A .Instant
B .Duration
C .Period
D .LocalDateTime
正确答案: B C
你的答案: A DAn object can be thought of as a blueprint for a set of classes(对象被认为是类集合的蓝图).
A .true
B .false
正确答案: B
我的答案: AWhen an object is passed to a method, the actual and formal parameters become aliases(当把对象传递给方法时,实参和形参互为别名).
A .true
B .false
正确答案: A
我的答案: B
Given the following, which answers can correctly fill in the blank? (Choose all that apply.)针对下面的代码,()中应填入哪个选项?
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime dateTime = LocalDateTime.now();
ZoneId zoneId = ZoneId.systemDefault();
ZonedDateTime zonedDateTime = ZonedDateTime.of(dateTime, zoneId);
long epochSeconds = 0;
Instant instant = ( );
A .Instant.now()
B .Instant.ofEpochSecond(epochSeconds)
C .date.toInstant()
D .dateTime.toInstant()
E .time.toInstant()
F .zonedDateTime.toInstant()
正确答案: F
我的答案: A
分析:选项C,D和E是不正确的,因为源对象不代表时间点。没有时区,java不知道什么时候使用。
结对及互评
评分标准
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评过的同学博客和代码
- 本周结对学习情况
- 20155302杨效宸
- 结对照片
- 结对学习内容:
- 了解NIO
- 会使用Channel、Buffer与NIO2
- 复习第六章相关知识
- 上周博客互评情况
- 20155302杨效宸
- 20155335黄月
- 20155311李玺
- 20155313杨瀚
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 15篇 | 400小时 | |
| 第一周 | 4/4 | 1/1 | 10/10 | |
| 第二周 | 20/24 | 1/2 | 9/19 | |
| 第三周 | 80/104 | 1/3 | 10/29 | |
| 第四周 | 343/ 447 | 1/4 | 15/44 | |
| 第五周 | 748/1195 | 1/5 | 20/64 | 能够自己敲出一些简单的程序 |
| 第六周 | 207/1402 | 1/6 | 10/74 | 继续敲出一些简单的程序 |
| 第七周 | 241/1643 | 2/8 | 11/85 | |
| 第八周 | 209/1852 | 1/9 | 11/96 |
计划学习时间:20小时
实际学习时间:11小时
改进情况:无
参考资料
20155322 2016-2017-2 《Java程序设计》第8周学习总结的更多相关文章
- 20155322 2016-2017-2 《Java程序设计》 第一周学习总结
20155322 2016-2017-2 <Java程序设计> 第一周学习总结 教材学习内容总结 本周学习内容的主要是: 一.浏览教材,根据自己的理解每章提出一个问题. 在浏览教材后,我提 ...
- 20155220 2016-2017-2 《Java程序设计》第九周学习总结
20155220 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用 ...
- 20155211 2016-2017-2 《Java程序设计》第九周学习总结
20155211 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 一.JDBC入门 (一)JDBC简介 厂商在操作JDBC驱动程序时,依 ...
- 20155313 2016-2017-2 《Java程序设计》第九周学习总结
20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 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可以 ...
随机推荐
- Excel error 64-bit version of SSIS
问题是 在windows server 2008 64位的计划任务执行 ssis 的错误 ,ssis你们带有读取excel 日期 2015/3/17 11:50:34日志 作业历史记录 (SSIS_U ...
- linux改变apt-get安装源
最近自己装了个ubuntu kylin 在使用的过程中发现,系统的apt-get 的源有毛病,总是安装不了软件. 感觉应该是传说中的墙的原因,所以准备换到阿里云的源. 下面是步骤: 1.复制原文件备份 ...
- zoj3820 树的直径+二分
这题是个遗憾 !!!!!当时一直不敢相信两个站一定在直径上,赛后想想自己真的是脑袋抽风, 如果其中一个站不在直径上就反向的说明了这条不是直径.可以很明白我们可以肯定的是有一个点一定在直径上假如另外一个 ...
- Redis 资料整理
Redis is an open source, BSD licensed, advanced key-value store. Redis is often referred to as a dat ...
- 实现Vue-MVVM-step1
一个利用defineProperty实现的MVVM双向数据绑 <!DOCTYPE html> <html lang="en"> <head> & ...
- 【运维技术】shell脚本实现线程挂掉,自动重启功能
由于分布式系统的流行,服务器上面部署的项目都是多实例的.而我又希望有一个功能,当服务器出现异常情况能够自动重启实例. 所以我想到了使用shell脚本监控实例进程id,如果不存在的话,就重启对应的实例. ...
- php 用户向微信发送信息
1:制作微信菜单栏 <?phpheader("Content-type: text/html; charset=utf-8");function request_post($ ...
- Vue学习笔记之Vue的面向对象
0x00 准备工作 JavaScript 语言中,生成实例对象的传统方法是通过构造函数. function Animal(name,age){ this.name = name; this.age = ...
- SQL学习笔记四(补充-2-1)之MySQL SQL查询作业答案
阅读目录 一 题目 二 答案 一 题目 1.查询所有的课程的名称以及对应的任课老师姓名 2.查询学生表中男女生各有多少人 3.查询物理成绩等于100的学生的姓名 4.查询平均成绩大于八十分的同学的姓名 ...
- git中Untracked files如何清除
$ git status # On branch test # Untracked files: # (use "git add <file>..." to inclu ...