• 20155222 2016-2017-2 《Java程序设计》第7周学习总结


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

    教材学习内容总结

    • 使用基于方法的语法在 Enumerable 类中调用 Where 方法时(像在 LINQ to Objects 和 LINQ to XML 中那样),参数是委托类型 System..::.Func<(Of <(T, TResult>)>)。使用 Lambda 表达式创建委托最为方便。例如,当您在 System.Linq..::.Queryable 类中调用相同的方法时(像在 LINQ to SQL 中那样),则参数类型是System.Linq.Expressions.Expression,其中 Func 是包含至多五个输入参数的任何 Func 委托。同样,Lambda 表达式只是一种用于构造表达式目录树的非常简练的方式。尽管事实上通过 Lambda 创建的对象的类型是不同的,但 Lambda 使得 Where 调用看起来类似。

    • Java中的日期概述

      日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。

      在Java中,操作日期主要涉及到一下几个类:

    1. java.util.Date
      类 Date 表示特定的瞬间,精确到毫秒。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。Date 中的把日期解释为年、月、日、小时、分钟和秒值的方法已废弃。

    2. java.text.DateFormat(抽象类)
      DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、分析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年,1 月 1 日 00:00:00 这一刻开始的毫秒数。

    3. java.text.SimpleDateFormat(DateFormat的直接子类)
      SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。
      SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 来新的创建日期-时间格式化程序。

    4. java.util.Calendar(抽象类)
      Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
      与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。

    5. java.util.GregorianCalendar(Calendar的直接子类)
      GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家使用的标准日历系统。
      GregorianCalendar 是一种混合日历,在单一间断性的支持下同时支持儒略历和格里高利历系统,在默认情况下,它对应格里高利日历创立时的格里高利历日期(某些国家是在 1582 年 10 月 15 日创立,在其他国家要晚一些)。可由调用方通过调用 setGregorianChange() 来更改起始日期。

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

    • 如何解决多线程共用同一个线程体时产生的数据安全问题?
      对其中的方法或语句使用synchonized标志进行锁定。

    代码调试中的问题和解决过程

    -如何获取当前日期。

    import java.util.*; 
    import java.text.*;
    public class TestDate { 
    	public static void main(String[] args) { 
    		Date now = new Date(); 
    		Calendar cal = Calendar.getInstance();
    	}
    }
    

    代码托管

    上周考试错题总结

    • 下面哪条命令可以把 f1.txt 复制为 f2.txt ?
      cp f1.txt f2.txt
      cat f1.txt > f2.tx
    • 以下()方法会使线程进入阻塞状态?
      Thread.sleep()
      wait()
    • 如果有以下代码段:
      Thread thread = new Thread(new ________________() {
      public void run() {...}
      });

    空白部分指定哪些类型可以通过编译?
    A .Runnable
    B .Thread

    • 调用线程的interrupt()方法 ,会抛出()异常对象?
      D .InterruptedException
      E .SecurityException
    • 现有
    1. class Calc {
    2. public static void main(String [] args) {
    3. try {
    4.     int x = Integer.parselnt ("42a") ;
      
    5. //insert code here
      
    6.     System.out.print ("oops");
      
    7. }
    8. }
    9. }
      下面哪行分别插入到第五行,会导致输 "oops" ?
      catch (IllegalArgumentException e) {
      } catch (NumbelFormatException n) {

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 9/9 3/6 10/10
    第二周 40/49 1/7 5/15
    第三周 49/99 1/8 10/25
    第四周 202/301 1/9 15/40
    第五周 170/471 1/10 5/45
    第六周 115/520 1/11 5/50
    第七周 18/538 1/12 5/55

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

    参考资料

  • 相关阅读:
    Linux系统命令与权限
    有关Linux目录相关内容
    Linux的命令以及基本使用
    操作系统的基本知识与Linux系统简介
    IT知识架构与操作系统简介
    windows下nginx支持php的配置
    提权操作函数
    c++内存中字节对齐问题详解 [ 转载 ]
    STL 容器效率的对比
    C++ 四种类型转换的介绍
  • 原文地址:https://www.cnblogs.com/20155222lzj/p/6686950.html
Copyright © 2020-2023  润新知