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

教材学习内容总结

第十二章

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

    - 继承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/48 1/1 20/20
第二周 390/438 2/3 18/38
第三周 866/1304 1/4 18/56
第四周 1105/2409 1/5 30/86
第五周 1229/3196 1/6 20/106
第六周 1147 /4343 2/8 25/131
第七周 1222 / 3668 2/10 20/151
第八周 284 / 3930 3/13 20/171

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

耗时估计的公式

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

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

  • 计划学习时间:30小时

  • 实际学习时间:18小时

  • 改进情况:

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

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

参考资料

20165226 2017-2018-4 《Java程序设计》第8周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. n阶魔方阵(奇数阵)的输出

    需求 要求输出1~n²的自然数构成的魔方阵. STEP 1 什么是魔方阵? 魔方阵,古代又称“纵横图”,是指组成元素为自然数1.2…n2的平方的n×n的方阵,其中每个元素值都不相等,且每行.每列以及主 ...

  2. 微信测试帐号如何设置URL和Token,以及相关验证的原理

    首先说明,本帮助文档是利用javaweb的Servlet来进行“接口配置信息配置信息”认证的. 在学习微信公众号开发的时候,读到填写服务器配置的帮助部分,总是不能理解为啥按照他的步骤做总是设置失败(吐 ...

  3. (转)使用Hive UDF和GeoIP库为Hive加入IP识别功能

    Hive是基于Hadoop的数据管理系统,作为分析人员的即时分析工具和ETL等工作的执行引擎,对于如今的大数据管理与分析.处理有着非常大的 意义.GeoIP是一套IP映射数据库,它定时更新,并且提供了 ...

  4. React之setState()

    我们知道,在react中更新单个组件下state中的数据可以用setState()函数来实现,并且可以通过两种传参方式:对象.函数. 另外从文档中我们也可以了解到react可以将多个setState( ...

  5. Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记(完结)

    Week 1: Machine Learning: A computer program is said to learn from experience E with respect to some ...

  6. iOS 网络编程(HTTP协议)

    HTTP协议的概念HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响应 ...

  7. I.MX6 U-Boot mkconfig hacking

    /**************************************************************************** * I.MX6 U-Boot mkconfi ...

  8. JAVA多线程------用1

    火车上车厢的卫生间,为了简单,这里只模拟一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时 打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则 ...

  9. java分布式(一)

    分布式架构的演进 初始阶段架构 应用服务和数据服务分离阶段 使用缓存改善性能 使用应用服务器集群 数据库读写分离 反向代理和CDN加速 分布式文件系统和分布式数据库 使用NoSql和搜索引擎 业务拆分 ...

  10. BZOJ2936 Codevs3634 POI1999 积水 【并查集】*

    BZOJ2936 Codevs3634 POI1999 积水 题目描述 有这样一块土地,它可以被划分成N×M个正方形小块,每块面积是一平方英寸,第i行第j列的小块可以表示成P(i,j).这块土地高低不 ...