zoukankan      html  css  js  c++  java
  • 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中的基本技巧和方法,看完这篇推送后我决定要继续坚定自己的学习态度,更加认真的对待今后的学习。

  • 相关阅读:
    递归——8月4日
    练习:结构体、枚举类型——8月3日
    结构体、枚举类型——8月3日
    数组——7月25日
    类的复习——7月25日
    异常保护——7月25日
    类以及练习——7月25日
    javase学习小结二
    javase学习小结一
    产生随机数的方法
  • 原文地址:https://www.cnblogs.com/20175317zrw/p/10816876.html
Copyright © 2011-2022 走看看