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

参考资料

20145208 《Java程序设计》第9周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Jmeter调试工具---Debug Sampler

    一.Debug Sampler介绍: 使用Jmeter开发脚本时,难免需要调试,这时可以使用Jmeter的Debug Sampler,它有三个选项:JMeter properties,JMeter v ...

  2. SSH服务器拒绝了密码,xshell连不上虚拟机怎么办

    用Xshell链接虚拟机的时候,出现下面情况: 这是sshd的设置不允许root用户用密码远程登录 解决方案: 修改 vim /etc/ssh/sshd_config 找到# Authenticati ...

  3. AngularJS跨域请求

    本文主要针对网上各种跨域请求的总结,并加入自己的验证判断,实现工作中遇到的跨域问题.所涉及到的领域很小,仅仅局限于:AngularJS CORS post 并同时需要实现json数据传送给服务器. 首 ...

  4. [转]Highcharts仪表盘制作

    http://www.runoob.com/highcharts/highcharts-guage-solid.html 本文转自:http://blog.csdn.net/javaliuzhiyue ...

  5. 随机序列生成算法---生成前N个整数的一组随机序列

    问题描述: 给定输入N,生成从1开始的:1,2,3,4,......N 一组随机序列,序列中的数不能重复出现. 比如:N=5,合法的随机序列为{4,3,1,5,2} .{3,1,4,2,5}……非法的 ...

  6. 【CSS3】CSS3 滤镜实现

    作者:^_^肥仔John      来源:CSS3魔法堂:CSS3滤镜及Canvas.SVG和IE滤镜替代方案详解 IE特有的滤镜常常作为CSS3各种新特性的降级处理补充,而Adobe转向HTML5后 ...

  7. 怎样快速免费获取Windows版本的ZBrush

    ZBrush是一款专业的3D绘制软件及数字雕刻软件,随着3D技术的不断进步,ZBrush也是越来越受到业内欢迎,在世界拥有了众多的粉丝和爱好者.相信很多用户对软件的体验就是从使用的版本开始的,本文就教 ...

  8. 不会UML的程序员不是好构架师?

    情况描述 我已经工作两年半, 参加过一个网页游戏项目和一个IOS应用项目, 自以为参与度非常高, 也经常涉及到底层引擎和主逻辑业务. 目前想更快的向构架师方向发展. 最近在看\<Learning ...

  9. hdu-5496 Beauty of Sequence(递推)

    题目链接: Beauty of Sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java ...

  10. HDU 3333 Turing Tree --树状数组+离线处理

    题意:统计一段序列[L,R]的和,重复元素只算一次. 解法:容易看出在线做很难处理重复的情况,干脆全部讲查询读进来,然后将查询根据右端点排个序,然后离散化数据以后就可以操作了. 每次读入一个数,如果这 ...