您的位置:首页 > 编程语言 > Java开发

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

2017-02-26 10:51 344 查看

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

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

首先是100分的构成,主要分为周考的总计60,实验的15分,团队项目(博客报告和课堂展示)25分。

其次是扣分项目,大概分为课堂表现、作业完成,如果态度端正的话,是不容易扣分的。

最后是加分项目,加分项目有非常多的种类,只要是积极学习都可以获得加分,比如积极写博客、极提出或回答问题,总之加分和减分关键在于态度,有一个好的态度这10分还是很容易得到的。

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

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

课前准备:老师所提的前四个要求,我们在上学期期末就应该都做到了。

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

三、学习教材一、二章

第一章

Java平台

java最早叫做oak,生日公认是1995.5.23。

java SE分为:JVM(虚拟机)、JRE(执行环境)、JDK(工具,包括JRE)、Java语言

其他的Java平台有:庞大的Java EE、小型的Java ME,有不同的适用方向。

JCP委员会保持了Java的跨平台优势

学习Java的一条路径:

深入了解JVM、JRE、JDK;

理解封装、继承、多态;掌握常用Java SE API;(以上三种后续应该有更深入的了解)

学习容器观念:书上的说法我还是没有理解,于是在这篇博客中Java 容器的概念我得到的更形象的解释,更能理解林老师的解释:


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



研究原始码项目

学习设计模式与重构:这一点感觉类似于算法,就是根据经验找到合理的编程算法。

熟悉相关开发工具:我选择跟着课本来使用NetBeans IDE。

JVM/JRE/JDK

JVM详解:实质上是操作系统,充当翻译官的角色,将 .java 文件翻译成.class使Java程序完成跨平台(JVM的可执行文件就是 .class文件)

区分JRE与JDK:JDK包括了Java程序语言、工具程序与JRE,JRE则包括了部署技术、Java SE API与JVM。



JAVA SE的组成

3.安装JDK:



第二章

从Hello World开始

一个简单的Hello World程序分为以下几步:

定义类:定义关键词(public class)+类名称(HelloWorld)

定义区块,用“{}”

定义main(),也就是程序的进入点

撰写描述

大体上与C语言的模式类似。

2.path:环境变量,分为用户环境变量、系统环境变量(优先执行),计算机会在输入指令后沿着这些path寻找可执行文件。

未设置path成功编译



设置完成path并成功编译



3.classpath:就是JVM系统的path,搜索的可执行文件为 .class 文件

也可用“.”来表示先搜索所在文件夹,如 “.;(某地址)”



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



管理原始码与位码文档

将.class文件和.java文件分开管理:用-source指定从某文件夹找源文件,而-d指定了编译完成的位码存放文件夹



使用package管理类:

表示Console类将放在cc.openhome.util类下,也就是说Console这个类将放在cc.openhoome.util包(package)



IDE的使用

选择了NetBeansIDE

简单的HelloWorld程序



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

在windows下安装git并托管代码

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

成功安装git



成功托管代码



码云界面



一些问题

还是希望能听听老师对容器的讲解。

我比较困惑的一点就是我们的参考书中全部使用的是Windows系统在学习java,而老师推荐的是linux系统,如果是自主学习的话还是跟着书本上来学要方便一些,但是不知道用Windows学习会不会比Linux学习效果差?

对于“类”这个定义不理解。

为什么double类型的数值进行运算得不到“数学上精确”的结果?

接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

为什么不可以说实现接口的子类从接口那里继承了常量和方法?

何为多态的扩拓展性?

受检异常是怎么产生副作用的?

如果对象无法操作Comparable怎么办?

字符处理装饰器有什么作用?

由于线程无法取得锁定时为什么会造成阻断?

接口的定义,默认方法和静态方法有什么区别?

应该怎么理解API?

为什么调用channel的write方法之前必须调用buffer的flip方法?

java如何实现国际化?

用户无法提供 JDBC URL、名称、密码时,该如何取得connection

静态、动态代理的区别

如何实例化enum。

学习进度条

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



参考资料

Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导

Java 容器的概念

使用git推送代码到开源中国以及IDEA环境下使用git
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: