20155322 2016-2017-2 《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/200 1/2 10/20
第二周 0/500 0/4 0/38
第三周 0/1000 0/7 0/60
第四周 0/1300 0/9 0/90

参考资料

20155322 2016-2017-2 《Java程序设计》 第一周学习总结的更多相关文章

  1. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  2. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  3. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第一周学习总结

    丁宣元 <面向对象程序设计(java)>第一周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结

    <面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...

  6. 201871010135 张玉晶 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  7. 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...

  8. 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...

  9. 201871010126 王亚涛 《面向对象程序设计(java)》 第一周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...

  10. 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结

    面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...

随机推荐

  1. Xposed模块开发基本方法记录

    由于某些课程实验的要求,需要通过xposed框架对某应用进行hook操作,笔者选用了开源且免费的xposed框架进行实现.虽然网上存在一些利用xposed实现特定功能的文章资源,但大多均将xposed ...

  2. JavaScript的DOM_操作行内样式

    一.检测浏览器是否支持css CSS 作为(X)HTML 的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的 CSS 能力.CSS 的能力和 DOM 级别密切相关,所以我们有必要检测当前浏 ...

  3. 【1】【MOOC】Python游戏开发入门-北京理工大学【第二部分-游戏开发之框架】

    学习地址链接:http://www.icourse163.org/course/0809BIT021E-1001873001?utm_campaign=share&utm_medium=and ...

  4. Java虚拟机8:垃圾收集(GC)-3(垃圾收集算法)

    1.垃圾对象的判断 Java堆中存放着几乎所有的对象实例,垃圾收集器对堆中的对象进行回收前,要先确定这些对象是否还有用,判定对象是否为垃圾对象有如下算法: (1):引用计数算法 给对象添加一个引用计数 ...

  5. ionic和angularjs的区别?

    a.ionic是一个用来开发混合手机应用的,开源的,免费的代码库.可以优化HTML.css和js的性能,构建高效的应用程序,而且还可以用于构建sass和angularJS的优化 b.AngularJS ...

  6. WEB安全 php+mysql5注入防御(二)

    第四天: 一.新的注入函数: ascii() substring("string",n,m)                     n>=1 limit n,m      ...

  7. linux下mysql忘记密码怎么办

    前言 今天在服务器安装mysql之后,登录发现密码错误,但是我没有设置密码呀,最后百度之后得知,mysql在5.7版本之后会自动创建一个初始密码. 报错如下: [root@mytestlnx02 ~] ...

  8. MySQL慢查询日志分析提取【转】

    原文:https://www.cnblogs.com/skymyyang/p/7239010.html 一:查询slow log的状态,如示例代码所示,则slow log已经开启. mysql> ...

  9. 【luogu P1558 色板游戏】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1558 我知道三十棵线段树很暴力,可是我们可以状压啊. 颜色最多30,不会爆int 另外 吐槽评测机 #inc ...

  10. SpringMVC中controller的几种返回值

    String :跳转到对应的返回值中. return “/index”: ModelAndView: 控制页面跳转方式: 1. ModelAndView modelAndView = new Mode ...