20145209 2016-2017-2 《Java程序设计》第8周学习总结

教材学习内容总结

1.java.util.logging包提供了日志功能相关类与接口。

2.使用日志的起点是Logger类,Longer类的构造函数标示为protected,不同包的类药取得Loger实例必须使用它的静态方法getLogger(),取得实例后可以使用log()方法输出信息。

3.取得Longger: Logger logger=Logger.getLogger("cc.openhome.Main"); 通过Logger实例的getParent()取得父Logger实例,可以使用intValue()取得内含int值,Logger本身可以通过setLevel()设定Level实例。

Handler与Formatter

1.负责日志输出的是Handler实例。

2.MemoryHandler不会格式化日志信息,信息会暂存于缓冲区,直到超出大小,才将信息输出至指定目标Handler。

3.ConsoleHandler:创建时会会自动指定OutputStream为System.err,日志信息会显示在控制台。

4.FileHandler:创建时会建立日志输出是需要的FileOutPutStream,文档位置与名称可以使用模式字符串指定。

5.SocketHandler:创建时可以指定主机位置与端口,内部将自动建立网络联机,将日志信息传送至指定主机。

6.Logger可以使用addHandler()新增Handler实例,使用removeHandler()移除Handler。

Handler\Formatter\Filter

如果java.util.logging包中提供的Handler成果都不符合需求,可以继承Handler类,操作抽象方法publish()、flush()、close()方法来自定义Handler。

国际化基础

1.ResourceBundle的静态getBundle()方法会取得一个ResourceBoundle的实例,自动找到对应的.properties文档,使用getString()指定键来取得文档中的对应值,以后要改变信息就只要改变.properties文档中的值就可以。

2.国际化的三个重要概念是地区信息、资源包与基础名称。

3.使用String的split()方法,可以根据某个字符或字符串切割已有字符串,然后它会返回切割后的各子字符串组成的String数组。

4.规则表示式基本包括两种字符:字面意义字符与原字符。 国际化基础

国际化的三个标准:

a.地区(Locale)信息

b.资源包(Resource bundle)

c.基础名称(Base name)。

地区信息的对应类是Locale,在建立Locale实例时,可以指定语言编码与地区编码。

针对大型数组的平行化操作,新版jdk中,在Arrays上新增如下一些方法:

1.parallelPrefix()方法可以指定XXXBinaryOperator实例,执行类似Stream的reduce()方法。

2.parallelSetAll()方法用来对数组进行初始化或全面重新设置每个索引元素。

3.parallelSort()方法可以将指定的数组分为子数组并以平行化当时分别排序。

教材学习中的问题和解决过程

  • 问题1:正则表达式的用法是什么?

java中提供正则表达式功能的类在java.util.regex包下,有两个类:Pattern 和 Matcher。正则表达会先被编译为Pattern类,然后创建匹配器,由匹配器进行匹配,典型的调用顺序为:

Pattern p = Pattern.compile("a*b");

Matcher m = p.matcher("aaaaab");

boolean b = m.matches();

也可以调用 

  while(m.find())

   {

          System.out.println(m.group());

    }

如果有捕获组可以用m.group(i)来提取相应的捕获组,其中i为捕获组的序号,0表示整体。

我们可以看到其实用法是很简单,最重要的步骤还在于写出正确的正则表达式,下面是几种常用的表达式:

这些表达式有很多是javascript的,很多语言中都有正则表达式的实现,写法也略有不同,不过如果理解了的话,表面上的不同也不会有什么障碍,我们可以根据它来写满足我们自己需要的表达式。

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.)>.</\1>|<(.*) />/

匹配首尾空格的正则表达式:(^\s)|(\s$)

匹配Email地址的正则表达式:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*

匹配网址URL的正则表达式:http://([\w-]+.)+[\w-]+(/[\w- ./?%&=]*)?

只能输入数字和英文的:

只能输入数字的:

只能输入全角的:

只能输入汉字的:

上周考试错题总结

  • 下面哪些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

  • 下面哪些类的对象会包含“东部标准时间”的信息)

A .Instant

B .LocalDate

C .LocalDateTime

D .LocalTime

E .ZonedDateTime

正确答案: E

  • 下面哪些内容会出现在Period对象中?

    A .Year

B .Month

C .Day

D .Hour

E .Minute

F .Second

正确答案: A B C

评分标准

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)

    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)

    • 一周提交次数少于20次的不加分
  6. 其他加分:

    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:

    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

  • 参考示例

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:10小时

  • 实际学习时间:5小时

  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表
)

参考资料

20145209 2016-2017-2 《Java程序设计》第8周学习总结的更多相关文章

  1. 20155225 2016-2017-2 《Java程序设计》第九周学习总结

    20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...

  2. 20155229 2016-2017-2 《Java程序设计》第九周学习总结

    20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...

  3. 20155338 2016-2017-2 《Java程序设计》第九周学习总结

    20155338 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 · 数据库本身是个独立运行的应用程序 · 撰写应用程序是 ...

  4. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  5. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  9. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  10. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

随机推荐

  1. 什么是分布式锁?Redis实现分布式锁详解

    在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务.分布式锁等.那具体什么是分布式锁,分布式锁应用在哪些业务场景.如何来实现分布式锁呢?今天继续由陈睿|mikeche ...

  2. URAL 1501 Sense of Beauty

    URAL 1501 思路: dp+记忆化搜索 状态:dp[i][j]表示选取第一堆前i个和第二堆前j的状态:0:0多1个              1:0和1相等                2:1 ...

  3. 2018年全国多校算法寒假训练营练习比赛(第一场)G 圆圈

    https://www.nowcoder.com/acm/contest/67/G 思路: 分形. 记录中间左边点的坐标,然后推出另外3个点的坐标,递归到最简单的情况. 代码: #include< ...

  4. 关于React性能优化

    这几天陆陆续续看了一些关于React性能优化的博客,大部分提到的都是React 15.3新加入的PureComponent ,通过使用这个类来减少React的重复渲染,从而提升页面的性能.使用过Rea ...

  5. Java中classpath配置

    Java中classpath配置 一.DOS常用命令 二.DOS常用命令实例 2.1 转换目录 cd 1.6* 2.2 删除文件 del 删除文件(windows删除从里往外删) del *.txt ...

  6. Java基础十一--多态

    Java基础十一--多态 一.多态定义 简单说:就是一个对象对应着不同类型. 多态在代码中的体现: 父类或者接口的引用指向其子类的对象. /* 对象的多态性. class 动物 {} class 猫 ...

  7. CRISPR基因编辑

    2007年,一家酸奶公司发现一种细菌拥有抵御病毒的特殊防御机制.2012年,细菌的这种机制就被科学家阐述清楚,2013年这一领域快速增长.它被视为分子生物学的一个奇迹,事实上,它并非仅对生物学家产生革 ...

  8. ContentPresenter

    这是2年前写了一篇文章 http://www.cnblogs.com/Clingingboy/archive/2008/07/03/wpfcustomcontrolpart-1.html 我们先来看M ...

  9. 快速搭建一个简易的KMS 服务

    xu言: 之前,闹的沸沸扬扬的KMS激活工具自身都存在问题的事.让我们对以前的什么小马激活.kms激活.各种激活工具都去打了一个深深的“?”,到底哪些能用.哪些不能用.有些还注明的里面必须要关闭杀毒软 ...

  10. LeetCode--119--杨辉三角II

    问题描述: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你 ...