Platform bağımsızlığının anlamı nedir?
Java davasını ele alıyorum. Windows platformunda oluşturulan bir Linux üzerinde Java uygulamasını çalıştırabilir miyim?
Her iki işletim sisteminde de aynı (veya tam) bir programlama algoritması kullanabilir miyim?
Bence Dosya Türleri Videolar, Resimler, Belgeler vb.
Yazılımda platform bağımsızlığı, aynı kodu birden fazla platformda çok az değişiklik yaparak veya hiç değiştirmeden çalıştırabileceğiniz anlamına gelir.
Şeytan Ayrıntıda:
File.pathSeparatorin Java o zaman kodunuz hem Windows hem de Linux üzerinde çalışmaz. Bir programcı olarak, her zaman platformdan bağımsız seçeneği kullanarak bu şeylere dikkat etmeniz gerekir. taşınabilirliği önemsiyorsanız, farklı platformlarda düzgün bir şekilde test edin.
Özel Java durumunda:
Java kod, platformdan bağımsızdır , aynı Java uygulama) veya algoritmalar (genellikle Java bayt kodu ve .jar dosyasında paketlenmiş olarak derlenir) Windows ve Linux'ta aynı şekilde çalışır.
Java kütüphaneleri (örn. Tüm Nice açık kaynaklı araç setleri) saf Java ile yazıldıkları sürece genellikle platformdan bağımsızdır. Çoğu kütüphane platform bağımsızlığını korumak için pure Java) ile çalışmayı dener, ancak bunun mümkün olmadığı bazı durumlar vardır (örneğin, kütüphanenin doğrudan özel bir donanımla arayüz kurması veya bir Yerel kodu kullanan C/C++ kütüphanesi).
Java platformu/çalışma zamanı ortamı , aynı kitaplıkların (resimler, ağ oluşturma, Dosya GÇ, vb.) Kullanılabilir olması ve çalışması anlamında platformdan bağımsızdır tüm platformlarda aynı şekilde. Bu, bu kütüphaneleri kullanan uygulamaların herhangi bir platformda çalışabilmesini sağlamak için kasıtlı olarak yapılır. Örneğin, Java dosya sistemine erişen kütüphaneler, Windows ve Linux'un farklı dosya adı yolu ayırıcıları kullandığını bilir ve bunu sizin için dikkate alır. çalışma zamanı ortamı platforma özgü özellikleri kullanır, bu nedenle her platform için farklı bir JRE gerekir .. Java indirme sitesinde mevcut platformlardan bazılarının listesini görebilirsiniz: - http://www.Oracle.com/technetwork/Java/javase/downloads/jdk-6u26-download-400750.html
JVM'nin kendisi (yani Java JIT'in derlenmesinden ve çalıştırılmasından sorumlu Sanal Makine Java bytecode) birçok platformda (ana bilgisayarlardan cep telefonlarına kadar her şey) kullanılabilir olması bakımından platformdan bağımsızdır.Ancak JVM'nin belirli sürümleri temel alınan her platform için farklı yerel talimat kodlarını ve makine yeteneklerini hesaba katmak için gereklidir (böylece Windows ve Vice Versa'da Linux JVM çalıştıramazsınız) JVM Java platform/çalışma zamanı ortamı.
Genel olarak, Java, muhtemelen alabileceğiniz kadar gerçek platform bağımsızlığına yakındır, ancak gördüğünüz gibi, hala kaputun altında biraz platforma özgü çalışma var.
% 100 saf Java koduna ve kitaplıklarına bağlı kalırsanız, benim deneyimim Java platformdan bağımsız olarak etkili ”) ve genel olarak Bir Kez Yaz Herhangi Bir Yere Koş vaadine kadar yaşıyor ama yine de test etmelisin !!
Haklısınız, platform bağımsızlığı, aynı programın herhangi bir modifikasyona gerek kalmadan herhangi bir platformda (işletim sistemi) çalıştığı anlamına gelir.
Java durumunda) uygulama bir Java Sanal Makine'de çalışır ve kendisi platformdan bağımsız değildir. Bu, gerçek makine ( işletim sistemi) ve Java kodunu yazdınız).
Videolar, görüntüler vb. Söz konusu olduğunda bunlar belgelerdir ve uygulamalar için veri olduğundan genellikle doğadan platformdan bağımsızdır.
Aslında platform bağımsızlığına ulaşma tekniği
Veya her platform için kod yazabilir ve derleyebilirsiniz (C/C++). Bence bu aynı zamanda bir tür platform bağımsızlığı. Ve algoritmaların bu şekilde platformdan bağımsız olduğu söylenebilir.
Dosya türleri için gerçek platform bağımsızlığı konusunda haklısınız. Ancak platform bağımsızlığı terimi genellikle dosyalara uygulanmaz.
Java, nesne yönelimli platformdan bağımsız bir programlama dilidir.
javac derleyicisi kaynak kodunu derler ve Bayt kodu dili (evrensel dil) üretir.
Bu dil herhangi bir işletim sistemi tarafından anlaşılamaz, önce işlenmelidir ve burada özel bir yürütülebilir program (JVM) sahneye girer. JVM'nin bir tercümanı bayt kodunu satır satır okur ve bayt kodu talimatlarını makineye özgü anlaşılabilir dile (sonuçta ikili kod) dönüştürür. Bu nedenle, bayt kodu platformdan bağımsızdır ancak yorumlanan kod makineye özgüdür ve JVM'nin kurulu olduğu ortamda yürütülür. Java programlar platformdan bağımsızdır = Java platformdan bağımsızdır) anlamına gelir.
Sun MicroSystems sloganı WORA : Bir Kez Çalışın Herhangi Bir Yere Çalışın.
JVM bir Ana Makine gerektirdiğinden, size bir Java programının platformdan bağımsız olmadığını söyleyebilirim. Ayrıca, Java tasarım dili, sistem bir FAT16 bölümü kullanıyorsa dosya sisteminde kısa sınıf adlarıyla sonuçlanan gereksinimlere sahiptir:
class FOOBAR
aynıdır
class Foobar
ve adı
class AbstractPrinterFactory
imkansız.
Karşılaştırma olarak, C'nin çok az çalışma zamanı gereksinimleri vardır ve bu nedenle daha yüksek taşınabilirlik sunabilir. Daha küçük C programlarını gerçekten düşük kaliteli cihazlara yedeklemek hala mümkündür.