Java sanal makinesi nedir ve Java ile ne ilgisi var?


1

Macbook Air cihazıma eclipse yüklemeye çalışıyordum. Yükleyiciyi çalıştırdığımda bu mesajı alıyorum

görüntü tanımını buraya girin

Diğer Uygulamalar gibi JVM'ye özel hiçbir resmi sayfa görünmüyor. "Install jvm" ı aradığımda " download java " sayfasına yönlendirildim.

Zaten bu sayfadan en son java'yı yükledim ama mesaj hala orada, bu da beni daha çok şaşırttı.

Sorular:

  1. JVM, Java'yı "her yerde" etkin hale getirmeyi amaçlıyorsa, en son Java'yı yükledikten sonra zaten yüklenmemiş mi?

  2. Google'da arama yaptığımda pek çok sayfa sunuyor, hiçbiri orijinal bir sayfa gibi jvmgörünmüyor, hatta java.com'da bile arama yapıyorum , ancak işe yarar bir şey çıkmıyor.

    Bu kadar popüler bir araç bulmak neden bu kadar zor ve JVM'yi indirmek için tam olarak nereye gitmeliyim?


Bu Java .... Araştırmanız ne gösterdi
Ramhound

1
@ranhound Java teknolojisi konusunda uzman olmayan biri için o kadar açık değil. Ek olarak, hatayı düzeltmek daha da az belirgindir. OSX için talimatlara bakmam gerekiyordu (Neyse ki Stack Overflow'taydılar )
DavidPostill

Yanıtlar:


5

JVM nedir?

Java Sanal Makinesi (JVM), Java bayt kodunu çalıştıran bir tercümandır.

Bir Java programını derlerken, çıktı Java bytecode'dur ve daha sonra yerel bir JVM'si olan herhangi bir bilgisayar tarafından çalıştırılabilir.

Java programlama dilinde, tüm kaynak kodları önce .java uzantılı biten düz metin dosyalarına yazılır.

Bu kaynak dosyalar daha sonra javac derleyicisi tarafından .class dosyalarına derlenir.

Bir .class dosyası, işlemcinize özgü bir kod içermiyor; bunun yerine bytecode'ları içerir - Java Virtual Machine'in (JVM) makine dili.

Java başlatıcısı aracı daha sonra uygulamanızı Java Virtual Machine örneği ile çalıştırır.

görüntü tanımını buraya girin

Java VM birçok farklı işletim sisteminde mevcut olduğundan, aynı .class dosyaları Microsoft Windows, Solaris ™ İşletim Sistemi (Solaris OS), Linux veya Mac OS işletim sistemlerinde çalışabilir.

Bir Bakışta Java SE HotSpot gibi bazı sanal makineler, uygulamanıza performans artışı sağlamak için çalışma zamanında ek adımlar uygular. Bu, performans darboğazlarını bulma ve sık kullanılan kod bölümlerini (yerel koda) yeniden derleme gibi çeşitli görevleri içerir.

görüntü tanımını buraya girin

Java Teknolojisi Hakkında Kaynak


Peki bir JVM'yi nasıl indirebilirim?

Java Runtime Environment (JRE), bir JVM içerir.

  • Sadece Java programlarını kullanıyorsanız, JRE yeterlidir.

Java Geliştirme Kiti, JRE'nin bir üst kümesidir (bu nedenle bir JVM de içerir). Ayrıca, bir derleyici gibi Java programları geliştirmek için gereken diğer araçları da içerir.

  • Java programları geliştiriyorsanız, JDK'yı indirmelisiniz.

Hem JRE'yi hem de JDK'yı http://www.oracle.com/technetwork/java/javase/downloads/index.html adresinden indirebilirsiniz.


Peki neden bir hata mesajı alıyorum?

Yüklemiş olduğunuz JVM sürümü, yüklemeye çalıştığınız Eclipse sürümü için çok eski.

Daha yeni bir sürüm elde etmek için, her ikisine de JVM içeren daha yeni bir JRE veya daha yeni bir JDK yüklemeniz gerekir.


En son java'yı bu sayfadan yine de yükledim ama mesaj hala orada

Sorununuz için olası bir çözüm, Java6'yı (Apple tarafından sağlanan) kaldırmak ve yalnızca sisteminizde Java7 kurulu olabilir. Bu yalnızca, eski Java6 sürümünün kurulması için çaresizce ihtiyaç duyan hiçbir uygulamanız yoksa geçerlidir.

Apple benzeri Java6 kurulumunu kaldırmak için bir Terminal açın ve:

sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

Bu adımdan sonra, sisteminizde yalnızca Oracle tarafından Java7 kurulu olmalıdır. Doğrulamak için başka bir terminal açın ve aşağıdakileri yapın:

java -version 

"Java sürüm" 1.7.0_XX "gibi bir şey göstermelidir, burada XX, Java7 kurulumunun güncel güncelleme sürümüdür. Değilse: bir sonraki adıma geçin.

Redefine JAVA_HOMEdeğişkeni "aktif" Java yükleme sisteminizde yer almaktadır nerede algılanmasına yardımcı olur, (Eclipse ve diğer geliştirici araçları ... gibi IDE desteklemek için). Bir terminal açın ve ( Not : önce XX yerine!):

sudo rm /Library/Java/Home

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_XX.jdk/Contents/Home /Library/Java/Home

Daha sonra, yeni bir Eclipse kurulumu sisteminizde Java7'yi algılamalı ve bu sürümle birlikte çalışmalıdır. Yüklü bir Eclipse'i, Eclipse'de gezinerek bu yüklemeyi kullanmak için değiştirebilirsiniz:

Preferences-> Java-> Installed JREs.

Sonra eski Java6 sistem girişini kaldırın ve Java7 adıyla yeni bir yol ekleyin (yukarıya bakın).

Java 7'ye kaynak yanıtı verdim ancak Eclipse , 1.6'nın bu ürün için MWiesner tarafından uygun olmadığını söylüyor


Bu komutları denedim ama işe yaramadı. Java 1.6'yı kaldırması gereken komutu çalıştırdıktan sonra java -version programını çalıştırdım ve hala java 1.6'yı gösterdim. Sonunda, kehanet sayfasından en son jdk dosyasını yükledim ve sürüm 1.8 oldu. Şimdi tutuluyor.
shenkwen

1

java geliştirme için JVM artı diğer şeyler bu JDK var http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html zaten sahip olduğunu göstermektedir ait bir ekran görüntüsü var O mesaj JVM 1.6, ancak 1.7 veya daha fazlasına ihtiyaç duyar. Fakat JDK'ya ihtiyacınız yok, oldukça büyük.

Ücretsiz java indirmeyi söyleyen bu bağlantı, JVM'nin
https://java.com/en/download/ adresini içerecektir . Diğer seçenek ise JVM ile geliştiricilere yönelik bazı araçları içeren JDK'dir. Sadece JDK'yı alabileceğinizden daha fazla geliştirici olmadığınız sürece JRE'ye ihtiyacınız var. Her iki durumda da JVM'yi alacaksınız.

Mac'in hangi bölümünün programlara dahil olduğunu öğrenin ve 1.6 sürümünü kaldırabiliyor musunuz bir bakın. Bu mesajı veren programın en son sürümü değil yalnızca java 1.6'yı görüyor gibi görünüyor. Yolunuzu kontrol edebilir echo $PATHve yolunuzda java versiyonunun ne olduğunu bulmaya çalışabilirsiniz.

bu komut gnuwin32'li pencerelerde çalışır

C:\Users\harvey>java -showversion 2>&1 | head -n 1
java version "1.8.0_11"

Sanırım linux veya mac üzerinde de çalışıyor

$ java -showversion 2>&1 | head -n 1
java version "1.8.0_11"

veya sadece java-showversion ile çıktının ilk satırına bakın, sürümü göreceksiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.