知 识 点
一、初步了解JAVA
二、认识和设置环境变量
三、了解JAVA程序的开发过程
四、一些辅助工具使用.
一、初步了解JAVA
特点:跨平台性。 JAVA属于先编译解释,然后执行的一种程序设计语言。
和我已经学习的过的C语言做了下面的比较。
.JAVA 源文件编译 -------> .CLASS 字节码文件 --------> 运行环境:JVM。
JVM包括软,硬件。也就是一个平台上的.CLASS的解释程序和可以直接解释
运行.CLASS的硬件,如JAVA-CPU。
.C 源文件编译 -------> .O/OBJ 目标文件 --------> 运行环境:OS。
OS也就是当前要运行的的C程序所在的操作系统。
其实两个都有跨平台性。
相同点:代码跨平台,也就是源文件可以跨平台。同一份文件拿到相应的平台上都可以编译运
行。
JAVA我不是很清楚,但是C的话呢,在不同地方用的编译器以及其版本的不同
可能会使得代码不一定能通过编译,但是应该是非常少的。
不同点:C编译后的二进制CPU指令文件不能跨平台,一个平台下的目标文件拿到其他平台下
最多只能连接,但是连接后能不能运行就不知道了。而JAVA所编译后的CLASS只要
在有能解释它的地方都能运行。
综合一下,两个都有跨平台,JAVA要比C更敏捷,更容易实现。可以说JAVA是很吃的开的。
而C的话呢,很受平台欢迎,但是适应性稍差了点。就我所知道的,C更面向系统底层,还可
以嵌入汇编,高效精简。JAVA面向高级应用。C可以在没有操作系统的地方运行,也就是嵌入
式单片机开发,JAVA的话,只要有CLASS解释的硬件的话也没问题。在嵌入式C应该是更系统
全面,JAVA的话主要是应用吧。暂时就知道这么多。以后还会知道更多的。
--------------------------------------------------------------------------------------------------------
二、认识和设置环境变量
老师说,这是一个循序渐进的过程,或许你开始你想碰到这样的问题还没资格。很幸运,我一开
始就发现JAVAC找不到,刚好练练手^.^ 环境变量的知识还要在以后的生活工作中去学习,练习,思
考。“操作系统的环境变量”字数太多,对于追求效率的程序员,以下简称操作系统-OS和操作系统环境
变量-OSVAR
理解OSVAR
看视频的时候老师只说了一句,反复听了几次,但是还是不是很明白。于是百度一下,到处看
了看。然后就自己给了个定义。
OSVAR:当前OS下会被OS和用户所使用可编辑的相关的参数的集合。该集合被分类存放并
且给予一个名称。
说白一点,就是大量参数的集合,这些参数有系统用的,也有用户编辑和使用的,而且这些大
量的参数还被分类整理,并且每一类给了一个名字,这个名字就是环境变量名,而类中的集合
就是该变量名的值。
可以用C来比喻:C文件--用户; H文件--变量; *(H文件)--变量的值。
C 根据具体情况操作H,不同H有不同的类容。
某一个具体的环境变量是什么东西
要知道一个环境变量是什么东西,那就要看它里面的值(参数)是些什么东西,是拿来干什么
用的?或者到网上搜一下,会得到更多更全面的信息。
查看OSVAR ------> WINDOWS下CMD里输入set 即可。其他OS我就不知道了。
查看一个OSVAR----> 在CMD里输入:set OSVAR名字。
set前后可空格,osvar前至少一个空格,后面不能有任何字符。
第三次查看的时候,变量命后输入了空格,空格被当成变量名字一部分,但是这样的变量命
是没有的,所以提示没定义。
WINDOWS下的另一种查看方式:我的电脑---->右键属性---->高级选项卡里。
环境变量的基本操作。
在图像界面下打开环境变量对话框后,会有 "新建" "编辑" "删除"3个操作,分别就是创建
一个新的环境变量,选中一个已经有的环境变量后对其进行编辑修改,删除一个环境变量。
CMD下怎进行上面三个操作呢?
新建: set 变量名=值
set后第一个不是空格的合法字符开始到“=”为止的所有字符,都是变量的名字。
“=”起第一个字符开始所有合法字符都是值,什么字符是不合法的要在实践中
去接触,接触到了就知道那些是不合法的,那么剩下的都是合法的。
(什么都不输入除外,马上你就会明白)
编辑:set 变量名=修改值。
删除:set 变量名=空 空的意思就是无输入,只要输入一个已经存在的变量名然后紧跟
一个“=”,就会删除这个变量名。
其实在CMD下三个操作可以看成是一个操作,只是当SET后的变量名如果已经
存在,那“=”后的值就是对该变量的修改,而当变量名不存在的时候,那就是
创建一个新变量,而当“=”什么都没有的时候,那就删除当前变量。看图见真相吧。
先查看了一下原有的变量,然后查看一个已知的变量,然后查看一个不存在的,然后创建
它,再查看一次,修改它,再查看,删除,再查看。嗯···就是这样了。
注意!!!!!
在CMD下执行的一切可以改变环境变量的操作只对现在所在的CMD起作用。再开一个CMD,
或者关掉现在的再开一个,之前的一切操作的效果全部消失。就像C里的局部自动变量
只在当前函数里存在,离开了就没有了,再次进入如果不重新定义还是没有一样。
系统环境变量对所以用户可用,用户变量只对当前用户可用;修改的用户变量必须注销后
才对以后的改用户起效。
PATH
在OS里,这个变量的值是路径。查看这个变量会看到一大堆路径。我们在CMD里输入的
所有的命令以及要执行的文件都会在这个路径里面找,以找到的第一个名字一样的为准。
但是只找文件名不找扩展名。
PATHEXT
查看PATH变量的时候会附带的看到这个值,后面是一大堆扩展名,表示的是我们在CMD
输入的东西的默认扩展名,系统会先尝试按顺序使用这些扩展名。如果都不行,那就打不开。
所有CMD下输入的东西,是在PATH里找文件名。找到第一个名字一样并且尝试使用默认
扩展名。但是如果我们在CMD里把文件的扩展名一起输入,又能找到,那就很好了。
CLASSPATH
变量值都是路径。这个变量是使用JAVA运行CLASS文件时用的,JAVA会在变量值包含的路径
里去找我们编译出来的CLASS文件,只会在这个值里找,不会去其他地方的。
老师的 “;”。
老师的视频里,在一个已经存在的CLASSS文件的目录下访问这个CLASS文件的时候
CLASSPATH变量的值没有包含这个文件夹的路径,并且最后一个值后面没有分号。
那么JAVA在找CLASS的时候在这些路径找完后没有的话就不找了,就提示找不到。
但是加了个分号就又可以在当前目录找到了。在老师看来是SUN的一个小问题。但是我
也有我的看法,我觉得不是SUN的问题。就是一个分号应用的问题。
我认为,在环境变量值的设置里,分号就是变量里每个值的分割符,如果最后一个值没
有分号,那就表示访问该变量的对象访问到最后的这个值后就停止了,完全结束该对象的
所有访问,并且向用户提交结果。但是有了个分号的话,那就表示分号后面还有一个值,
之所以不写,那应该是一个默认值,这个默认值应该就是当前目录。只要最后一个值后
还有分号,那就表示在找完变量里的值后,最后再在当前目录找一下,找完了后才彻底的
结束查找,提交结果。
‘.’是本目录的路径值,把‘.’加入CLASSPAH里面,那么JAVA在找到‘.’这个值的
时候就会在当前目录下查找。
所以,我觉得在CLASS最后一个值后加一个分号和加上分号再接着一个点或者是一个分号
一个点再一个分号都是一样的。
我的这种猜测,想法还要在以后去验证,我先兼容我现在的观点个老师的观点吧。以后都
加一个分号一个点。
------------------------------------------------------------------------------------------------------
三、了解JAVA程序的开发过程
明确程序需求和功能等 》》 设计程序开发大纲思路 》》 编写JAVA源程序
》》 编译JAVA源程序直至通过 》》 调试CLASS或是直接生成的EXE等程序软件直至通过
》》 在JVM上使用 》》 长久的更新和维护
每一个程序和软件从诞生到使用以及更新和维护都是艰苦的,一个程序软件的一生伴随着无数
人的付出与收货,开心和难受等等等等。。。。。程序软件会消亡,但是他们产生的价值和影响
却在产生更多的价值和影响。。。。。
-----------------------------------------------------------------------------------------------
四、一些辅助工具使用.
FrontEnd---JAD -----> CLASS反编译工具。太邪恶了,,但是好有爱啊。
JDK---API 我现在的英语很不好。。
JDK---documentation 我今天去找了个JAVA SE 6的··以后英语能力不想提高都难了。
后面还有还多工具在等着我呢。
-------------------------------------------------------------------------------------------------
第一次写日记,以前没写过,感觉蛮累的了。不过厉害是很开心的^.^
今天晚上就看第二个视频了···