zoukankan      html  css  js  c++  java
  • 20145208 《Java程序设计》第9周学习总结

    20145208 《Java程序设计》第9周学习总结

    教材学习内容总结

    • 本周学习的内容有第十六周整合数据库,第十七章反射与类加载器,第十八章自定义泛型、枚举与注释。
    • 在本周学习中,最大的难点就是整合数据库的学习,因为整合数据库对我来说是一个很陌生的学习内容,尤其是还需要我安装SQL数据库的一系列程序,xampp的安装和配置方面倒是还可以解决,但是涉及到网站方面的phpmyadmin更是让我不知道怎么办,最后只能通过命令行的方式来完成第十六周的学习和代码测试。

    整合数据库

    • 整合数据库首先要在我们的IDEA中增加JDBC的库,然后还要安装SQL数据库作为基础,然后去创建数据库。
    • JDBC库的添加我会在下文中说明,SQL数据库的安装已经发在小组里面了
    • SQL数据库安装
    • 创建数据库的过程如下:
      • 首先登陆

    - 然后通过命令行指令建立数据库,建立表
    

    • 其实就是使用了SQL命令行的语法,具体的语法网上都有详细的介绍
    • 这个时候再运行代码就有结果了

    • 这里需要把地址和用户名等信息改成自己的。

    反射与类加载器

    反射

    • 反射就是从Class等API取得类信息的方式。

    • 语法:

      • getClass()
      • Class.forName()
      • getClassLoader()
      • ……
    • 代理:

      • 静态代理
      • 动态代理

    类加载器

    • 类加载器实际的职责就是载入.class文档。
    • 类加载器都继承自抽象类java.lang.ClassLoader,由getClassLoader()取得加载对应文档的ClassLoader实例,getParent()方法可以取得父ClassLoader实例。

    自定义泛型、枚举与注释

    自定义泛型

    • 泛型定义可以相当复杂,包括仅定义在方法上的泛型语法,用来限制泛型可用类型的extendssuper关键字,?类型通配字符的使用以及结合三者来模拟共变性和逆变性。
    • 自定义泛型时,extends限制指定T实际类型时,必须是某类的子类

    自定义枚举

    • 对于枚举的学习在之前第七章的时候就有过接触了
    • 定义enum时可以自行定义构造函数,条件是不得公开构造函数,也不可以在构造函数中调用super

    注释

    • 可以在原始代码中使用注释,对编译程序提供额外编译提示,或提供应用程序执行时期可读取的组态信息

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

    问题一

    整合数据库JDBC库的安装

    • 一开始代码是不通的

    • 提示说找不到jdbc这个驱动,这应该是环境没有弄好的原因,所以我上网下载了jdbc驱动,并进行配置,下载好的驱动需要放在我们JDK相应的lib文件夹里
    • 以下是我摸索的方法:
      • 先右键工程出现选项,选择OPEN MODULE SETTINGS

    - 进入页面后点击小加号添加``Import Module``
    

    - 然后找到我们的lib文件夹进行链接
    

    - 最后点击右侧加号将我们的工程添加进去就可以了
    

    • 也有另外一种方法:
      • 右键libraries项目,选择选项中的Open Library Settings

    - 然后点击右侧加号,并找到自己下载的驱动放好的lib的位置,选择驱动:
    

    • 无论是哪种方法,配置成功后会显示如下情况,现在的问题不是找不到了,是链接不上,为什么链接不上呢?因为我还没装数据库SQL……Orz

    • 数据库的安装和开启在上文提到了。

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

    问题一

    p555 Student.java

    • 这段代码中莫名其妙的略了一部分……缺少了后面函数中调用的size(),所以就没办法运行……… 就只能自己构造了一个size()

    其他(感悟、思考)

    • 本周的学习任务感觉很有压力,首先需要去安装好几个新的软件,每个软件都是陌生的,还需要自己进行配置进行摸索,在配置Android的时候还好,因为相对来说和配置JDK差不多,而且内容相对简单,但是xampp、SQL和phpmyadmin的配置就很陌生,真的是耗费了我大量的时间去查阅各种资料,并进行测试排除,才勉强找到一种可以将就的办法,但是phpmyadmin的使用终究还是没有弄懂……希望老师可以解答。
    • 这一周的学习感觉对代码的理解不再是难点,难点偏向于一些书上没有需要自己摸索的东西,但是不得不说,这种靠自己解决问题,然后帮助没有解决问题的人的过程,是十分有成就感和喜悦感的。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时 成为超过高级初学者的存在
    第一周 150/150 1/3 15/15 第一个JAVA程序
    第二周 150/300 2/5 20/35 第一次对教材代码进行自己的修改
    第三周 400/700 2/7 20/50 熟练的进行代码托管
    第四周 1210/1910 2/9 30/80 在敲代码的时候有自己思考
    第五周 1083/2993 1/10 40/120 学习API
    第六周 1061/4054 2/12 50/170 了解到了输入输出与线程
    第七周 579/4633 2/14 40/210 学会了测试代码
    第八周 523/5156 2/16 40/250 按照老师说的一个代码一个git
    第九周 592/5748 2/18 50/300 学会了SQL数据库的基本使用和编写简单的APP

    参考资料

  • 相关阅读:
    HTTP和HTTPS协议
    Django后台缓存运用,提高并发
    Python用摘要算法生成token及检验token
    Django框架rest_framework中APIView的as_view()源码解析、认证、权限、频率控制
    跨域请求
    Django中的缓存机制
    Django框架之Auth模块
    Django框架之中间件、CSRF跨站请求伪造
    Django框架之Cookie和Session组件
    Django框架之Forms组件(基于注册功能)
  • 原文地址:https://www.cnblogs.com/20145208cy/p/5449485.html
Copyright © 2011-2022 走看看