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

一、学习考核方式,理解成绩构成

  1. 首先是100分的构成,主要分为周考的总计60,实验的15分,团队项目(博客报告和课堂展示)25分。
  2. 其次是扣分项目,大概分为课堂表现、作业完成,如果态度端正的话,是不容易扣分的。
  3. 最后是加分项目,加分项目有非常多的种类,只要是积极学习都可以获得加分,比如积极写博客、极提出或回答问题,总之加分和减分关键在于态度,有一个好的态度这10分还是很容易得到的。

  4. 要特别提出的一点是待及格学生的管理办法,这一点十分新颖,这样的管理办法很好的避免了平时清闲考前加急的现象,能让我们把功夫下在平常。我非常支持,但是还是不希望自己成为这里的一员。

二、学习课前准备,掌握学习方法

  1. 课前准备:老师所提的前四个要求,我们在上学期期末就应该都做到了。
  2. 学习方法:积极主动敲代码,使用JUnit学习Java这篇文章让我告诉了我一个非常不错的实践代码的方法,就是敲书上的代码,从我C语言的学习经历来看,学习编程实践真的必不可少,而书的确是一个非常方便的实践工具;通过学姐学长们整理的问题博客学习,也是一个很好的办法,可以让我少走许多弯路,避免犯同样的错误;后面的文章比较有趣的是最绿色最高效,用win+r启动常用程序和文档让我很好的利用起了win+r组合键。

三、学习教材一、二章

第一章

Java平台

  1. java最早叫做oak,生日公认是1995.5.23。
  2. java SE分为:JVM(虚拟机)、JRE(执行环境)、JDK(工具,包括JRE)、Java语言
  3. 其他的Java平台有:庞大的Java EE、小型的Java ME,有不同的适用方向。
  4. JCP委员会保持了Java的跨平台优势
  5. 学习Java的一条路径:
  • 深入了解JVM、JRE、JDK;
  • 理解封装、继承、多态;掌握常用Java SE API;(以上三种后续应该有更深入的了解)
  • 学习容器观念:书上的说法我还是没有理解,于是在这篇博客中Java 容器的概念我得到的更形象的解释,更能理解林老师的解释:

    Web容器是Servlet/JSP唯一认识的HTTP服务器,是使用Java撰写的应用程序,运行于JVM之上。

  • 研究原始码项目
  • 学习设计模式与重构:这一点感觉类似于算法,就是根据经验找到合理的编程算法。
  • 熟悉相关开发工具:我选择跟着课本来使用NetBeans IDE。

JVM/JRE/JDK

  1. JVM详解:实质上是操作系统,充当翻译官的角色,将 .java 文件翻译成.class使Java程序完成跨平台(JVM的可执行文件就是 .class文件)
  2. 区分JRE与JDK:JDK包括了Java程序语言、工具程序与JRE,JRE则包括了部署技术、Java SE API与JVM。

JAVA SE的组成
3.安装JDK:

第二章

从Hello World开始

  1. 一个简单的Hello World程序分为以下几步:
  • 定义类:定义关键词(public class)+类名称(HelloWorld)
  • 定义区块,用“{}”
  • 定义main(),也就是程序的进入点
  • 撰写描述
    大体上与C语言的模式类似。
    2.path:环境变量,分为用户环境变量、系统环境变量(优先执行),计算机会在输入指令后沿着这些path寻找可执行文件。
    未设置path成功编译

    设置完成path并成功编译

    3.classpath:就是JVM系统的path,搜索的可执行文件为 .class 文件
    也可用“.”来表示先搜索所在文件夹,如 “.;(某地址)”

搜索.jar文件时可以直接描述文件地址+文件名来找。如果编译时需要使用其他类链接库,必须指定classpath。

管理原始码与位码文档

  1. 将.class文件和.java文件分开管理:用-source指定从某文件夹找源文件,而-d指定了编译完成的位码存放文件夹
  2. 使用package管理类:
    表示Console类将放在cc.openhome.util类下,也就是说Console这个类将放在cc.openhoome.util包(package)

IDE的使用

  1. 选择了NetBeansIDE
    简单的HelloWorld程序

  2. -version变量可以显示执行的JRE版本;-verbose变量可以确认位码文档的版本号。

在windows下安装git并托管代码

主要参考了胡东晖学长的博客使用git推送代码到开源中国以及IDEA环境下使用git

成功安装git

成功托管代码

码云界面

一些问题

  1. 还是希望能听听老师对容器的讲解。
  2. 我比较困惑的一点就是我们的参考书中全部使用的是Windows系统在学习java,而老师推荐的是linux系统,如果是自主学习的话还是跟着书本上来学要方便一些,但是不知道用Windows学习会不会比Linux学习效果差?
  3. 对于“类”这个定义不理解。
  4. 为什么double类型的数值进行运算得不到“数学上精确”的结果?
  5. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
  6. 为什么不可以说实现接口的子类从接口那里继承了常量和方法?
  7. 何为多态的扩拓展性?
  8. 受检异常是怎么产生副作用的?
  9. 如果对象无法操作Comparable怎么办?
  10. 字符处理装饰器有什么作用?
  11. 由于线程无法取得锁定时为什么会造成阻断?
  12. 接口的定义,默认方法和静态方法有什么区别?
  13. 应该怎么理解API?
  14. 为什么调用channel的write方法之前必须调用buffer的flip方法?
  15. java如何实现国际化?
  16. 用户无法提供 JDBC URL、名称、密码时,该如何取得connection
  17. 静态、动态代理的区别
  18. 如何实例化enum。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 33/33 1/1 18/18
  • 附上脚本运行图(此图为第二周运行脚本结果,第一周为33行)

参考资料

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

  1. 20155306 2016-2017-2 《Java程序设计》第九周学习总结

    20155306 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 Java语言访问数据库的一种规范,是一套API ...

  2. 20155236 2016-2017-2 《Java程序设计》第九周学习总结

    20155236 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 结束autocad异常进程

    近日在做CAD自动化数据处理,程序在服务器上运行,运行时间长了会发生异常“autocad application 已停止工作”,这个时候需要通过守护程序去重启CAD, 通过CMD命令“@taskkil ...

  2. HDFS 2.7.4中hdfs-site.xml参数未配置引发的一些异常

    生产上部署了HDFS 2.7.4,最近遇到了一些异常,记录下来备忘: 一.dfs.datanode.directoryscan.throttle.limit.ms.per.sec DataNode运行 ...

  3. 安卓测试【二】eclipse离线安装ADT

    为什么要配置ADT呢?这就相当于在eclipse里插入插件,可以编译android的相关程序. 为什么要离线呢?一个字,快!我在线装了一个下午的ADT,不是报错就是慢的跟头老牛似的. 所以我在网上下了 ...

  4. localStorage/cookie 用法分析与简单封装

    本地存储是HTML5中提出来的概念,分localStorage和sessionStorage.通过本地存储,web应用程序能够在用户浏览器中对数据进行本地的存储.与 cookie 不同,存储限制要大得 ...

  5. 【Python】zlib压缩文件

    import zlib import os ss = 's' * 1024 * 1024 #写入原始文件 file = open("src.dat", "wb" ...

  6. LeetCode题解之Unique Paths II

    1.题目描述 2.问题描述 使用动态规划算法,加上条件检测即可 3.代码 int uniquePathsWithObstacles(vector<vector<int>>&am ...

  7. WordCount系统分析与设计作业

    Gitee项目地址 https://gitee.com/gitdq/homework psp表 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 10 10 · ...

  8. innodb 表锁和行锁

    表锁  表锁相关结构: table->locks:数据字典table保存这个表上的所有表锁信息 trx->lock.table_locks:每个事务trx保存该事务所加的所有表锁信息 tr ...

  9. Prometheus Node_exporter 之 Node Exporter

    Node Exporter 1. Node Exporter Scrape Time type: GraphUnit: secondsLabel: Seconds{{collector}} - 各个收 ...

  10. Prometheus Node_exporter 之 Network Sockstat

    Network Sockstat proc/net/sockstat 1. Sockstat TCP type: GraphUnit: shortLabel: SocketsTCP_alloc - 已 ...