首页 > 编程语言 >Java环境的搭建

Java环境的搭建

时间:2023-06-21 22:07:49浏览次数:49  
标签:JRE java 环境 http Java com JAVA 搭建

首先我们应该对 JDK,JRE,JVM 有所认知,下面这个图就可以清晰的表述他们的关系:

JDK,JRE,JVM 的关系

Java环境的搭建_JAVA

一个更复杂的图:这是 J2SE 1.5  具体功能图表,在图的左边,我们可以清晰的看出哪些是JVM的范畴,哪些是JRE的范畴,哪些是JDK的范畴。

Java环境的搭建_java_02

Java程序的执行逻辑

下面图演示的是如何打造一个个性化的Java启动器,这对我们理解Java执行的逻辑很有帮助。下图是以Window环境打造个性化的Java启动器的例子。

Java环境的搭建_Java_03

最常见的启动器是Sun在Java Runtime Environment的/bin目录中提供的启动器,就Windows平台而言,它们是java.exe和javaw.exe。前者运行时打开两个窗口:一个是接收System.out/err和启动器输出的控制台窗口,另一个是Java程序本身的窗口;javaw运行时不打开控制台窗口。

在J2SE/EE平台中,虚拟机以动态库的形式实现,也放在/bin目录下。动态库的名字在Windows中是java.dll,在Unix中是java.so。所谓“装入虚拟机”,就是指装入这个动态库。

找这个动态库的逻辑是依次按照下面搜索先后顺序去寻找:

  • 先找当前目录下有没有JRE
  • 再找父目录下有没有JRE
  • 接着在PATH路径中找JRE
  • 注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\ 查看CurrentVersion的键值指向哪个JRE(这当然是windows下特有的。)

这不像 .Net ,.Net 引入了全局应用缓存(GAC),一台机子,一个版本的 .Net Framework 就只有一套,就在GAC中,不用考虑这个寻找逻辑。

 

JRE 类库的寻找

JRE自带的基础类库主要是JRE\lib\rt.jar这个文件,包括了Java2平台标准版的所有类库。和JRE的版本一致。

JRE中由ClassLoader负责查找和加载程序引用到的类库,基础类库ClassLoader会到rt.jar中自动加载,其它的类库,ClassLoader在环境变量CLASSPATH指定的路径中搜索,按照先来先到的原则,放在CLASSPATH前面的类库先被搜到.

Java程序启动之前建议先把PATH和CLASSPATH环境变量设好。OS通过PATH来找JRE,确定基础类库rt.jar的位置。JRE的ClassLoader通过CLASSPATH找其它类库。

 

 

JDK 的安装

http://java.sun.com/javase/downloads/index.jsp 下载最新版本 JDK。 下载后安装。
Windows 下安装完毕后需要设置三个环境变量

JAVA_HOME

指明JDK安装路径,就是刚才安装时的路径C:\Program Files\Java\jdk1.6.0_19,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse,ant 等都需要使用此变量)

PATH

Path使得系统可以在任何路径下识别java命令,设为:

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

CLASSPATH

CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

(要加.表示当前路径)
%JAVA_HOME%就是引用前面指定的JAVA_HOME。

Linux 下则是要做如下设置(以我使用的 ubuntu 为例):

下载完后,我们就开始安装了。(我们假设下载后的文件名为jdk1.6.bin)
在命令行下打开其所在文件夹,打chmod u+x ./jdk1.6.bin   (更改可执行权限:u 表示该档案的拥有者,+ 表示增加权限,x 表示可执行)
然后./jdk1.6.bin
看到协议,一直敲Down键或者Enter键(协议还挺长的)
最后看到
Do you agree to the above license terms? [yes or no]
寻问是否接受,当然是打y 回车拉~
然后就看到它解压缩
解压缩完后的默认文件名是jdk1.6.0
接着打
sudo cp –r  jdk1.6.0 /usr/     (cp -r : 递归持续复制,用于目录的复制行为。)
把它复制到usr目录里去
好了,到这里就只差配置环境了
export JAVA_HOME=/usr/jdk1.6.0
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
打vi ~/.bashrc  (vi 的命令参看:http://yanxi.bokewu.com/blog93673.htm
进入用户环境变量配置界面中,把上面的三行加入到最后,ESC,:wq
保存并退出
这样JDK就算配置好了~

参看:
http://forum.ubuntu.org.cn/viewtopic.php?f=44&t=174375
http://forum.ubuntu.org.cn/viewtopic.php?t=39742
http://www.360doc.com/content/08/1012/12/61497_1749889.shtml
http://forum.ubuntu.org.cn/viewforum.php?f=70

 

之后我们就可以写一个超简单的java程序。

依次: javac Test.java

java Test

来测试是否可以正常运行。

 

Eclipse 中我们也可以设置JDK的版本,

在我们的项目上右键Properties –> Java Compiler中将 –>  Compiler compliance level 设成我们需要的版本即可。

需要注意的是:Eclipse不自带jdk,它只需要jre就可以运行(不需要javac),因为它自带编译器(plugin目录里有compile包)。

在运行时,则是由于JRE安装时已经在环境中添加java这个命令(无论windows还是Linux),eclipse便利用它启动startup.jar。但如果只用jre,因为没有源代码,eclipse就不能根据源码生成库中type的注释了。

 

如何查看当前Java运行环境的版本?

在命令行下面使用 java -fullversion 可以对当前版本的。

 

参考资料:

JDK,JRE,JVM,三者的区别与联系
http://www.blogjava.net/jzone/articles/271115.html

SDK、JDK、JRE和JVM的关系总结

初步总结CLR和JRE运行机制
http://developer.51cto.com/art/200910/158035.htm

如何让java运行在指定版本的JRE中。
http://hi.baidu.com/blueleopard/blog/item/cd46d4f9e5b91e5c252df286.html

怎样运行JAVA程序
http://wenwen.soso.com/z/q131473345.htm

java程序运行机制及运行过程

关于JDK

打造个性化Java启动器
http://www.pconline.com.cn/pcedu/empolder/gj/java/0404/346719.html

Linux系统下运行JAVA程序 JRE安装和配置
http://tech.ddvip.com/2007-08/118717162731923.html

JDK、JRE、JVM之间的关系
http://www.cjsdn.net/post/view?bid=1&id=9965&sty=1&tpg=1&age=0

JDK下载安装及其环境变量配置
http://www.svn8.com/java/pz/20080531/729.html

Eclipse的编译器和Sun的javac还真不太一样
http://www.javaeye.com/topic/318996

Eclipse设置项目jdk的问题
http://tech.ddvip.com/2008-12/122855371598107.html

标签:JRE,java,环境,http,Java,com,JAVA,搭建
From: https://blog.51cto.com/u_15588078/6532053

相关文章

  • Ubuntu 下 Tomcat 的搭建
    请首先确认JDK安装成功。环境变量都设置正确! 1、下载最新版本Tomcat下载地址:http://tomcat.apache.org/download-60.cgi 我下载的是稳定版本:http://apache.freelamp.com//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz 2、解压缩$sudotarzxvfapache-to......
  • Ubuntu 下 JDK 的搭建
    1、下载最新版本的JDK,我是从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载的,这里网速真慢。我下载的是:JavaSEDevelopmentKit6u21 jdk-6u21-linux-i586.bin 这个文件。 2、解压缩在命令行下打开其所在文件夹,打chmodu+x./jdk-6u21-linux......
  • 【Java技术专题】「攻破技术盲区」带你攻破你很可能存在的Java技术盲点之动态性技术原
    @目录带你攻破你很可能存在的Java技术盲点之动态性技术原理指南编程语言的类型静态类型语言动态类型语言技术核心方向反射API反射案例介绍反射功能操作获取构造器长度可变的参数-构造方法使用反射API获取参数长度可变的构造方法获取Field域使用反射API获取和使用静态域和实......
  • Java catch多重异常捕获
    摘要:Java中多重异常捕获机制可以更加简洁、有效地处理多个异常,提高了程序的鲁棒性,是编写高质量代码的重要技巧之一。  小编在《浅谈Java异常处理机制》中梳理了异常处理机制,在《Java异常处理try、catch、finally和return执行顺序》中介绍了异常处理时,try、catch、finally和ret......
  • 腾讯云COS搭建个人视频点播服务
    随着个人视频文件越来越大,上传到云盘的话,下载太慢了,在线观看又非常慢,于是本文将介绍您使用腾讯云COS做视频点播服务:1、开通COS服务 2、创建COS存储桶 3、设置COS权限关于COS权限方面,如果是自己使用,建议私有读写,防止地址泄露后,文件被读产生流量费用及文件隐私泄露。 ......
  • 如何在 conda 环境中使用 pip 进行安装?
    有时候Conda中没有某个模块,但是pip中有,这时候就需要用到这里的技巧了。在conda环境中使用pip进行安装可以通过以下步骤完成:1、激活你的conda环境打开终端(命令提示符)并输入以下命令:condaactivate<环境名称>将<环境名称>替换为你要激活的conda环境的名称。2、安装pip(......
  • Mac 如何找到PATH环境变量设置在哪里了?
    1、判断是否在PATH中设置了某个目录?打开一个新的终端窗口,然后使用以下命令来验证PATH变量中是否有?echo$PATH2、常见的配置文件在macOS中,PATH环境变量通常是在Shell配置文件中设置的。常见的Shell配置文件有.bash_profile、.bashrc、.zshrc、.profile等。进入你的用......
  • 搭建一个自用的端到端加密服务器 - 以 Matrix-Conduit 为后端
    Conduit是一个用Rust编写的、支持基础的Matrix协议的服务器后端。不建议用在生产环境中,因为功能真的很少,只支持基础的加密聊天、语音视频、文件分享,文档又少。如果买了小内存机、想弄一个自用的端到端加密聊天服务器的可以试试。注意:它要求glibc版本在2.29以上,所以至......
  • java中如何检测死锁
    首先创建一个程序,写两个线程publicclass死锁{privatestaticfinalStringlock1="lock1";privatestaticfinalStringlock2="lock2";publicstaticvoidmain(String[]args){Threadthread1=newThread(()->{......
  • tomcat config java option
    https://stackoverflow.com/questions/53230473/set-a-basic-java-option-on-tomcathttps://docs.oracle.com/cd/E40518_01/integrator.311/integrator_install/src/cli_ldi_server_config.htmlFollowTomcatconfigurationrecommendationsUpdatesetenv.batwithadding......