第一周学习总结

20145335郝昊 《Java程序设计》第1周学习总结

教材学习内容总结

一、java基础知识

  1. java的历史

    java是由sun公司开发的应用程序的语言,首先称为oak,随后改名为java,1995年5月23日为公认的java的诞生日期。

  2. java的开发平台

    java的三大平台为java SE、java EE、java ME。java SE包括JVM、JRE、JDK与java语言,java SE是各平台应用的基础。java EE是以java SE为基础,适用于开分布式、多层次,以组件为基础,以web为基础的应用程序。java ME是作为小型数字设备上开发及部署应用程序开发的平台。

  3. java的标准规范

    java的标准规范,首先JCP java community process ,是一个开放性的国际性组织,目的是让java演进由sun的非正式主导。其次JSR java specification requests,任何想加入java的功能和特性,必须以JSR正式文件的方式提交,且通过JCP的投票通过,可成为最终的标准文件。若JSR成为最终文件后,必须根据JSR成果做出免费且开发原始码的参考实现,称为RI reference implementation,并提供TCK technology compatibility kit作为技术兼容测试工具箱。

二、JVM、JRE与JDK

  1. JVM的概念

    JVM java virtual machine 为虚拟机,简而言之对java程序而言,是一种唯一的操作系统,具有让java跨平台操作的要求,而且JVM负责了java程序的各种资源管理。

  2. JRE的概念

    JRE java runtime environment是java的执行环境,java程序在只要使用java SE API中的链接库,在安装JRE的计算机上可以直接运行。其中JRE包括java SE API 和JVM。

  3. JDK的概念

    JDK java development kit是编译java程序语言的工具程序。JDK包括了javac、appletviewer、javadoc等工具程序,对于要开发java程序的人,必须安装JDK,同时JDK本身包括了JRE,这样才能执行java程序。总之JDK包括了java程序语言、工具程序与JRE,而JRE则包括了部署技术、java SE API与JVM。

    OpenJDK 2009年4月15日正式发布OpenJDK,指定OpenJDK7为官方参考实现。但是注意,OpenJDK6并不是SunJDK6的分支,而是将OpenJDK7中删除了JDK7的特性,使之符合JDK6的规范,因而JDK6实际上是JDK7的一个分支。

三、PATH、CLASSPATH和SOURCEPATH

  1. PATH变量

    当输入一个指令没有指定路径信息时,操作系统会依照PATH环境变量中设定的路径顺序,依次寻找路径下是否有这个指令。所以PATH变量是用来让计算机的操作系统windows来指定寻找路径的指令。

  2. CLASSPATH变量

    对JVM来说,可执行文件就是扩展名为.class的文档。是一种操作指令,可用-classpath自变量是在启动JVM时候告知可执行文件.class的位置。

  3. SOURCEPATH变量

    src文件夹将用来放置原始码文档,这里使用-sourcepath指定从src文件夹中寻找原始码文档

教材学习中的问题和解决过程

在认真研读教材java学习笔记时候,对于自己一些知识的确是有一些漏洞。就对于java的基础来说就遇到了一下的几个问题:首先,在家里只知道配置PATH变量,但却不知道配置PATH变量的目的是为了什么,当看完教材的第一张相关知识的时候就知道,计算机windows操作系统会依次按照PATH的指定路径来寻找指令,如果配置了PATH变量在编译过程中会非常简单。

其次一开始对于JDK与JRE和JVM之间的关系并不是很清楚。后来经过看课本第一章中有关知识就知道了JDK包含了JRE,JRE中又含有JVM,这三者的包含关系。

最后还有对于利用windows提示命令框编译简单的java程序时候,所存在的问题,比如从c:Users到c:Uerssyt等需要加cd才可以跳转到指定文件加下

代码调试中的问题和解决过程

我先重新编译了“hello world”的简单的java语言,因为之前是用eclipse软件编译的,在安装完JDK后没有用命令符编译过,于是又从新编译了一遍。

编译成功的运行下结果。

首先遇到的问题是,在打开命令符后不知到如何跳转到所指定的文件夹,后来看教材知道了才用cd+下一级文件夹名称可跳转,但是只能一级一级跳转,若采用PATH变量或者CLASSPATH自变量会简便许多

其次遇到的问题是,找不到源代码所在的文件夹,在编辑java程序的时候找不到所对应的名称,看了书后发现代码储存在src的文件夹下,而且需要的文件格式必须为.class格式且类文件名必须和文本文档名字一致。

最后在用命令符编译“hello world”的程序时候,首先需要在记事本中编辑出相应的代码后,需要将记事本的格式改为.java的格式,因为看教材可以知道JVM虚拟机只读取.java格式的文件,在命令符中输入利用javac编译.java格式的文档,之后会生成一个.class文件,之后就可以编译成功。

下图为教材上的有关比较条件运算的java程序(运行成功的结果见右下角)

 

下图为教材有关位运算的java程序(运行成功的结果见右下角)

其他(感悟、思考等,可选)

因为在假期在娄老师的博客的指导下开始学习了部分的java知识,虽然也看过一些学习视频和学习资料,但是不是很完整,很充分。开学后发现还是有很大的差距的,在java编辑方面还是有很大的差距的,有些方面还需要很老师多多学习。

java还是一门电脑程序语言设计课程,还是需要自己多练习多编纂。

学习进度条

| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长| | -------- | :----------------:|:----------------:|:---------------: |:-----:| | 目标 | 5000行 | 30篇 | 400小时 | | | 第一周 | 180/200 | 2/2 | 20/20 | | | 第二周 | 300/500 | 2/4 | 18/38 | | | 第三周 | 500/1000 | 3/7 | 22/60 | | | 第四周 | 300/1300 | 2/9 | 30/90 | |

参考资料

原文地址:https://www.cnblogs.com/20145335hh/p/5244638.html