zoukankan      html  css  js  c++  java
  • 20155313 2016-2017-2 《Java程序设计》第九周学习总结

    20155313 2016-2017-2 《Java程序设计》第九周学习总结

    教材学习内容总结

    第16章

    JDBC(Java DataBase Connectivity)即java数据库连接,是一种用于执行SQL语句的Java API是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无需接触底层数据库驱动程序的差异性。

    JDBC驱动的四种类型(按操作方式分类的): JDBC-ODBC Bridge Driver Native API Driver 提供原生链接库 JDBC-Net Driver 将方法调用转换为特定的网络协议调用 Native Protocal Driver

    建立数据库的步骤: 注册Driver的操作对象 取得Connection操作对象 关闭connection操作对象

    数据库操作相关的JDBC接口或类都位于java.sql包中。要连接数据库,可以向DriverManager取得Connection对象。Connection是数据库连接的代表对象,一个Connection对象就代表一个数据库连接。SQLException是在处理JDBC时经常遇到的一个异常对象,为数据库操作过程发生错误时的代表对象。

    Connection是数据库连接的代表对象,接下来要执行SQL的话,必须取得java.sql.Statement对象,它是SQL语句的代表对象,可以使用Connection的createStatement()来创建Statement对象。

    在使用Connection、Statement或ResultSet时,要将之关闭以释放相关资源。

    Statement的executeQuery()方法则是用于SELECT等查询数据库的SQL,executeUpdate()会返回int结果,表示数据变动的笔数,executeQuery()会返回java.sql.ResultSet对象,代表查询的结果,查询的结果会是一笔一笔的数据。可以使用ResultSet的next()来移动至下一笔数据,它会返回 true 或 false表示是否有下一笔数据,接着可以使用getXXX()来取得数据。

    如果有些操作只是SQL语句中某些参数会有所不同,其余的SQL子句皆相同,则可以使用java.sql.PreparedStatement。可以使用Connection的preparedStatement()方法创建好一个预编译(precompile)的SQL命令,其中参数会变动的部分,先指定“?”这个占位字符。等到需要真正指定参数执行时,再使用相对应的setInt()、setString()等方法,指定“?”处真正应该有的参数。


    第17章

    运用反射 JAVA真正需要某个类时才会加载对应的.class文档,不是程序启动时就加载所有类。

    通过Object的getClass()方法,或者.class常量取得每个对象对应的class对象,如果是基本类型,也可以使用对应的打包类加上.TYPE取得Class对象。例如,Integer.TYPE可取得代表int的Class对象。

    使用`class.forName()的方法来实现动态加载类。

    java.lang.reflect.Method实例是方法的代表对象,可以使用invoke()方法来动态调用指定的方法。

    了解类加载器(ClassLoader)

    是指将.class文件中的二进制数据读入到内存中,将其放在运行时数据的方法区内,然后再堆区创建这个类的java.lang.Class对象,用来封装类在方法区类的对象。

    JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤。


    第18章

    自定义泛型

    在定义泛型时,使用extends限定指定T实际类型时,必须是某类的子类。在定义泛型时,使用extends限定指定T实际类型时,必须是某类的子类。

    共变性(Covariance):,B是A的子类,Node B可视为一种Node A ,称Node具有共变性。

    通配字符“?”与extends限制T的类型,只能通过T声明的名称取得对象指定给Object,或将T声明的名称指定为null。


    教材学习中的问题和解决过程

    • 问题1:泛型能否定义在方法上?
    • 问题1解决:第十八章重点总结:泛型也可以仅定义在方法上,可在方法返回类型前使用<T>定义泛型,之后就可以使用T来定义返回类型、参数类型,或在方法内声明变量、转换类型等。

    代码调试中的问题和解决过程

    • 问题1:数据库无法连接。
    • 问题1解决:先下载mysql的jar包,再下载Xampp软件,新建数据库。




    代码托管


    错题总结

    • Date 的 API有许多方法都不再建议使用,应改用哪个类别的相关方法取代?
      空白部份指定哪些型态可以通过编译?D
      A .DateFormat
      B .TimeStamp
      C .Time
      D .Calendar
    • Suppose we have an array of String objects identified by the variable names. Which of the following for loops will not correctly process each element in the array.(假如我们有一个名为names的String对象数组,下面哪个for循环不能遍历数组中的每一个元素?)
      A .for(int i = 0; i < names.length; i++)
      B .for(String name : names)
      C .for(int i = 0; i < names.length(); i++)
      D .none of these will correctly process each element(以上都不能遍历)
      E .all of these will correctly process each element(以上都能遍历)

    结对及互评

    点评过的同学博客和代码


    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 50/100 1/2 10/20
    第二周 150/200 1/2 20/30
    第三周 168/200 1/2 15/20
    第四周 300/500 1/2 20/20
    第五周 885/1000 1/2 30/30
    第六周 1211/1000 1/3 30/30
    第七周 597/1000 2/3 30/40
    第八周 468/800 1/2 40/40
    第九周 1598/1000 1/3 40/40

    参考资料

    《Java学习笔记(第8版)》学习指导
    2016-2017-2 《Java程序设计》教学进程

  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/bonsai/p/6753699.html
Copyright © 2011-2022 走看看