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

java


教材学习内容总结

本周学习内容的主要是:

一、浏览教材,根据自己的理解每章提出一个问题。

在浏览教材后,我提出了以下问题:

  1. 我们是否可以把API理解为已经标准化的“函数”?存于库中并在我们需要的时候进行调用?
  2. 过多的使用import声明会不会造成编译混乱?
  3. 类型转换从理论上来说并不安全,为什么编译程序会允许这样的编译方式,为什么不专门设置一种函数,让所有类型转换都通过这种函数进行提供安全性保证呢?
  4. 为什么不同的数据类型会对应但意义上相同但形式上不同的初始值?
  5. 如何用一种生活中的例子在形容封装?封装应该遵循什么样的思想?
  6. 重新定义细节是否可以理解为对父类一种变相的改变或者说是引导?
  7. “继承”和“操作接口”关系的不同是为了什么?
  8. 错误信息是按照什么标准(格式)呈现出来的?这种标准是对于所有JAVA程序都是一样的吗?其他语言的错误信息呢?
  9. 数据结构对于对象的搜索、排序这样的行为是否会有一定的影响?
  10. 如何理解串流?
  11. 资源在多线程下使用是如何决定使用的先后的?
  12. 如果Lambda表达式过多会产生什么样的影响?
  13. 为什么Java会提供多种时间处理API?为什么不统一使用一种标准化的API?
  14. NIO是如何提高输入输出的处理效率的?
  15. 怎样理解调用logger实例log()方法?
  16. 取得connection操作对象为什么还需要提供JDBC URL?
  17. 反射是否可以理解为通过外部获得内部信息?
  18. 如何理解自定义泛型可以仅定义在方法?

    二、认真学习第一第二章

第一章的重点主要是理解JVM、JRE与JDK和JAVA语言的定义和之间的联系。简单的来说JVM是Java虚拟机,JRE是环境,JDK是编译工具,这是三者是相辅相成的,而理解了这三者的关系有利于后面的学习。

其次是理解Java SEAPI构架。教材中的解释是各式链接库(library)。我通过百度了解到它是一种类似于标准化的函数的存在,可以为我们写程序提供便利性,并且应用广泛。

最后是安装JDK,我是从官网下载的,下载速度十分缓慢,以至于我装完git并且上传了一个.c文件都没有下好。安装过程没有想象中的那么难,按部就班按照往事的教程就可以了,但是是否理解命令行中每一条命令又是另一回事了。其中一些比较好理解,如之前学过的复制粘贴文件,解压tar文件,通过cd移动工作路径等等,但是还是有一些难以一时间全部理解的命令,希望通过今后的学习了解一下。

第二章的重点是了解PATH这种概念,学会设置PATH、CLASSPATH、SOURCEPATH。我把“PATH”理解为一种路径,是用于引导程序寻找可执行文件的“路”。

其次是定义类这个问题,通过书上的详细理解了一下。

最后是管理原始码和位码文档,这个我感觉就涉及到一种“干净整洁”的标准,往往干净整洁的卫生环境能让人工作效率提高,而干净整洁的文档管理也可以提高人的工作效率。包括老师让我们建立自己的git的时候,在本地建立如“bin”“src”等文档存放不同的文件一样,也是一种良好的管理习惯。

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

主要有一个问题,就是安装JAVA的过程中发现主要有两种安装思路,一种是通过sudo apt-set安装,一种是直接在网上下载tar安装包,进行解压编译安装,我两种都试了一下,都可以完成安装。

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

在准备进行代码托管测试的时候,由于那时候Java还没下好,就编了个.c的hallo java文件,结果在vim编完保存时遇到一个问题:

开始是以为没有root权限,尝试用了sudo来创建.c文件结果还是不行,但其实问题很简单,我打错了创建地址,因为我用的是相对路径,而当时工作路径并不是和我创建的文件在一个层级上所以导致了这个问题。

后面安装git的过程比较顺利,最终成功的git add了:

代码托管


这是第二周补的。并没有按照老师的要求来,很抱歉。

代码确实只有HELLO WORLD了,因为当时还在折腾git……以后继续努力!

IDEA的安装

开始的时候是按照老师给的博客来操作的,申请一个免费的正版,但是首先没有edu邮箱,去网络中心激活邮箱后,发现收不到验证邮件,我试着用QQ邮箱发了一封测试邮件到我的edu邮箱,但是发现收不到,并且被退回了,所以申请免费版的方法失败了。

然后我就在网上下载了破解版先用着:


运行idea.sh就可以进入了:

上周考试错题总结

上周无考试

感悟

其实对于快速浏览书本并提出问题这种学习方法一直略有耳闻,这次亲身体验确实是非常不适应,主要是不知道该如何问,提什么样的问题,太深的不理解,太浅的没意义,确实是一个有挑战的方法,但有是很有效果的,至少让我对于全书有了一个大概的印象,对于今后的学习有了一定的方向。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周4/2001/210/20
第二周0/5000/40/38
第三周0/10000/70/60
第四周0/13000/90/90

参考资料

  • Java学习笔记(第8版)

  • 《Java学习笔记(第8版)》学习指导

以上是 20155322 2016-2017-2 《Java程序设计》 第一周学习总结 的全部内容, 来源链接: utcz.com/z/393580.html

回到顶部