20165312 2017-2018-2《JAVA程序设计》第8周学习总结

一、第十二章知识点总结

  • 进程与线程

    • 进程是程序的一次动态执行进程,它对应了从代码加载、执行至执行完毕的一个完整过程
    • 线程不是进程,一个进程在其执行过程中,会产生多个线程,线程间可以共享进程中的代码和数据。
    • 没有进程就没有线程
  • 多线程
    • 多线程是指一个应用程序中同时存在几个执行体,按几条不同的执行线索共同工作的情况。
    • 计算机只能执行多个线程中的一个,java虚拟机快速的把控制从一个线程切换至另一个线程。
    • JVM一直要等到java应用程序中的所有线程都结束,才结束java应用程序
  • 线程的状态与生命周期
    • 新建:当一个Thread类或者其子类的对象被声明并创建时,线程对象处于新建状态,有了相应的内存空间和其他资源
    • 运行:调用start()方法进行排队,调用run()方法立刻执行
    • 中断
    • 死亡:一个正常运行的线程正常完成了他的全部工作或者被提前强制性终止、
  • java中的线程调度器负责管理线程,线程的优先级通过setPriority(int grade)方法调整。
  • Thread类及其子类与线程的创建
    • 编写Thread类的子类时,需要重写run()方法
    • Thread创建线程通常使用构造方法:Thread(Runnable target)
  • 目标对象与线程的关系
    • 目标对象和线程完全解耦:目标对象通常需要获得线程的名字String name = Thread.currentThread().getName();
    • 目标对象组合线程(弱耦合):目标对象通常需要获得线程的引用Thread.currentThread();
  • 线程的常用方法
    • start()
    • run()
    • sleep(int millsecond)参数millsecond是以毫秒为单位的休眠时间,如果线程在休眠时被打断,JVM就会抛出InterruptedException异常
    • isAlive()返回true或者false
    • currentThread()Thread类中的类方法,可以用类名调用
    • interrupt()吵醒休眠的线程
  • 线程同步
    • 线程同步:若干个线程都需要使用一个synchronized方法
    • 线程同步机制:当一个线程A使用同步方法时,其他线程想使用这个同步方法时就必须等待
  • 线程联合B.join();
  • 计时器线程Timer(int a,Object b)创建一个计时器
  • 守护线程:thread.setDaemon(true)可以将自己设置成一个守护线程

二、错题总结

  • 下列属于常用数据库的是( )

A . Access

B . XAMMP

C . MySQL

D . Oracle

E . SQL Server

答案:ACDE(XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。)

  • 接口RowSet继承了接口__,可以调用RowSet中的方法__来填充其数据区。( )
    ①Statement ②ResultSet ③update ④populate

A . ①③

B . ①④

C . ②③

D . ②④

答案:C

  • executeUpdate返回的类型是int,代表的含义是受影响的记录( )

A . true

B . false

答案:A

三、本周遇到的问题以及解决方法

  • 在做本周测试的时候,设置好数据库和表之后,运行程序不对,反复检查代码没有问题,最后发现时没有先和数据库连接,犯了一个特别傻逼的错误,差一点过了测试的时间,时间很急就没有截图。。。
  • 在看第十二章代码的时候,后面的GUI线程、计时器线程和应用举例用到了第九章的内容,有些看不懂。回头粗略的看下第九章的内容,感觉还是没有理解透彻,等我把第九章系统看完之后再把那几个代码重新看一遍吧,这样理解更深刻一点吧。。
  • 不知道为啥吧,向码云上传代码的时候又一次出了问题。问题是“更新被拒绝,当前分支的最新提交落后于其对应的远程分支”,截图如下

!

解决方法:

(1)$ git fetch origin

!

(2)Ctrl+X

(3)$ git push origin master

参考:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支

  • 做本周的测试题目的时候对守护线程的理解不深,然后在网上找了找有关守护线程的资料。

(1)将线程转换为守护线程可以通过调用Thread对象的setDaemon(true)方法来实现

(2) thread.setDaemon(true)必须在thread.start()之前设置,否则会跑出一个IllegalThreadStateException异常。你不能把正在运行的常规线程设置为守护线程。

(3)在Daemon线程中产生的新线程也是Daemon的。

(4)守护线程应该永远不去访问固有资源,如文件、数据库,因为它会在任何时候甚至在一个操作的中间发生中断。

参考:守护线程(Daemon Thread)

代码托管

本周代码截图

20165312 2017-2018-2《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. CentOS 6快捷安装RabbitMQ教程

    1.安装Erlang yum install erlang 2.安装RabbitMQ yum install rabbitmq-server 3.配置开机自启动 chkconfig rabbitmq- ...

  2. 最近使用Navicat for MySQl访问远程mysql数据库,出现报错,显示“2003- Can't connect MySQL Server on 'localhost'(10038)“。

    优先考虑mysql数据库是否开启 1.先看报错窗口.   通过百度,最终找到的原因是:远程3306端口未对外开放. 于是下面进行远程3306端口开放操作.   首先远程连接服务器,点击“开始”-“管理 ...

  3. 【转】在.net Core 中像以前那样的使用HttpContext.Current

    1.首先我们要创建一个静态类 public static class MyHttpContext { public static IServiceProvider ServiceProvider; p ...

  4. ID基本操作(复制页面)(移动页面)(调整跨页页数)(版面调整)5.16

    1.在页面面板中选择要复制的页面.拖动到新建页面图标上就可以新建页面. 2.在页面面板中选择要复制的页面.点击右上角的下箭头选择直接复制跨页. 3.在页面面板中选择要移动的页面.用鼠标拖到要移动的地方 ...

  5. Spring搭建练习遇到的坑

    1.Error:(7, 23) java: cannot find symbolsymbol: class ProceedingJoinPointlocation: class com.how2jav ...

  6. Homework 2.0

    一.第一题,要求是输入不同的字符的时候输出不同的结果,这道题主要是运用输入和输出语言还有判断语句,分别使用switch和if else来进行输入字符的判断,本体比较简单,注意定义输入变量的类型为cha ...

  7. 发布-订阅消息系统Kafka简介

    转载请注明出处:http://www.cnblogs.com/BYRans/ Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式 ...

  8. 第二周例行报告psp

    此作业要求详见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2127 (1)psp表 本周进度条 累计进度图 本周PSP饼状图

  9. chmod语法

    chmod命令详细用法   指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 :  ...

  10. C#添加文字水印

    使用的是iTextSharp添加PDF水印,由于是接口动态生成PDF,所以采用的是全部是内存流的形式,而且水印是平铺是.iTextSharp版本是5.5 /// <summary> /// ...