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 18th 2017 Week 33rd Friday

    If you shed tears when you miss the sun, you also miss the stars. 如果你因为错过太阳而哭泣,你也将会错过繁星. If you have ...

  2. javascript编译与运行机理(1)--

    随着学习js的深入就越想了解其内部的运行机理,看了很多文章,感觉下面总结的不错.但囿于个人水平,只是达到了理解层面,还不能提出自己的见解,只好把资料罗列出来,留待以后总结: 1.Javascript的 ...

  3. 用Web技术开发客户端(一)

    http://www.cnblogs.com/lefan/archive/2012/12/27/2836400.html 范怀宇(@duguguiyu)分享了<豌豆荚2.0重构时遇到的坑> ...

  4. python:定时任务模块schedule

    1.安装 pip install schedule 2.文档 https://schedule.readthedocs.io/en/stable/faq.html#how-to-execute-job ...

  5. 3109. [CQOI2013]新数独【DFS】

    Description Input 输入一共15行,包含一个新数独的实例.第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v).   Output 输出包含9行,每行 ...

  6. java反序列化Commons-Collections5分析

    BadAttributeValueException package org.lain.poc; import org.apache.commons.collections.Transformer; ...

  7. shell脚本执行

    方法一:切换到shell脚本所在的目录执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应 ...

  8. shell一次性执行多条命令

    1.每个命令之间用;隔开说明:各命令的执行给果,不会影响其它命令的执行.换句话说,各个命令都会执行,但不保证每个命令都执行成功. 2.每个命令之间用&&隔开说明:若前面的命令执行成功, ...

  9. 截屏状态监听 - iOS

    既接到电话状态监听的需求之后再次添加了截屏状态的监听,当使用 App 时若用户执行截屏操作需要对当前状态进行监听操作,下面有两种方法,其中可以替换截屏的图片内容(Plan A),也可以弹出提示框(Pl ...

  10. Druid手动设置参数错误

    在做Druid操作的时候,出现了小错误:但是总归是找到了,并且推一及三,以后学者高效解决问题: 严重: create connection errorjava.sql.SQLException: Ac ...