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. python面向对象之类成员

    面向对象编程: OOP编程是利用类和对象来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得简单,并可以大大提高程序开发效率.另外,基于面向对象的程序可 ...

  2. Template-Driven Forms 模板驱动式表单

    Angular 4.x 中有两种表单: Template-Driven Forms - 模板驱动式表单 (类似于 AngularJS 1.x 中的表单 ) Reactive Forms - 响应式表单 ...

  3. TTransport 概述

    TTransport TTransport主要作用是定义了IO读写操作以及本地缓存的操作,下面来看TIOStreamTransport是如何实现的. public abstract class TTr ...

  4. [HNOI2010]公交线路

    题目 发现\(n\)比较大,但是\(k,p\)都很小,考虑矩乘使得复杂度倾斜一下 发现所有车的最大间隔都是\(p\),还保证\(k<p\),于是我们可以考虑压下最后\(p\)位的情况 于是设\( ...

  5. UVA 12230 Crossing Rivers

    嘟嘟嘟 虽然分类是期望dp,不过好像是最水的 因为在陆地上的时间和概率是固定的,所以只用考虑过河的期望时间. 对于一条河p, l, v,p好像没什么用……不管了,首先期望时间我觉得可以这么算:期望时间 ...

  6. Ext之grid內編輯

    Ext.grid.Panel xtype:gridpanel,grid 如果要完成在grid中編輯的功能.首先要填加 selType: 'cellmodel',    plugins: [       ...

  7. PAT——1063. 计算谱半径

    在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界.换言之,对于给定的n个复数空间的特征值{a1+b1i, ..., an+bni},它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模. ...

  8. 03_Docker入门(上)之容器创建、容器使用、容器删除

    运维架构服务docker:docker入门 一.确保docker就绪 查看docker程序是否存在,功能是否正常 Docker可执行程序的info命令,该命令会返回所有容器和镜像的数量.Docker使 ...

  9. vue中使用swiper并自定义分页器样式

    一,安装swiper 执行命令 npm install vue-awesome-swiper --save 二,引入swiper import {Swiper} from "vue-awes ...

  10. 前端使用mobx时,变量已经修改了,为什么组件还是没变化,map类型变量,对象类型变量的值获取问题(主要矛盾发生在组件使用时)

    前天我在使用一个前端多选框组件时遇到了一个问题,明明对象内的值已经修改了,但是组件显示的还是没有效果改变,以下是当时打出的log,我打印了这个对象的信息 对象内的值已经修改了但是组件还是不能及时更改, ...