zoukankan      html  css  js  c++  java
  • 20155312 2006-2007-2 《Java程序设计》第六周学习总结

    20155312 2006-2007-2 《Java程序设计》第六周学习总结

    课堂笔记

    • 学习进程
      • 周一看视频-2h
      • 周二以代码为中心看书-3h
      • 课后选择题-5h
      • 教材指导
    • 应试
      • Linux命令(1~2)
      • 前面的内容(3~5)
      • 本堂内容(20)
    • System.out,println(stu); =System.out.println(stu.toString);注意覆盖toString
      • 重载:函数名相同,参数不同。注意子类继承父类后,声明了与父类函数名相同内容不同的函数,也是重载。
      • 覆盖:子类与父类的函数声明++完全相同++,子类把父类覆盖。
    • 比较对象时要覆盖equals
    • collectionAPI:数据结构
    • collecton:很多对象的集合。
    • time java Test显示程序执行时间。
    • List:查看API:“Interface List”:List是接口,不能new List
      • 超级接口collection:方法toArray() :返回一个包含所有元素的数组。size() ,remove(Object o) ,hashCode() :返回一个哈希值。equals(Object o) ,contains(Object o) :看collection中是否有某个元素。clear() ,add(E e)。
      • 已知实现类: ArrayList, LinkedList...
    • 缓冲区溢出——栈溢出。
    • 泛型:代表各种类型,避免了重载时只是参数类型不同算法相同的问题。C语言中:空指针void *

    教材学习内容总结

    我都把笔记记书上了。感觉写在博客里对自己学习没什么帮助。

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

    第十章

    • 问题一:书10.1.1中最后一个代码片段,实现将文档输出至浏览器,取得来源文档的这句代码是什么意思?```InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/jdbc.pdf");
    • 解决过程:查看了API发现没有getServletContext()方法,这应该是自己定义的取得某个资源或者内容的方法,其中还定义了一个getResourceAsStream()方法。
    • 问题2::10.1.3中介绍DataInputStream与DataOutputStream时举例用的Member.java代码中的public void save()方法是怎么通过一个number成员,打开被写入的文件?public static Member load(number)方法是怎么通过number成员打开源文件?
    • 解决过程:思考了良久,没有解决。
    • 问题3:10.2.2中的ChartUnit.java代码中最后一行System.getProPerty("file.encoding")是在做什么?getProPerty方法的具体用法是什么?
    • 解决过程:查看了getProPerty的API,调用System.getProperties()可以返回一个Properties类的对象。 这个类就是一个hashtable,你可以把系统的所有属性打印出来,包括它的key和value。截图如下:

    第十一章

    • 问题4:如何知道自己设计的程序可能会出现哪些异常?

    • 解决方案:目前只能通过查看API,上面标有throw的方法一定要处理异常,还有一种途径是通过学习书中知识慢慢积累经验。(还有其他方法吗?)

    • 问题5:新建Tread时的参数可以有哪些?

    • 解决方案:通过对课本的学习,可以是(线程群组名,“信息”),还可以是(线程群组名,Ranable),其他方式见API:

    • 问题6:书中11.2.1中介绍Lock时,有这样一句话怎么理解?“ReentrantLock,如果已经有线程取得Lock对象锁定,尝试再次锁定同一个Lock对象是可以的”?

    • 问题7:11.2.2中的FutureCallableDemo.java代码,在指定FutureTask时的作为参数传入的新建Callable匿名类中的call()是Callable自带的方法?书中是在覆盖call方法吗?

    • 解决方式:查看了API证明自己的猜想是正确的。call()方法是用来“计算结果”。截图如下:

    • 问题8:上题中的代码,为什么可能抛出ExecutionException异常?

    • 解决方法:查看API,"当试图获取已通过抛出异常而中止的任务的结果时,抛出此异常。"。

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

    • 问题1:为什么运行第十章的 Download.java和Copy.java会显示“找不到符号IO”?截图如下:

    • 解决方案:原因在于忘记编辑IO.java,编译后解决问题。注:也可以用javac -d bin *.java的方法,把它们一起编译了避免出现这类问题。

    • 问题2:scheduleWithFixedDelay()参数及其含义?

    • 解决方案:scheduleWithFixedDelay(Runnable command,long initialDelay,long delay,TimeUnit unit),其中command是要处决的任务;initialDelay:延迟多久首次执行;delay:一次处决和下一次开始之间的时间延迟;unit:时间单元。API中截图如下:

    代码托管


    (本周花费大量时间看书上代码,预测代码结果,而没有把侧重点放在敲代码上)

    上周考试错题总结

    • 『错题1』:输入"cd"命令并按回车键后,将会出现什么情况?——D .
      从当前目录切换到用户主目录
      • 「原因」:不清楚根目录和主目录的区别。
      • 「理解情况」:已理解,~是主目录,打开终端。
    • 『错题2』:现有:
     1. import java.util.*;     
     2.     
     3. Class FindStuff  {     
     4. public static void main (String[]args)    {     
     5.    //insert code here     
     6.    c.put ("X", 123);     
     7.    }    
     8.  }
    
    

    分别插入到第5行,哪几行允许代码编译?
    A. Map c= new SortedMap();
    B.HashMap c= new HashMap(); C.HashMap c= new Hashtable(); D.SortedMap c= new TreeMap(); E.ArrayList c= new ArrayList(); F.Map c = new LinkedHashMap();

    • 「原因」:对Map学习不到位,不了解几种Map的继承关系。
    • 「理解情况」:查看了几种Map的API,截图如下:
      • TreeMap和HashMap都是java.util.AbstractMap的子类,属于并列关系;
      • LinkedHashMap是HashMap的子类;
      • Hashtable是java.util.Directionary的子类,与其他的Map没有继承关系;
      • SortedMap是继承了Map方法的子方法;截图如下:
      • 扩展:几种Map之间的区别:
        • Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,取得数据的顺序是++完全随机++的。
        • Hashtable与HashMap类似,它继承自Dictionary类,不同的是:它不允许记录的键或者值为空。
        • LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,++先得到的记录肯定是先插入的++。
        • TreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序
      • 几种Map的应用场合:
        • HashCode:在Map中插入、删除和定位元素。
        • TreeMap:按自然顺序或自定义顺序遍历键。
        • LinkedHashMap:需要输出的顺序和输入的相同
    • 『错题3』:

    结对及互评

    这周我对搭档的帮助主要是帮她在周三的练习题中分析代码,一起修正代码。同时督促对方学习java。

    评分标准

    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

    • 参考示例

    点评过的同学博客和代码

    其他(感悟、思考等,可选)

    自我总结如下:

    1. 做题速度慢,对手机答题的模式还是不太适应,课堂测验还是大部分做不完。感觉自己学了书上的内容但很多不理解,所以这周把学习重点放在了教材理解上。
    2. 学习java的最终目的是实现自动化,即会编出质量高的程序解决需求。所以夯实基础的同时提高编程能力才是重中之重。
    3. 第六周老师说可以复制资源中的代码,所以敲代码的时间节省了很多,侧重点放在了代码结果预测和分析上。
    4. 经过前几周的学习,我发现博客知识记录学习过程的工具,学习知识才是我们真正的目标。而且既然花费时间去学习,就要学透学好,不然时间都是白白浪费了。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 4/0 1/3 28/80 下载了JDK和GIT
    第二周 61/4 1/4 20/108 在unbuntu中熟练编写程序,熟练进行文件、目录等操作
    第三周 684/65 1/5 27/108 初步配置vim方便使用,会自己解决一些代码问题
    第四周 1238/749 1/6 23/135 大部分自己补全的代码片段不会出现问题,渐渐具备脱离书本编代码的能力
    第五周 627/1987 1/7 20/158 能够帮助其他同学发现代码出错的原因
    第六周 400/2614 1/8 24/178 能够整理出教材中各种类、接口、方法之间的相互关系,理清知识脉络

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

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

    • 计划学习时间:25小时

    • 实际学习时间:24小时

    • 改进情况:这周看了老师提供的学习视频,通过视频中第十章的三节课和第十一章的前两节课的讲解,我对教材内容的理清情况比之前有了提高。

    • 有空多看看现代软件工程 课件 软件工程师能力自我评价表

    参考资料

  • 相关阅读:
    bzoj1663: [Usaco2006 Open]赶集
    bzoj1662: [Usaco2006 Nov]Round Numbers 圆环数
    [bzoj3771]Triple
    [bzoj1477]青蛙的约会
    [bzoj2299][HAOI2011]向量
    [2017.4.7校内训练赛by hzwer]
    [bzoj2456]mode
    [bzoj2120]数颜色
    [bzoj3668][Noi2014]起床困难综合症/[洛谷3613]睡觉困难综合症
    [4.6校内训练赛]
  • 原文地址:https://www.cnblogs.com/zjy1997/p/6660319.html
Copyright © 2011-2022 走看看