20155322 2016-2017-2 《Java程序设计》 第一周学习总结
20155322 2016-2017-2 《Java程序设计》 第一周学习总结
教材学习内容总结
本周学习内容的主要是:
一、浏览教材,根据自己的理解每章提出一个问题。
在浏览教材后,我提出了以下问题:
- 我们是否可以把API理解为已经标准化的“函数”?存于库中并在我们需要的时候进行调用?
- 过多的使用import声明会不会造成编译混乱?
- 类型转换从理论上来说并不安全,为什么编译程序会允许这样的编译方式,为什么不专门设置一种函数,让所有类型转换都通过这种函数进行提供安全性保证呢?
- 为什么不同的数据类型会对应但意义上相同但形式上不同的初始值?
- 如何用一种生活中的例子在形容封装?封装应该遵循什么样的思想?
- 重新定义细节是否可以理解为对父类一种变相的改变或者说是引导?
- “继承”和“操作接口”关系的不同是为了什么?
- 错误信息是按照什么标准(格式)呈现出来的?这种标准是对于所有JAVA程序都是一样的吗?其他语言的错误信息呢?
- 数据结构对于对象的搜索、排序这样的行为是否会有一定的影响?
- 如何理解串流?
- 资源在多线程下使用是如何决定使用的先后的?
- 如果Lambda表达式过多会产生什么样的影响?
- 为什么Java会提供多种时间处理API?为什么不统一使用一种标准化的API?
- NIO是如何提高输入输出的处理效率的?
- 怎样理解调用logger实例log()方法?
- 取得connection操作对象为什么还需要提供JDBC URL?
- 反射是否可以理解为通过外部获得内部信息?
- 如何理解自定义泛型可以仅定义在方法?
二、认真学习第一第二章
第一章的重点主要是理解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程序设计》 第一周学习总结的更多相关文章
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第一周学习总结
丁宣元 <面向对象程序设计(java)>第一周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结
<面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...
- 201871010135 张玉晶 《面向对象程序设计(java)》 第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...
- 杨其菊201771010134《面向对象程序设计(java)》第一周学习总结
第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 安迪儿 程序设计评测:https://pintia.cn/ 迷路的麋鹿回不来家了 代码 ...
- 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...
- 201871010126 王亚涛 《面向对象程序设计(java)》 第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/wyt0455820/ ...
- 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结
面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...
随机推荐
- JavaScript的事件对象中的特殊属性和方法(鼠标,键盘)
鼠标操作导致的事件对象中的特殊属性和方法 鼠标事件是 Web 上面最常用的一类事件,毕竟鼠标还是最主要的定位设备.那么通过事件对象可以获取到鼠标按钮信息和屏幕坐标获取等 鼠标按钮 只有在主鼠标按钮被单 ...
- get传参乱码问题
js get请求代码 function toBranchManagerList(branch_name) { window.location=path+"/branch/toBranchMa ...
- 【PHP】mysql_insert_id() 函数
mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID. 如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0. ...
- math.random用法
Math.random():获取0~1随机数 Math.floor() method rounds a number DOWNWARDS to the nearest integer, and ret ...
- Ubuntu16.04配置单机版Zookeeper和Kafka
1. 配置zookeeper单机模式 选择的是zookeeper-3.4.10版本,官网下载链接:http://mirrors.hust.edu.cn/apache/zookeeper/stable/ ...
- flink统计根据账号每30秒 金额的平均值
package com.zetyun.streaming.flink; import org.apache.flink.api.common.functions.MapFunction;import ...
- 结构之美——优先队列基本结构(四)——二叉堆、d堆、左式堆、斜堆
实现优先队列结构主要是通过堆完成,主要有:二叉堆.d堆.左式堆.斜堆.二项堆.斐波那契堆.pairing 堆等. 1. 二叉堆 1.1. 定义 完全二叉树,根最小. 存储时使用层序. 1.2. 操作 ...
- 获取url中?后面传递的参数
function getUrlArgs(){ var url=location.href; var i=url.indexOf('?'); if(i==-1)return; var querystr= ...
- OpenID Connect Core 1.0(七)使用混合流验证
3.3 使用混合流验证(Authentication using the Hybrid Flow) 本节描述如何使用混合流执行验证.当使用混合流(Hybrid Flow)时一些令牌从授权端点返回,另一 ...
- 03_Docker入门(上)之容器创建、容器使用、容器删除
运维架构服务docker:docker入门 一.确保docker就绪 查看docker程序是否存在,功能是否正常 Docker可执行程序的info命令,该命令会返回所有容器和镜像的数量.Docker使 ...