Rumah Java Javabermula jdk和jre的区别

jdk和jre的区别

May 25, 2020 pm 02:59 PM
jdk jre

jdk和jre的区别

jdk和jre的区别

1. 定义

JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。

JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提 供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。如果你下载并安装了JDK,那么你不仅可以开发Java程序,也同时拥有了运 行Java程序的平台。JDK是整个Java的核心,包括了Java运行环境(JRE),一堆Java工具tools.jar和Java标准类库 (rt.jar)。

推荐:《java学习

2. 区别

JRE主要包含:java类库的class文件(都在lib目录下打包成了jar)和虚拟机(jvm.dll);JDK主要包含:java类库的 class文件(都在lib目录下打包成了jar)并自带一个JRE。那么为什么JDK要自带一个JRE呢?而且jdk/jre/bin下的client 和server两个文件夹下都包含jvm.dll(说明JDK自带的JRE有两个虚拟机)。

记得在环境变量path中设置jdk/bin路径麽?老师会告诉大家不设置的话javac和java是用不了的。确实jdk/bin目录下包含了所有的命令。可是有没有人想过我们用的java命令并不是jdk/bin目录下的而是jre/bin目录下的呢?不信可以做一个实验,大家可以把jdk /bin目录下的java.exe剪切到别的地方再运行java程序,发现了什么?一切OK!(JRE中没有javac命令,原因很简单,它不是开发环境)那么有人会问了?我明明没有设置jre/bin目录到环境变量中啊?试想一下如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需 要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的 java.exe添加到了系统变量中,验证的方法很简单,去Windows/system32下面去看看吧,发现了什么?有一个java.exe。

3. 难点

如果安装了JDK,你的电脑就有两套JRE(JRE本身和JDK中的JRE),前面这套比后面那套少了Server端的Java虚拟机。

(1)为什么Sun要让JDK安装两套相同的JRE?这是因为JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe 等),而且都放置在/lib/tools.jar里。如果我们将tools.jar改名为tools1.jar,然后运行javac.exe,显示如下结 果:Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/Main。这个意思是说,你输入javac.exe与输入java -cp c:/jdk/lib/tools.jar com.sun.tools.javac.Main 是一样的,会得到相同的结果。从这里我们可以证明javac.exe只是一个包装器(Wrapper),而制作的目的是为了让开发者免于输入太长的指命。 而且可以发现/lib目录下的程序都很小,不大于29K,从这里我们可以得出一个结论。就是JDK里的工具几乎是用Java所编写,所以也是Java应用 程序,因此要使用JDK所附的工具来开发Java程序,也必须要自行附一套JRE才行,所以位于JDK目录下的那套JRE就是用来运行一般Java程序 的。

(2)如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在java.exe身上。java.exe的工作就是找到合适的JRE来运 行Java程序。java.exe依照以下的顺序来查找JRE:1)自己的目录下有没有JRE;2)父目录有没有JRE;3)查询注册表: [HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment]。所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。

(3)JDK-->JRE-->Bin目录下有两个文件夹:server与client,这是真正的jvm.dll所在。 jvm.dll无法单独工作,当jvm.dll启动后,会使用explicit的方法(就是使用Win32 API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位 于jvm.dll所在目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目录下的jvm.dll。

4. 最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。

Atas ialah kandungan terperinci jdk和jre的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menjalankan fail jar di Linux Bagaimana untuk menjalankan fail jar di Linux Feb 20, 2024 am 10:40 AM

Prasyarat untuk menjalankan fail JAR Menjalankan fail JAR pada sistem Linux memerlukan pemasangan Java Runtime Environment (JRE), yang merupakan komponen asas yang diperlukan untuk melaksanakan aplikasi Java, termasuk Java Virtual Machine (JVM), perpustakaan kelas teras, dsb. Banyak pengedaran Linux arus perdana, seperti Ubuntu, Debian, Fedora, openSUSE, dll., menyediakan perpustakaan perisian pakej JRE untuk memudahkan pemasangan pengguna. Artikel berikut akan memperincikan langkah-langkah untuk memasang JRE pada pengedaran popular. Selepas menyediakan JRE, anda boleh memilih untuk menggunakan terminal baris arahan atau antara muka pengguna grafik untuk memulakan fail JAR mengikut keutamaan peribadi anda. Pilihan anda mungkin bergantung pada kebiasaan dengan cangkerang Linux dan keutamaan peribadi

Cara memasang Java pada Windows 11 Cara memasang Java pada Windows 11 Apr 13, 2023 pm 09:22 PM

Walaupun terdapat sejumlah besar aplikasi yang muncul sekali-sekala, Java kekal sebagai salah satu bahasa pengaturcaraan yang paling banyak digunakan dan penting. Banyak aplikasi bergantung pada Java pada sistem pengendalian Windows, dan mengemas kininya bermakna meningkatkan prestasi dengan menyediakan kestabilan dan keselamatan untuk aplikasi Java berjalan dengan selamat. Anda juga boleh memasang Java pada platform Linux dan macOS. Satu-satunya perbezaan adalah pakej/fail untuk setiap platform. Kini, dengan Windows 11, sudah tiba masanya untuk memuat turun Java dan dalam artikel hari ini, kami akan membawa anda melalui langkah mudah untuk memasangnya pada peranti anda. Versi Java yang manakah harus saya muat turun? Versi Java yang anda muat turun

Adakah pangkalan data oracle memerlukan jdk? Adakah pangkalan data oracle memerlukan jdk? Jun 05, 2023 pm 05:06 PM

Pangkalan data oracle memerlukan jdk. Sebabnya ialah: 1. Apabila menggunakan perisian atau fungsi tertentu, perisian atau perpustakaan lain yang disertakan dalam JDK diperlukan 2. Java JDK perlu dipasang untuk menjalankan program Java dalam pangkalan data Oracle; menyediakan Membangunkan dan menyusun fungsi aplikasi Java 4. Memenuhi keperluan Oracle untuk fungsi Java untuk membantu melaksanakan dan melaksanakan fungsi tertentu.

Analisis contoh proksi dinamik Java JDK Analisis contoh proksi dinamik Java JDK Apr 30, 2023 pm 01:16 PM

1. Jelaskan bahawa Java menyediakan kelas proksi dinamik Proksi bukanlah kelas yang kita panggil objek proksi, tetapi menyediakan kaedah statik (newProxyInstance) untuk mencipta objek proksi untuk mendapatkan objek proksi. 2. Instance publicclassHelloWorld{publicstaticvoidmain(String[]args){//Dapatkan objek proksi ProxyFactoryfactory=newProxyFactory();SellTicketsproxyObject=factory.getProxyObject();proxyO

Tutorial JDK pemasangan sistem Linux Deepin Tutorial JDK pemasangan sistem Linux Deepin Feb 15, 2024 pm 12:36 PM

Sistem Deepin Linux ialah sistem pengendalian domestik berdasarkan kernel Linux Ia mempunyai ciri-ciri kestabilan, keselamatan, dan kemudahan penggunaan Dalam sistem Deepin Linux, memasang JDK (Java Development Kit) adalah langkah yang perlu untuk membangunkan aplikasi Java artikel akan memperkenalkan secara terperinci cara Memasang JDK dalam sistem Deepin Linux. Langkah pemasangan: Buka terminal sistem Deepin Linux. Gunakan baris arahan untuk memuat turun pakej pemasangan JDK Perintahnya adalah seperti berikut: ``shellsudoapt-getinstallopenjdk-11-jdk`` Tunggu muat turun selesai dan sistem akan memasang JDK secara automatik. Untuk mengesahkan sama ada JDK berjaya dipasang, masukkan arahan berikut: ```javaj

Di manakah direktori jdk linux? Di manakah direktori jdk linux? Mar 22, 2023 am 09:52 AM

Direktori linux jdk berada dalam direktori bin Kaedah carian khusus ialah: 1. Cari direktori pelaksanaan javad melalui arahan "whereis java" 2. Cari fail pautan melalui fail pelaksanaan; /etc/alternatives/java" Hanya jalankan arahan untuk mencari direktori pemasangan.

Bagaimana untuk memasang tutorial pemasangan jdk-jdk Bagaimana untuk memasang tutorial pemasangan jdk-jdk Mar 04, 2024 pm 05:10 PM

Baru-baru ini, ramai rakan bertanya kepada saya bagaimana untuk memasang jdk Seterusnya, mari kita pelajari semua tentang cara memasang jdk. 1. Mula-mula muat turun fail pemasangan JDK dan masukkan antara muka pemasangan JDK, seperti yang ditunjukkan dalam rajah. 2. Klik butang "Seterusnya" untuk memasuki antara muka pemasangan tersuai JDK, seperti yang ditunjukkan dalam rajah. 3. Adalah disyorkan untuk memilih untuk memasang terus ke direktori lalai dan klik butang "Seterusnya" untuk memasang, seperti yang ditunjukkan dalam rajah. Anda juga boleh mengklik butang "Tukar" untuk memilih direktori pemasangan sendiri. 4. Selepas pemasangan selesai, antara muka akan muncul dan klik butang "Tutup", seperti yang ditunjukkan dalam rajah. Di atas adalah semua tutorial tentang cara memasang jdk yang dibawakan oleh editor saya harap ia dapat membantu semua orang.

Bagaimana untuk mengkonfigurasi persekitaran jdk dalam sistem Linux Bagaimana untuk mengkonfigurasi persekitaran jdk dalam sistem Linux May 12, 2023 am 09:31 AM

Langkah berikut adalah untuk menggunakan persekitaran jdk dalam sistem Linux 1. Muat turun pakej pemasangan jdk 2. Cipta folder jdk pemasangan baharu (/usr/local/java/jdk) cd /usr/localmkdir/usr/local/javalocal direktori dan cipta cd direktori java baharu /usr/local/javamkdir/usr/local/java/jdk Buat direktori jdk baharu cd/usr/local/java/jdk3 Muat naik pakej pemasangan jdk ke linux4. Format penyahmampatan: Nama selepas nama pakej termampat tarzxvf boleh hanya Masukkan huruf awal dan gunakan kekunci Tab

See all articles