20155203 2016-2017-2 《Java程序设计》第1周学习总结
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 |
参考资料: