【java基础篇】——环境变量问题

前言

        看了两次java视频,时隔几月,我已经把看第一遍视频里学到的东西忘得差不多了。第一次看的时候我就没怎么认真看,jdk安装和环境变量配置这一块就没有好好学,配置的时候也是问贵贵的。可是过了那么久发现自己编写的java小程序根本就跑不动。心想就这么看着,例子不敲也没多大关系,可是后面开了师徒会,师父说她看视频的时候每一个例子都敲,师父可是很厉害的,可见她是学得特别扎实的,所以我不得不逼着自己敲例子。可是问题还摆在那里,先前安装的jdk和运行环境都出了问题,只能卸了重装。因为这些安装包都是从别人那拷的,我甚至是不知道该装哪一个或几个。突然觉得自己真的是什么都不知道。又倒回去从第一章看起,自己到oracle官网下了最新版本的jdk安装包,同时也把api文档下了。


环境变量配置

        一开始很担心出错,所以每一步都小心翼翼,可是我实在是太菜了,后面还是出错了。于是卸了又装,又回去看了一遍配置那一块的内容。可是自己还是糊里糊涂的配置,于是在运行HelloWorld的时候出错了。

首先是这个错误。

                                                        


        开始觉得是环境变量错误,可是经过几次折腾,确定这不是环境变量的错误。又不知道怎么解决,本着自己能解决的思想,自己上网查了,一开始查到的都是说敲错代码了,可是我很确定我没有敲错。最后发现这不是代码敲错的问题,而是编辑器设置的问题。不知道是之前JavaScript的时候设置的,还是后面升级编辑器后恢复到默认设置,反正就是出错了。


       原因就是我的编辑器中用的UTF-8(带BOM)编码.java源文件,在没有指定编码参数(encoding)的情况下,默认使用GBK编码。当编译器用GBK编码来编译UTF-8文件时,就会把UTF-8(带BOM)编码文件的文件头的占3个字节的头信息,按照GBK中汉字占两个字节,英文占1个字节的特性解码成了“乱码”的两个汉字。


       具体设置为:设置——首选项——新建——UTF-8(无BOM)

【java基础篇】——环境变量问题_第1张图片


        最后这个问题解决了,对于UTF的了解可以查看:点击打开链接


       后面就编译成功,在文件下成功生成HelloWorld.class 文件。

但是后面在运行java的时候又出错了,找不main方法或主程序。怎么到了java这里连Hellwold都这么难运行呢。又到了网上查了是classpath的问题,觉得晚上讲的是什么路径的问题,可是我都不知道这是什么文件的路径,觉得很模糊,又回去看了一遍视频。发现这个不是jdk的安装路径,也不是什么运行环境的安装路径,而是我编译HelloWorld.java的时候所生成的HelloWorld.class的文件路径。而开始配置的path环境变量,放的是jdk的安装路径。总算明白了。


环境变量和java

        有没有觉得很奇怪,之前学的VB、c++/C#什么的都不用配置环境变量,偏偏到了java这里就要。那环境变量又是什么呢?它有什么用呢?它和java有什么关系呢?查了查,大概是这样的,我也是大概了解。


         环境变量和操作系统是存在紧密联系的,说到操作系统的时候,大家应该不陌生,现在说的这个操作系统大概就是我们电脑上的windows操作系统,百度百科上说,环境变量是指在操作系统中用来指定操作系统运行环境的一些参数。如:临时文件位置和系统文件夹位置。比如说我们编辑word文档的时候,它也会自动保存到一个默认文件夹,这个效果应该就是环境变量的作用。百度了一些path这个单词,是“路、路径”的意思,path环境变量也就是路径环境变量,或许就是一个指定程序运行的路径,它可以根据程序的安装路径,引导一个程序的运行。所以当用户想更好的运行进程的时候,可以设置环境变量。


         自己编写的java程序,也应是同样的道理,从.java生成.class,最终运行的是.class,所以要有一个classpath路径来引导程序运行哪个进程,如果classpath设置的路径不对,当然找不到主程序或main方法了。


总结

        塞翁失马焉知非福,折腾了两天晚上的HelloWorld,虽然花的时间比较多,但是经过自己去探索,发现自己学到的东西不少。忽然觉得,学习中,即便是一个HelloWorld也要好好研究,因为这是后面学习的基础,也说不定哪一天也会从"菜鸟"变成"大鸟"呢!


你可能感兴趣的:(【java基础篇】——环境变量问题)