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

学习目标

- 了解Java基础知识【第一章】

Java是各应用平台的基础,Java分为三大平台:Java三大平台javaSE(标准版)、javaEE(企业版)、javaME(迷你版)想要学习其他的平台应用,就必须先以了解Java SE为基础。Java SE可以分为三个主要部分:JVM(虚拟机)、JRE(执行环境)、JDK(工具,包括JRE)与Java语言。Java编译时并不直接编译为相依于某平台的0、1序列,而是翻译成中介格式的位码。位码文档就是JVM的可执行文件。
只要使用Java SE API的链接库,在安装有JRE的计算机上就可以直接运行,无需额外在程序中再安装链接库,可以由JRE直接提供。

- 了解JVM、JRE与JDK,并下载、安装、测试JDK【第一章】

为了能够运行Java撰写好的程序,必须要有Java虚拟机。JVM包括在Java执行环境即JRE中,所以为了运行Java程序,必须安装JRE。如果要开发Java程序,必须取得JDK。因为JDK中包含了JRE及开发过程中一些必要的工具程序。

JVM会架构在Solaris、Linux、Windows各种操作系统平台之上,简而言之,JVM可以让Java跨平台。Java原始码扩展名为.java,经过编译程序翻译为拓展名为.class的位码。如果想要执行位码文档,目标平台就必须安装JVM。JVM会将位码翻译为相依于平台的机器码。且不同平台要安装专属该平台的JVM,而对于Java程序而言,只认识一种操作系统即JVM。

JRE是Java的执行环境,包括Java SE API与JVM。JDK本身包含JRE和其他一些工具程序。

- 了解PATH、CLASSPATH、SOURCEPATH的作用并会设置【第二章】

三种环境变量:

1. PATH:

当输入一个指令而没有指定路径消息时,操作系统会依照PATH环境变量中设定的路径顺序,依次寻找各路径下是否有这个指令。可以执行echo %path%来查看系统PATH环境变量中包括哪些路径信息。

2.CLASSPATH:

想在JVM中执行某个可执行文件(.class),就要告诉JVM这个虚拟操作系统到那些路径下寻找文档。在命令指示符中编译完HelloWorld.java之后,在同文件夹下会出现拓展名为.class的文件。这个文件才是JVM可执行的文件,应通过classpath(简写作cp)指定其可执行文件的路径.

java -cp C:\workspace;C:\classes HelloWorld

用" . "表示搜索类文档时包括目前文件夹。

用CLASSPATH设定JAR文档时,应将其当作是特别的文件夹,若有些类路径经常使用,也可通过环境变量设定。

3.SOURCEPATH:

为了解决原始码文档与位码文档放在一起的问题,用src和classes两个文件夹来分别存放原始码文档和编译好的位码文档(用-source指定.java文件存放的文件夹,用-d指定位码文档的存放文件夹)。之后就可以在“命令提示符”模式下,切换到总文件夹 进行编译:

java -sourcepath src -d classes src/(文件名.java)

可以制定-verbose自变量,有助于区分SOURCEPATH与CLASSPATH。

4.学习安装使用JDK、Noetepad++的注意事项:

首先时要注意JDK的安装位置。这个过程一定要按照书上的过程一步步来,因为很多时候的一个忽略就容易造成学习过程的反复。

Notepad++的编译功能更便捷,但由于安装时使用的语言是英文所以比较麻烦

注意:代码中的头文件名称必须和文件名保持一致包括大小写的问题。

- 初步使用IDE(推荐NetBeans),会编译、运行、调试简单的Java程序【第二章】

在新建项目并进行编译运行时应注意主类名称和具体要编辑的文件名称,下方会有错误提示,单击最左侧图标会有改正提示

安装并使用git的过程和感受

对于很多初学者来说,安装并不麻烦,困难的是后面的设置过程,我参考了胡东晖学长的博客要注意的是:一切安装结束开始传代码的时候,一定是对直接保存代码的文件夹进行操作,因为指令只能匹配该文件夹中的文件。至于一次传一个文件还是多个文件的指令博客中写的很详细,根据实际敲指令即可。对于过程中出现的种种问题学长的博客最后都有对应的解决方法,非常详尽,值得我们学习。

学习中遇到的问题以及由此了解到的相关知识

1.理解封装、继承、多态:

阅读完教材中的解释后还是一知半解,从百度上找到了一篇关于这三个特性的博客:
封装、继承和多态是面向对象程序设计的三个核心特性对这个问题有了一些浅显的理解,在后续的课程中也会注意这三个特性的应用。

2.什么是环境变量?怎么完善的使用?

linux配置java环境变量(详细)内容非常具体详细,操作起来很便捷。shell变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)用于不同的运算处理中的符号。

3。编程时总会遇到一个字“类”,类是什么?在编程中有什么具体的意义?
什么是类
纸上得来终觉浅,还需要再实践再体会。

4.对于java异常处理的一般原则和方法

5.接口与多态的理解和运用

6.Java的集合框架中的coleection与map的应用

7.API到底是什么,并行API如何使用,如何建立标准API架构

8.import是否会影响执行功能

9.java中调用注释的方法

10.java和c语言的语法如何互补学习并明确不同点

11.java的数据库建立和联系操作如何参考windows系统

12.对nio中的很多概念不清晰。参考浅析I/O模型

13如何解决局部变量的生命周期比对象短导致调用出错的问题

14.ArrayDeque为什么在操作栈堆的案例上比linkedlist要快

15.如何实现在各种API上对于多种类的实现Iterable接口的管理

16.Stream API的管道操作风格的具体含义是什么以及实际应用如何实现

17.为什么不建议用tostring()方法来显示时间信息

18.教材中的案例和教程均是在windows系统下完成,这样能达到学习java的要求吗?

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 9/9 1/1 20/20

参考资料:

百度经验-安装Notepad++教程

百度经验-Notepad++直接编译运行java代码

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

浅析封装、继承和多态

linux配置java环境变量(详细)

什么是类?

Java NIO:浅析I/O模型

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

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

    20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...

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

    20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...

  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. August 06th 2017 Week 32nd Sunday

    No words are necessary between two loving hearts. 两颗相爱的心之间不需要言语. No, I don't think so. Words may be ...

  2. August 03rd 2017 Week 31st Thursday

    A person has at least one dream, there is a reason to be strong. 一个人至少要有一个梦想,要有一个理由去坚强. Owning a dre ...

  3. 【2017.10.13 ROS机器人操作系统】ROS系统常用术语及资源

    ROS机器人操作系统是一种后操作系统,提供了类似于软件开发中使用到的中间件的功能. ROS: Robot Operating System 机器人操作系统 Package: 功能包 Stack: 功能 ...

  4. TCP/IP 协议图--计算机网络体系结构分层

    计算机网络体系结构分层   计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实 ...

  5. codeforces 812E Sagheer and Apple Tree(思维、nim博弈)

    codeforces 812E Sagheer and Apple Tree 题意 一棵带点权有根树,保证所有叶子节点到根的距离同奇偶. 每次可以选择一个点,把它的点权删除x,它的某个儿子的点权增加x ...

  6. CSS3动画中的位置设定问题

    水平居中的不同方法实现: position: absolute; margin: auto; left:; right:; position: absolute; left:%; -webkit-tr ...

  7. 【react】慕课网视频学习笔记

    1.JSX:语法糖,对语言的功能并没有影响,但更方便程序员使用,增强可读性. 2.jsFiddle:前端在线调试工具 3.为什么要把this额外声明成_self变量,因为window.setTimeo ...

  8. ethereumjs/ethereumjs-vm-5-vm对象

    1.运行文件 var Buffer = require('safe-buffer').Buffer // use for Node.js <4.5.0 var VM = require('./i ...

  9. HDU 3790(两种权值的迪杰斯特拉算法)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=3790 最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    ...

  10. idea 和 maven学习

    创建maven项目:http://www.cnblogs.com/wql025/p/5215570.html