20175317 《Java程序设计》第十周学习总结
教材学习内容总结
本周我学习了教材第十二章的内容,这章介绍了如何使用Java实现多线程机制,线程是如何运行的,以及如何创建线程对象并使用一些线程的常用方法。
- 线程与进程
线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。 - Thread类与线程的创建
- 用Thread创建线程通常使用的构造方法是
Thread(Runnable target)
,该构造方法中的参数是一个Runnable
类型的接口。 - 目标对象与线程的关系:目标对象和线程完全解耦,目标对象组合线程(弱耦合)
- 线程联合
一个线程A在占有CPU资源期间,可以让其它线程调用join()
和本线程联合 - GUI线程
当Java程序包含图形用户界面(GUI)时,Java虚拟机在运行应用程序时会自动启动更多的线程 - 计时器线程
计时器每隔a毫秒“震铃”一次,参数b是计时器的监视器。计时器发生的震铃事件是ActinEvent
类型事件。 - 守护线程
一个线程调用void setDaemon(boolean on)
方法可以将自己设置成一个守护线程
本章常用方法:
start()
:启动线程,调用一次后就不必再次调用。run()
:系统自动调用而用户程序不得引用。sleep(int millsecond)
:休眠线程,必须再try-catch语句中使用。isaAlive()
:判断线程是否具有实体。currentThread()
:获得当前正在运行的线程。interrupt()
:将休眠的线程唤醒。wait()
:使线程进入等待状态。notify()
:将线程从等待状态唤醒。
代码运行过程中的问题和解决过程
- 问题1:在做本周必做作业MySQL时我将代码都写好了,但是显示无法运行,都是无效的类
- 问题1解决方案:我经过尝试找到了解决的途径,无法运行的原因是我没有在浏览器中打开XAMPP,在浏览器中打开http://127.0.0.1,之后运行代码建立数据库连接
import static java.lang.System.out;
import java.sql.*;
public class ConnectionDemo {
public static void main(String[] args)
throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String jdbcUrl = "jdbc:mysql://localhost:3306/demo";
String user = "root";
String passwd = "";
try(Connection conn =
DriverManager.getConnection(jdbcUrl, user, passwd)) {
out.printf("已%s数据库连接%n",
conn.isClosed() ? "关闭" : "打开");
}
}
}
成功建立数据库连接后就可以正常运行了。这次问题的出现是由于我之前在图书馆进行代码编写,编译运行正常之后回了宿舍,走之前我将浏览器关掉了,回到宿舍后数据库连接就中断了,所以需要重新建立链接。这提示我在之后的编程中要做到善始善终,尽量完整的做完手头的项目。
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | |
---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 |
第一周 | 16/16 | 3/3 | 20/20 |
第二周 | 546/562 | 3/6 | 16/36 |
第三周 | 739/1301 | 1/7 | 25/61 |
第四周 | 605/1906 | 1/8 | 29/90 |
第五周 | 977/2883 | 2/10 | 23/113 |
第六周 | 1451/4334 | 3/13 | 35/148 |
第七周 | 4393/8727 | 2/15 | 30/178 |
第八周 | 1393/10120 | 1/16 | 21/199 |
第九周 | 951/11071 | 2/18 | 30/229 |
第十周 | 1316/12387 | 2/20 | 26/255 |
学习中的插曲
本周日我在网上冲浪时看到一篇推送,在5月5日TIOBE的5月编程语言排行1-20出炉了,Java仍然稳居榜首
Java作为一种简单的、面向对象的、分布式的、说明型的、健壮安全的、结构中立的、可移植的、性能优异、多线程的动态语言,受倒了越来越多人的追捧,人才社会需求量大,学习Java无疑会使我们受益匪浅,Java也必定是一项在日后非常实用的技能。
经过了十周的学习,我逐渐掌握了Java中的基本技巧和方法,看完这篇推送后我决定要继续坚定自己的学习态度,更加认真的对待今后的学习。