20175317 《Java程序设计》第十一周学习总结

20175317 《Java程序设计》第十一周学习总结

教材学习内容总结

本周我学习了教材第十三章的内容,这章介绍了如何使用Java实现多线程机制,线程是如何运行的,以及如何创建线程对象并使用一些线程的常用方法。

  • 线程与进程
    线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程。
  • Thread类与线程的创建
  1. 用Thread创建线程通常使用的构造方法是Thread(Runnable target),该构造方法中的参数是一个Runnable类型的接口。
  2. 目标对象与线程的关系:目标对象和线程完全解耦,目标对象组合线程(弱耦合)
  • 线程联合
    一个线程A在占有CPU资源期间,可以让其它线程调用join()和本线程联合
  • GUI线程
    当Java程序包含图形用户界面(GUI)时,Java虚拟机在运行应用程序时会自动启动更多的线程
  • 计时器线程
    计时器每隔a毫秒“震铃”一次,参数b是计时器的监视器。计时器发生的震铃事件是ActinEvent类型事件。
  • 守护线程
    一个线程调用void setDaemon(boolean on)方法可以将自己设置成一个守护线程

本章常用方法:

  1. start():启动线程,调用一次后就不必再次调用。
  2. run():系统自动调用而用户程序不得引用。
  3. sleep(int millsecond):休眠线程,必须再try-catch语句中使用。
  4. isaAlive():判断线程是否具有实体。
  5. currentThread():获得当前正在运行的线程。
  6. interrupt():将休眠的线程唤醒。
  7. wait():使线程进入等待状态。
  8. 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中的基本技巧和方法,看完这篇推送后我决定要继续坚定自己的学习态度,更加认真的对待今后的学习。

猜你喜欢

转载自www.cnblogs.com/20175317zrw/p/10854184.html