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. 【node+小程序+web端】简单的websocket通讯

    [node+小程序+web端]简单的websocket通讯 websoket是用来做什么的? 聊天室 消息列表 拼多多 即时通讯,推送, 实时交互 websoket是什么 websocket是一个全新 ...

  2. 有关正则表达式的Js方法(replace)

    整理一下最近常用的几个有关正则的js方法 replace 语法:stringObject.replace(regexp/substr,replacement) 用法1 const str='abc13 ...

  3. python实现分页插件

    class Pages: def __init__(self, current_page, data_count, per_page_count=10, pager_num=7):#pager_num ...

  4. Android网络编程系列之HTTP协议原理总结

    前言 作为搞移动开发的我们,免不了与网络交互打交道.虽然市面上很多开源库都封装的比较到位,我们实现网络访问也轻车熟路.但还是十分有必要简要了解一下其中的原理,以便做到得心应手,也是通往高级开发工程师甚 ...

  5. ionic插件安装与卸载

    使用下面的命令查询.安装.卸载插件: $ ionic plugin list //列出所有已安装插件 $ ionic plugin remove 插件名 //先根据上面的list列出插件,然后根据插件 ...

  6. python 流程控制(while)

    1,while基本语法 2,while else语句 1,while基本语法 n = 1 while n<10: print n n += 1 2,while else语句 n =10 whil ...

  7. 分享几款常用的MySQL管理工具

    MySQL数据库以体积小.速度快.总体拥有成本低等优点,深受广大中小企业的喜爱,像我们常见的MySQL管理工具都有那些呢?下面给大家推荐六个常用的MySQL管理工具!      phpMyAdmin  ...

  8. 用LinkedList

      >用LinkedList模拟栈集合MyStack >MyStack测试类   用LinkedList模拟栈集合MyStack import java.util.LinkedList; ...

  9. MySQL案列之主从复制出错问题以及pt-slave-restart工具的使用

    今天主从复制遇到一个问题,主库上插入了几百行万数据,后来又删除了这些数据,原因就是主库删除的表从库中不存在,导致从库在遇到删除不存在表的错误无法继续同步. MySQL [(none)]> sho ...

  10. 为什么ConcurrentHashMap的读操作不需要加锁?

    我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题--为什么它不需要加锁呢? ...