20165226 2017-2018-4 《Java程序设计》第8周学习总结

java

教材学习内容总结

第十二章

  • 创建线程的方式有三种,分别是:

    - 继承Thread类创建线程,程序中如果想要获取当前线程对象可以使用方法:Thread.currentThread();如果想要返回线程的名称,则可以使用方法:getName();

    - 实现Runnable接口创建线程

    - 使用Callable和Future创建线程

  • 线程常用方法

    • start()
    • run()定义线程线程对象被调度之后所执行的操作
    • sleep(int millsecond),必须在try-catch语句块中调用sleep方法
    • isAlive()

Thread thread = new Thread(target);

threrad.start();

  • 线程同步
  • 线程联合

B.join();

  • 计时器线程,Timer类,在javax.swing中

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

  • 问题1:看到书上P382提到了计时器Timer类,该类在javax.swing包中,java.util包中也有一个名字是Timer类,产生疑惑,那java.utiljavax.swing里的Timer有什么不同吗?
  • 问题1解决方案:先在书上浏览了一下,没有相关信息,然后通过百度查找相关资料,得出以下结论:

在 1.3 版本中,向 Java 平台添加了另一个 Timer 类:java.util.Timer。该类和 javax.swing.Timer 的基本功能相同,但是 java.util.Timer 更常用,功能更多。javax.swing.Timer 有两个特征,它们可以让使用 GUI 更方便。首先,其事件处理程序都是 GUI 程序员所熟悉的,并且可以更简单地处理事件指派线程。第二,其自动线程共享意味着不必采取特殊步骤来避免生成过多线程。相反,计时器使用同一个线程让光标闪烁、使工具提示显示等等。 

  • 问题2:主线程与子线程有什么区别?
  • 问题2解决方案:

1.每个线程都有一个唯一标示符,来区分线程中的主次关系的说法。 

线程唯一标示符:Thread.CurrentThread.ManagedThreadID;

2.UI界面和Main函数均为主线程。

3.被Thread包含的“方法体”或者“委托”均为子线程。

4.委托可以包含多个方法体,利用this.Invoke去执行。

5.也可以定义多种方法体,放在Thread里面去执行。则此方法体均为子线程。注意如果要修改UI界面的显示。则需要使用this.Invoke,否则会报异常。

6.Main函数为主线程,id标示符与UI界面主线程相等。

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

  • 问题1:将Windows里面编写的代码移到虚拟机里面,然后在编译Example12_1的时候,出现了点小bug,弹出如下图所示界面

  • 问题1解决方案:添加encoding 参数:javac -encoding gbk ArrayTest3.java,然后运行成功

代码托管

上周考试错题总结

  • 易错点:正确答案: A C D E 你的答案: C D E

下列属于常用数据库的是 

A Access

B XAMMP

C .MySQL

D .Oracle

E .SQL Server

  • 易错点:正确答案: A B 你的答案: A B D

下列属于数据操作语言的是 

A insert

B update

C create

D select

  • 易错点:正确答案: C 你的答案: D

接口RowSet继承了接口__,可以调用RowSet中的方法__来填充其数据区。

①Statement ②ResultSet ③update ④populate

A ①③

B ①④

C ②③

D ②④

结对及互评

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

    • 要素全面
    • 很认真细致
    • 排版简介美观

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

    • 代码中文件分类简洁
    • 很认真

点评过的同学博客和代码

  • 本周结对学习情况

    • 20165230

      • 结对学习内容
      • 商讨结对编程的相关应用,在上周的基础上修改增添了部分代码。

其他

通过本周的学习,我学会了使用Thread类或子类创建线程,实现各个进程轮流执行。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周48/481/120/20
第二周390/4382/318/38
第三周866/13041/418/56
第四周1105/24091/530/86
第五周1229/31961/620/106
第六周1147 /43432/825/131
第七周1222 / 36682/1020/151
第八周284 / 39303/1320/171
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

  • 计划学习时间:30小时

  • 实际学习时间:18小时

  • 改进情况:

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

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

参考资料

  • Java学习笔记(第8版)

  • 《Java学习笔记(第8版)》学习指导

以上是 20165226 2017-2018-4 《Java程序设计》第8周学习总结 的全部内容, 来源链接: utcz.com/z/392756.html

回到顶部