充电时间:JDK和JRE

2017-09-04 张学人 爬虫俱乐部 爬虫俱乐部

大大大大大新闻————自公众号推送视频讲解环节以来,深受广大读者朋友的喜爱。近日向我们提问的粉丝也是大幅增加呐!为了便捷管理相关信息,提高工作效率,我们对提问方式做了略微调整哟~提问者需点击推文底部“阅读原文”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~

每日一签

致  独一无二的你


4

九月

星期一

伟大的心灵,

在这个世界更喜欢独白,

自己与自己说话。 

——叔本华

在我们从各种渠道下载外部命令时,有的程序不止是ado和sthlp文件,还会有JAR包,这是因为命令在运行的时候使用了java代码对数据进行了处理,很多小伙伴并不熟悉关于java的基础知识,今天我们以图为主,详细地讲讲java的JDKJRE、环境变量的二三事,让大家再遇到类似命令时不再一头雾水。

一次编译,到处运行的java

提到学习Java,恐怕大部分人的第一课就是下载jdk以及配置环境变量,如果再听取老司机的介绍,安装eclipse等集成开发环境,大约会被折腾得不要不要,此时很多人都会有一个疑问,为什么我们运行java代码需要提前安装JRE

任何一种程序语言,都需要通过一个叫编译器的东西将代码编译为1010001这样的二进制代码才能在电脑中运行,由于电脑操作系统不同等问题,往往需要各种编译器来适配。

Java语言为了一劳永逸地解决这一问题,设计了JVM(java virtual machine   Java 虚拟机),它在电脑中构建一个虚拟的设备模仿电脑的行为,java的编译器只需要将java代码编译成可以在虚拟机中运行的二进制代码,而用户在安装 java虚拟机后即可运行所有编译完成的java代码,正是所谓java的“一次编译,到处运行。”

而我们在前面的推文所说的JRE,主要包含两个部分,一个是JVM(Java Virtual Machine)称为java虚拟机,另一个是java代码的基础类库,它包含了java代码中很多常用函数和方法。因此当我们安装了JRE,也就相当于在电脑中设置了可以使java运行的虚拟机,而当我们运行java程序时,本质上是在虚拟机中运行,只是运行完后传出到我们的计算机里。

JDK与JRE的关系

JRE(Java runtime environment)称作Java运行环境,在上一节中已经介绍了其大致情况,如果你只是想在电脑中运行java程序,就像我们使用jsonio命令一样,那么只需要安装JRE即可。而如果你想在电脑中编写、调试、编译Java代码,则需要安装JDK(Java Development Kit)java 开发工具包,JDK自带了JRE的所有内容,并且包含着java语言的编译器(将代码编译成虚拟机理解的二进制代码),JAR(打包工具,将java代码打包发布运行) 等等在程序开发时需要用到的东西。因此JDKJRE是前者包含了后者的关系,后者是前者的一部分。

JDK—环境变量配置

在我们安装好JDK后,还需要为其配置其环境变量,首先右键我的电脑->属性->高级系统设置->高级->环境变量->系统变量->path。

在其中添加所安装的jdk的bin目录,比如用户所安装的jdk目录是C:\Program Files\Java\jdk1.8.0_91,如下图所示:

该目录下,首先有一个储存编译器等重要组件的bin目录,也有一个jdk自带的jre包,即jre目录,我们要把这两个目录都添加到环境变量中。简要地说,jre目录负责运行java程序,bin目录里的组件负责开发java程序。

(如图所示,bin目录下有编译java代码的javac.exe,运行java程序的java.exe,也有负责展示java窗口的javaw.exe,后两者在jre中也存在)

(如 图所示,jre中也有java.exe和javaw.exe,它们都是运行java程序所需要的组件,java希望jre和jdk可以分开使用,运行 java程序就用jre,开发java程序就用jdk,但是有些jre的组件也为开发所需要,因此这些组件就会重复出现在两个文件夹中)

首 先我们在下方系统变量中创建新变量JAVA_HOME,并令其为C:\Program Files\Java\jdk1.8.0_91,然后在上方的用户变量的Path中添加%JAVA_HOME%\bin   以及 %JAVA_HOME%\jre\bin,这样一来,环境变量就配置好了。先设置JAVA_HOME是为了我们书写方便,系统在环境变量中遇 到%string%的类型时会自己将其替换为系统变量指代的目录内容(在这里即是C:\Program Files\Java\jdk1.8.0_91)

那么,为什么JDK的安装后需要添加环境变量?JRE的安装后就不需要了呢。

要回答这个问题,首先要知道,环境变量是什么,环境变量是存储在计算机中的一组路径名,如图所示:

当java代码需要编译成二进制代码时,系统会首先搜索当前目录内是否有javac.exe(java语言的编译器),如果没有,则会搜索所有环境变量里的地址里有没有该程序,所以当我们声明了JDK所在目录为环境变量后,系统就可以在寻找编译器、打包工具时自动找到JDK所在的目录,然后调用其中的程序运行。而JRE的安装包会自动将相关文件安装在C:\Windows\system32这个文件夹下,它本身是系统默认的一个环境变量,因此就不需要在安装jre后再次声明环境变量。

什么?!没看懂!!不要紧!!戳下面,听爬虫小将的详细讲解,也欢迎大家的批评指正哟!



以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

                        文字编辑:王   明

技术总编:刘贝贝



往期推文推荐:

1.高校学术大神:你的导师上榜了吗?

2.中国高校财经、管理与综合类期刊灌水排行榜

3.命令sum2docx输出统计量表到docx文件

4.reg2docx报告你的实证结果吧!

5.爬虫俱乐部又出新命令了——wordconvert转换你的word文件

6.putdocx+wordconvert—将实证结果输出到Word.docx)文档

7.Stata 15Markdown——没有做不到,只有想不到!

8.矩阵和宏的故事

9.shelloutopen anything

10.Putpdf--神奇的转换工具



关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部

微信扫一扫
关注该公众号