Dalvik VM ile JVM arasindaki fark nedir? Nasil calisirlar? Bu soruya iyi cevap yazana Nucleon Software' den bedeva bir yazilim kazanacak.

soruldu: 26 Şub '12, 02:56

ahmettat's gravatar image

ahmettat ♦
1.1k132324
cevap kabul oranı: 42%

değiştirildi: 24 Nis '12, 05:27

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Dalvik VM ile JVM tamamen farli seyler. Calisma presinpleri benzer olsada yapilar tamamen farklidir. JVM esas olarak uzerinde calistigi isletim sistemi ile calistirilacak uygulama arasindaki bagimsizligi saglar. Bunun icinde javac ile tek bir Byte koda cevrilmis olan kodu her sisteme ozel yazilmis JVM kendi kural ve mantigi ile calistirir fakat benzer hatta buyuk olcude ayni davranisi elde eder. Dalvik VM ise dex kodu calistirir. Burada ki tek benzerlik Android gelistirme ortaminin Java byte kodu dex koduna cevirme yetenegi bulundugu icin Dalvik icin Java ile kod yazilabilmesidir. Yoksa aslinda Dalvik Java calistirmamaktadir. Ayrica JVM'in esas amaci olan ayni kodun baska isletim sistemlerinden calismasida Dalvik'in amaci disindadir. Dalvik VM'in gorevi her uygulamayi kendine ozel farkli bir kullanici ile Android'e ozel bir linux process i olarak calistirmaktir.

permanent link

cevaplandı: 27 Şub '12, 02:11

murat's gravatar image

murat ♦
1.9k21124
cevap kabul oranı: 17%

Burada konu ile ilgili Türkçe çok güzel bir makale var:

http://aaarkonusurum.blogspot.com/2011/12/derinlemesine-android-bolum-1.html

permanent link

cevaplandı: 26 Şub '12, 19:20

muharremtac's gravatar image

muharremtac ♦
5463
cevap kabul oranı: 0%

DVM’nin amacı en üst düzeyde üzerinde çalıştığı donanımları performanslı olarak kullanmaktır. Daha geniş düşünelim donanım, yazılım ve bunların hem birbirleriyle hem de karşılıklı olarak en verimli tarzda çalışması hedeflendiği için DVM icat edilmiştir. JVM java kodlarını doğrudan makine koduna çeviriyordu. DVM hassastır ve biraz daha seçici davranır. Gruplama yaparak makine koduna çevirme mantığında çalışır. JVM stack tabanlı çalışır. DVM ise register tabanlı çalışır. DVM register’lar üzerinde çalışması için tasarlanmıştır. Basit bir örneklerle anlatmaya çalışayım. Bir meyve bahçesi olsun. JVM‘ye bize bu bahçeden birkaç meyve getirir misin? Dediğimizde JVM bize o işaret ettiğimiz kısımdan meyve namına ne bulursa sepetine koyup getirir. DVM ise her meyve çeşidini ayrı ayrı sepetlerde bize sunar. Bu yaklaşım tarzı alt yapıda mikro cihazlarda çok önemli yönde performans artışına sebep olur.

alt text

Belli olmaz bakarsanız Java ileri ki sürümlerinde bu tarz derleme yapısını mikro J2ME için benimseyebilir. DVM, Android mobil cihazlarında ve diğer aygıtlarında register’ların hızlı ve verimli veri işlemesine olanak sağlarlar. Sözü şöyle bağlayayım DVM’nin tasarımı mikro cihazlarda JVM ‘ye göre daha hızlı ve daha performanslı çalışmaktadır.

permanent link

cevaplandı: 24 Nis '12, 05:52

mimaraslan's gravatar image

mimaraslan
2.2k6810794
cevap kabul oranı: 25%

değiştirildi: 27 Nis '12, 06:57

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,076
×6
×2
×1
×1

Soruldu: 26 Şub '12, 02:56

Görüntüleme: 3,499 kez

Son güncelleme: 02 Nis, 19:03

powered by BitNami OSQA