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程序设计》教学进程

  • 相关阅读:
    python数组查找算法---bisect二分查找插入
    pandas的连接函数concat()函数
    python dataframe astype 字段类型转换
    Pandas Dataframe增、删、改、查、去重、抽样基本操作
    pandas入门——loc与iloc函数
    API:详解 pandas.read_csv
    python的复制,深拷贝和浅拷贝的区别
    代码详解生成器、迭代器
    Python学习笔记(4):容器、迭代对象、迭代器、生成器、生成器表达式
    mysql 安装参考
  • 原文地址:https://www.cnblogs.com/bonsai/p/6753699.html
Copyright © 2011-2022 走看看