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. Windows7安装 nginx+php 后访问.php文件出现 “No input file specified.” 的解决办法

    在Windows7上安装了Nginx+PHP,参考教程为 https://www.cnblogs.com/anlia/p/5916758.html 启动 nginx 后,在浏览器中输入localhos ...

  2. Nginx的介绍

    1.什么是NGINX: Nginx是一个开源的,支持高性能的.支持高并发的web服务软件和代理服务软件,它是由俄罗斯人lgor Sysoev开发的 Nginx具有高并发(特别是对于静态资源)占用系统资 ...

  3. 用ContentProvider获取通讯录联系人

    手机中的联系人数据实际是保存在数据库中的,但Android并没有让我们通过操作数据库去读取数据,而是通过一个ContractProvider这个应用提供了一个ContentProvider访问接口. ...

  4. 机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析

    机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析 关键字:Apriori.关联规则挖掘.频繁项集作者:米仓山下时间:2018 ...

  5. Mbps Mb M Kb如何换算

    在传输单位的写法上,B 和 b 分别代表 Bytes 和 bits,两者的定义是不同的,具体换算公式如下:1 Byte = 8 bits 1 Kb = 1024 bits 1 KB = 1024 by ...

  6. 移除jboss响应中的中间件信息

    JBoss 4.2 Suppressing the X-Powered-By header in JBoss 4.2.x can be done by modifying the web.xml fi ...

  7. python模拟自动登录网站(urllib2)

    不登录打开网页: import urllib2 request = urllib2.Request('http://www.baidu.com') response = urllib2.urlopen ...

  8. PHP 定界符

    双引号和单引号是常用的字符串定界符,在php4.0以后 还可以使用字符串定界符<<<,功能和双引号差不多,用法如下 <<<标识符 字符串 标识符 其中最后的标识符必 ...

  9. 【转】Nginx学习---深入浅出Nginx的介绍

    [原文]https://www.toutiao.com/i6595428119933354500/ Nginx是一款轻量级的Web服务器.反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在 ...

  10. IOS和安卓不同浏览器常见bug

    一.IOS自带safari浏览器 1.safari不支持fixed.input输入框 iOS下的 Fixed + Input 调用键盘的时候fixed无效问题 拖动页面时 header 和 foote ...