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


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

    教材学习内容总结

    JDBC是什么?

    JDBC代表Java数据库连接,这对Java编程语言和广泛的数据库之间独立于数据库的连接标准的Java API。

    JDBC库包含的API为每个通常与数据库的使用相关联的任务:

    使得连接到数据库

    创建SQL或MySQL语句

    执行SQL或MySQL的查询数据库

    查看和修改结果记录

    从根本上说,JDBC是一种规范,它提供的接口,一套完整的,允许便携式访问底层数据库。可以用Java来写不同类型的可执行文件,如:

    Java应用程序

    Java Applets

    Java Servlets

    Java ServerPages (JSP)

    Enterprise JavaBeans (EJBs)

    所有这些不同的可执行文件就可以使用JDBC驱动程序来访问数据库,并把存储的数据的优势。

    JDBC提供了相同的功能,ODBC,允许Java程序包含与数据库无关的代码。

    运用反射

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

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

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

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

    自定义泛型

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

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

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

    自定义枚举

    enum定义了特殊的类,继承自java.lang.Enum。

    enum是个抽象类,无法直接实例化。

    enum操作Comparable接口,ordinal的值是会使用enum枚举的成员顺序。equals()与hashCode()基本上继承了Object的行为,但被标示为final。

    可以使用values()的方法,将内部维护Action枚举实例的数组复制后返回。

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

    问题一:java的反射通过类名加载类和ClassLoader通过类名加载类有什么区别?

    ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象。

    问题二:Java中Class.forName和ClassLoader.loadClass的区别?

    Class.forName(className)装载的class已经被初始化,而ClassLoader.loadClass(className)装载的class还没有被link。
    forName支持数组类型,loadClass不支持数组
    一般情况下,这两个方法效果一样,都能装载Class。但如果程序依赖于Class是否被初始化,就必须用Class.forName(name)了。

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

    应该怎么该?

    上周考试错题总结

    NIO2中,可以使用()中的方法取出文件系统根目录信息。

    A .Path

    B .DirectoryStream

    C .FileStore

    D .FileSystem

    正确答案: D

    正则表达式”(‘|”)(.*?)1”匹配 “'Hello',"World””的结果是()

    A .不匹配

    B .'Hello'

    C ."World"

    D .'Hello',"World"

    正确答案: B C

    abc? 匹配( )

    A .ab

    B .abc

    C .abcc

    D .abccc

    正确答案: A B

    正则表达式 zo* 匹配()

    A .z

    B .zo

    C .zoo

    D .zooooooooooooooooooooooooooo

    正确答案: A B C D

    正则表达式“r.t”匹配字符串“rat”的Java 代码表达式是()

    A ."rat".matcher("r.t")

    B ."r.t".matcher("rat")

    C .Pattern.compile("rat").matcher("r.t")

    D .Pattern.compile("r.t").matcher("rat")

    正确答案: D

    结对及互评

    评分标准

    正确使用Markdown语法(加1分):

    不使用Markdown不加分

    有语法错误的不加分(链接打不开,表格不对,列表不正确...)

    排版混乱的不加分

    模板中的要素齐全(加1分)

    缺少“教材学习中的问题和解决过程”的不加分

    缺少“代码调试中的问题和解决过程”的不加分

    代码托管不能打开的不加分

    缺少“结对及互评”的不能打开的不加分

    缺少“上周考试错题总结”的不能加分

    缺少“进度条”的不能加分

    缺少“参考资料”的不能加分

    教材学习中的问题和解决过程, 一个问题加1分

    代码调试中的问题和解决过程, 一个问题加1分

    本周有效代码超过300分行的(加2分)

    一周提交次数少于20次的不加分

    其他加分:

    周五前发博客的加1分

    感想,体会不假大空的加1分

    排版精美的加一分

    进度条中记录学习时间与改进情况的加1分

    有动手写新代码的加1分

    课后选择题有验证的加1分

    代码Commit Message规范的加1分

    错题学习深入的加1分

    点评认真,能指出博客和代码中的问题的加1分

    结对学习情况真实可信的加1分

    扣分:

    有抄袭的扣至0分

    代码作弊的扣至0分

    迟交作业的扣至0分

    点评模板:

    博客中值得学习的或问题:

    xxx

    xxx

    ...

    代码中值得学习的或问题:

    xxx

    xxx

    ...

    基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

    参考示例

    点评过的同学博客和代码

    上周博客互评情况

    20155308

    20155305

    20155339

    20155231

    20155306

    其他(感悟、思考等,可选)

    这周的实验花费了大量的时间,其他基本没来得及看。

  • 相关阅读:
    adb命令
    linux常用命令(2)
    Cisco路由器配置基本命令
    linux常用命令
    跨站脚本攻击xss
    选择合适的索引列顺序
    索引的选择性
    mysql索引类型(按存储结构划分)
    mysql数据类型优化
    vim基本命令总结
  • 原文地址:https://www.cnblogs.com/dd1174751354/p/6753028.html
Copyright © 2020-2023  润新知