SORU
14 Ocak 2009, ÇARŞAMBA


Java "Sanal Makine" vs Python "Tercüman" dilinde?

Bir Python "" "sanal makine" sürekli kullanılır. Java süredir sanal makine okumak çok nadir görünüyor. Her iki bayt kodlarını yorumlama, neden bir sanal makine ve diğer tercüman diyorsun?

CEVAP
14 Ocak 2009, ÇARŞAMBA


Sanal makine herhangi bir belirli bir dil bağımsız desteklenen iyi tanımlanmış atom talimatları, belirli bir sanal bilgisayar ortamı ve genellikle kum, kendi başına bir düşünce. VM ise benzer bir komut kümesi belirli bir CPU ve eğilimi için iş yerinde bir daha temel düzeyde çok temel yapı taşları gibi talimatları (veya bayt kodlar) bağımsız gelecek. Bir yönerge sanal makine mevcut durumu dayalı kararlı yürütür ve bilgi talimat akışında başka bir yerde zaman içinde bu noktada bağlı değildir.

Tercüman diğer taraftan ise daha kültürlü olduğunu ayrıştırmak için özel bir akış bazı sözdizimi yani belirli bir dil ve belirli bir gramer olmalı deşifre bağlamında çevre belirteçleri. Başına her bayt, hatta her satırı bir bak ve bir sonraki ne yapacağını tam olarak bilemezsin. Dil simgeleri onlar gibi izole talimatları (bayt kodlar) bir VM göre alınabilir.

Java derleyicisi byte-kod akışı bir C compiler derleme kod C Dil programları dönüştürür farkı yok içine Java dili dönüştürür. Öte yandan bir tercüman çok iyi tanımlanmış herhangi bir ara form haline dönüştürme programı değil, sadece kaynak yorumlama sürecinin bir mesele olarak program eylemleri sürüyor.

Bir VM ve tercüman arasındaki fark başka bir test dil bağımsız olarak düşünmek ister. Java VM olarak bildiklerimiz gerçekten Java özgü değildir. JVM üzerinde çalışan byte kodları neden diğer dillerden bir derleyici yapabilirsin. Öte yandan, gerçekten "" Python yorumlayıcısı tarafından yorumlanması için. Python içine başka bir dil Python dışında derleme aklımızdan bile sanmıyorum

Yorumlama süreci gelişmişliği nedeniyle, bu oldukça yavaş bir süreç olabilir....özellikle Dil ve simgeleri, vb tanımlama ayrıştırma. ve yürütme girişebilmek için kaynak bağlamında anlayış içinde yorumlayıcı süreç. Böyle yorumlanan diller hızlandırmak yardımcı olmak için, bu önceden ayrıştırılmış, pre-tokenized kaynak kodu daha kolay doğrudan yorumlanır Ara formlar tanımlayabiliriz. İkili form bu tür hala yürütme zaman yorumlanır, sadece performansını artırmak için çok az insan tarafından okunabilir bir form ile başlıyor. Ancak, bu mantık yürütme biçimi değildir bir sanal makine, çünkü o kodlar hala olamaz alınan izolasyon - bağlam çevresi simgeleri yine de önemli değil, onlar sadece artık farklı bir bilgisayar daha verimli formu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Developers

    Android Deve

    9 Kasım 2007
  • Machinima

    Machinima

    17 Ocak 2006
  • William Sledd

    William Sled

    24 EYLÜL 2006