积跬步,聚小流-------简单说配置环境变量

知其然,不如知其所以然,这个道理其实很多人都懂,只是得到鱼简单,而学会渔就要付出代价了,终究不是那么简单的,可能这就叫做成长吧。

看过很多关于java的培训书籍,像什么从入门到精通,像什么21天学会等等,事实上我也是从这个开始接触java的,就像开了一扇门,从此一发不可收拾的沦陷。

记得书中最开始都会讲JDK的安装和环境变量的配置,于是就会照搬书上的方法,安装,然后配置JAVA-HOME,CLASSPATH,PATH,然后我去编写自己的第一个“hello world”,还能模糊想起最初成功的欣慰,但是每次重新安装的时候还是不得不百度下步骤,要加些具体的什么东东来,实在是记不住,重复安装的次数多了,也慢慢发现了些规律,也明白了一些原理。

首先,发现的规律是什么呢?

* JAVA_HOME只是个代名词,是来代替JDK的安装路径的

至于为什么要代替,隐约感觉静态属性的使用目的也是这么个吧,方便修改是肯定的了,另一方面,java中我们经常用一个字符串标识来代替一长串字符,这个原因我们更可以接受了,方便编写,避免路径太长需要写太多遍字符,从而造成出错几率变大,想想数据库的避免冗余,也就更明白了。

当然在查询过程中,还听说一种说法是方便第三方引用,至于怎样引用的具体事宜,个人道行还有点浅....

这样我们知道了JAVA_HOME的定义,然后呢,就是CLASSPATH和PATH了,这又是什么原理呢?

其实,我们能很容易查到,PATH是功能路径,具体什么意思呢:我们按照我们配置的变量路径来寻找,会很容易发现bin下和jre-bin下都有javac和java的.exe执行文件,还记得这个场景么(如下图)

这样是不是可以理解PATH了呢,就是去哪里找要执行文件,这样理解就简单多了吧。

那剩下的就只有CLASSPATH了,在想这个问题之前,我们来回忆这么一个问题,java是如何运行的呢,或者说java是一种什么类型语言呢?

想必这个大都还能记得,.java文件编译成.class文件,然后虚拟机将.class文件转化成机器码嘛。(说到这里,总能记起最开始将java文件全部放进服务器的尴尬场景,汗)

至于后面的PATH我们想想也能知道是路径的意思了,然后CLASS你能知道什么意思么,哈哈

这里想要强调一点,路径前面的“.;”千万不要忘记了,这个点的意思是告诉JDK,从当前目录找起,至于是为什么呢,据说是LINUX的安全机制引起的,暂时还是不懂,还是道行浅啊,姑且这么记吧。

这样再来看环境变量的配置,还会感觉麻烦么,它又是来干什么的,明白些了么,我是这么理解的,你说呢。

时间: 2024-10-13 01:42:25

积跬步,聚小流-------简单说配置环境变量的相关文章

不积跬步无以至千里----高度自适应的textarea

在某个项目里面,有这样的一个小需求. textarea的高度自适应,当高度高于300px之后,textarea高度不再增高,出滚动条.当高度小于某个高度例如80px的时候,高度不再变小. 其实这个需求在很多地方都有出现过,例如微博的评论框,还有各种评论框. 谈不上什么有难度的技术,写下来当一个小插件积累. <!doctype html> <html> <head> <meta charset="utf-8"> <title>高

技术成长-不积跬步无以至千里

走在开发的道路上,你会发现越走路越长,越走路上的坑越多.本人是想在成长的道路上多踩一些坑的,踩的坑越多,遇到问题解决速度越快.坑多了,可能自己都记不住了,就需要记一记,有些时候你遇到的坑采用的解决办法并不是最优解,所有需要拿出来跟小伙伴一起分享分享你的经验. 记录到比如印象笔记或者有道云笔记里,或者自己的一个文件夹里,不过,个人经验,记在文件夹后很少有人再去看,还是记在印象笔记或者有道云笔记里,可以帮助自己随时翻看.现在的流程是重要的时候记录在有道云笔记上,做个索引,然后印象笔记记录的是我再找对

如何简单的在linux上安装jdk并配置环境变量

这篇文章是为了给我一会自己安装的时候方便使用的,所以内容很简单,平时在wendows系统上安装很容易,但是换到linux系统上面就蒙圈了. 一.下载jdk文件 我这提供的是官方的地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.如果你已经下载好了之后就可以跳过这步.下面是我下载的图片 ? 下载完成后你得到了 ? 我们将这个文件随便放在linux的什么目录都可以. 二.解压j

不积跬步无以至千里(C语言笔记)

第一章 初始C程序 1.C程序结构 简单来说,一个C程序就是由头文件和函数组成 头文件 一条编译预处理命令:作用是在对C程序进行正式编译之前应该做一些预处理工作 函数 就是实现代码逻辑的一个小的单元. 注:在最新的C标准中,main函数前的类型为int而不是void 2.必不可少之主函数 一个C程序有且只有一个主函数,即main函数 C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入门 main前面的int就是主函数的类型(C程序一定是从主函数开始的) printf()是格式输

积跬步,聚小流------关于手机号,前端应该注意哪些

现代的网上商城中越来越多的开始使用手机注册,方便,快捷,然后作为前端,也就不可避免的要在界面上碰到关于手机号的问题,今天小小总结一下该注意哪些问题,又该来如何实现呢? 1.实现效果 先把自己当前做出来的效果传上来看下: (备注:这里的手机号码是我随便输了一个,如果真有这个号码受到了骚扰,别怪我啊,噗噗...) 2.需要注意的问题 这里我们来简单罗列下需要注意的问题吧: * input输入框,只能输入数字: * 输入过程中下方同步显示所输入的内容: * 判断输入手机号是否格式正确: * 判断手机归

积跬步,聚小流-------几种方法实现分割线

其实这个问题想了实现了有一段时间了,只是单纯自己想了个办法简单实现了效果,没想出太多办法来,最关键的是,我也不知道这原来是叫"分割线",只知道是什么样,连搜都不着知道怎么搜,赶巧今天碰到了,就学习了下,先来描绘下要实现的"分割线"效果. 对,就是这个效果,记住了,这叫"分割线"... 最开始反应过来的是层叠起来实现效果,也是之前一直在用的方法 <hr width="80%"/> <div style=&quo

积跬步,聚小流------Bootstrap学习记录(3)

响应式作为Bootstrap的一大特色.栅格系统可谓是功不可没,既然如此,那我们就来看一下栅格系统是怎样帮助bootstrap实现响应式布局的呢? 1.什么是栅格系统 我们能够从Bootstrap的官网上找到比較官方的回答:Bootstrap提供了一套响应式.移动设备优先的流失栅格系统,随着屏幕或视口(viweport)的添加,系统会自己主动分为最多12列. 它包括了易于使用的提前定义类,还有强大的mixin用于生成更具语义的布局. 这样的说法是比較精准并且明了的.可是还能够更通俗一点的来解释:

积跬步,聚小流------oracle便捷修改整行数据

随着知识了解的越来越多,也越来越多的发现了自己的不足,简单记录下这次学到的知识吧. 尽管项目中都是用的oracle,但是实际上对于oracle的应用却不是很足,比方说,如果我查一个表中的数据,例: 这时候的这两条数据是我录入的测试数据,现在我想进行删除操作,可能我很快就能想到相应的sql语句: delete from arc_tobaccotechnician where name like '%是否%' 首先说这是对的,并且是非常快捷的,但是如果测试数据的共同点并不是那么好找呢,或者其它sql

积跬步,聚小流-------js实现placeholder的效果

前几天在"技术问答"上问了问题,然后有回复一句话就给概括了:placeholder的效果,不得不说,了解的多了才能说起来言简意赅,用最简单的语言描述最清晰的表达. 但是placeholder属于html5新添加的属性,兼容性还存在问题,查阅思考后,用js实现了它的实现效果. 先来看一下实现效果: 输入密码的时候 这就实现了效果了啊,然后呢,你发现上下图的区别了么,是不是一下子就想到了实现的方法,是的,就这么简单,来简单说一下是实现的原理: 在"登录邮箱"下,放两个i