インタビュアー:サーバーがJDKやJREをインストールされていますか?あなただけのJREをインストールすることができますか?

実際に愛らしい通貨を見て尋ねられたとき最近、彼はこれらの最も基本的なの事前知識に準備ができていなかったので質問は、スカウトのインタビューの示す友だちと頼まれた問題があり、我々はこの問題を考慮していないので、答えではありませんうまく。この質問は、一部の学生が忘れているかもしれ、主なテストは、Javaの基本を理解することです。

実際には、多くのJavaプログラマはコードの多くを書いた後、あなたはJREとJDKの関係は何である彼に尋ねる、JVMは多くの人々が理解できないものです。

今度は、分析を見てみましょう:

まず、両方のコンセプトのもとに理解

JRE:英語名(Javaランタイム環境)、我々はそれを呼び出す:Javaランタイム環境これは、主に二つの部分、JVMの基準で構成され、いくつかの基本的なJavaクラスライブラリを達成します。これは、余分なJavaクラス・ライブラリの一部であり、相対的なJVM。

JDK:英語名(のJava Development Kit)、Javaの開発キットJDK Java開発は、JREといくつかの素晴らしいガジェットを統合コア、です。例えば:のjavac.exe、java.exeを、jar.exeが好きです。

明らかに、両者の関係は次のとおりです。包含関係。JDKは、JREが含まれます

生徒に注意を払う私たちのJDKのインストール後にCで、成功していることがあります:\プログラムファイル\ Javaディレクトリは、ケースになります(ここでは、私はのjdk1.8バージョンをインストール)

そこにJDKのサブディレクトリのJRE

どちらも、あなたとの間の接続は何互いのJREの異なるバージョンがありますか?

答案是:没有联系。甚至准确的来说,它俩是一样的,无论是用哪一个都是可以的。只是很多人习惯将会单独安装另一个 jre,虽然单独安装的 jre 也并没有被使用,原因可能就是刚开始大家都不清楚 jdk 和 jre 之间的关系,所以就默认的都安装上了。

在 jdk 的 bin 目录下,基本上都是一些可执行文件,并且它们还不大。其实这些可执行文件只是外层的一层封装而已,这样的目的是避免输入的命令过长。例如 javac.exe 内部调用的其实是 JDK 中 lib 目录中的 tools.jar 中 com.sun.tools.javac.Main 类,也就是说这些工具只是入口而已。而实际上它们本身又都是由 Java 编写的,所以在 jdk 目录下的 jre 既提供了这些工具的运行时环境,也提供了我们编写完成的 Java 程序的运行时环境。

所以,很明显,jdk 是我们的开发工具包,它集成了 jre ,因此我们在安装 jdk 的时候可以选择不再安装 jre 而直接使用 jdk 中的 jre 运行我们的 Java 程序。(但是大部分人都默认将两个都装上了)。但是如果你的电脑不是用来开发 Java 程序的,而仅仅是用来部署和运行 Java 程序的,那么完全可以不用安装 jdk,只需要安装 jre 即可。


服务器上是否只安装 JRE 就可以了?
-----------------------

另外一个问题,既然如此,那么在服务器上是否只安装 JRE 就可以了?

理论上是可以的,但是有前提条件。

服务器上只安装 JRE 的前提

  • 发布到服务器上时所有文件都是编译好的文件,包括 JSP 文件
  • 后期不在服务器上直接修改(因为导致修改后的文件未重新编译)

如果部署的项目都是编译后重新部署,不在服务器上直接修改的话是可以只安装 JRE 的。

注意:如果存在未编译的 Java 源文件,或者在服务器上修改源文件,服务器就需要安装 JDK。

在服务器上安装 JDK 的好处:

  • 可以编译 java 文件,方便后期维护
  • 保证 JSP 文件修改后稳定运行

综合考虑,为避免以后这样那样的麻烦事发生,服务器上还是安装 JDK 吧!毕竟项目后期维护才是主要的事情。

有了以上的分析,相信面试官再问你这样的问题你该知道怎么回答了吧。


正是金九银十跳槽季,为大家收集了2019年最新的面试资料,有文档、有攻略、有视频。有需要的同学可以在公众号【Java知己】,发送【面试】领取最新面试资料攻略!

面向对象编程,为什么这个对象我总是 new 不出来

おすすめ

転載: www.cnblogs.com/java-friend/p/11510468.html