ForumSevgisi.Com

  ForumSevgisi.Com > ForumSevgisi Webmaster Bölümü > Webmaster Genel

Webmaster Genel Webmasterlıkla ilgili Her şeyin Paylaşıldığı Bölüm.


Dev java FS Farkıyla

Webmasterlıkla ilgili Her şeyin Paylaşıldığı Bölüm.


Dev java FS Farkıyla

ForumSevgisi Webmaster Bölümü Kategorisinde ve Webmaster Genel Forumunda Bulunan Dev java FS Farkıyla Konusunu Görüntülemektesiniz,Konu İçerigi Kısaca ->> Dev java FS Farkıyla Java ™ platformu bilgisayar ağının varlığı da göz önüne alınarak uygulamaların/programların farklı işletim sistemleri üzerinde çalıştırılabilmesi ...

Kullanıcı Etiket Listesi

Yeni Konu aç  Cevapla
LinkBack Seçenekler Stil

Okunmamış 20 Mart 2015, 22:27   #1
Durumu:
Çevrimdışı
IDurDurBeni
Düşmanlara inat Mücadeleye devam...
IDurDurBeni - ait Kullanıcı Resmi (Avatar)
Arastirmaci
Üyelik tarihi: 12 Mart 2015
Mesajlar: 164
Konular: 95
Beğenilen: 49
Beğendiği: 64
www.forumsevgisi.com
Standart Dev java FS Farkıyla

Dev java FS Farkıyla

Java ™ platformu bilgisayar ağının varlığı da göz önüne alınarak uygulamaların/programların farklı işletim sistemleri üzerinde çalıştırılabilmesi düşüncesiyle geliştirilmiş yeni bir teknolojidir. Java teknolojisi kullanılarak aynı uygulama farklı ortamlarda çalıştırılabilir. Örneğin kişisel bilgisayarlarda, Macintosh bilgisayarlarda, üstelik cep telefonlarında... ()
Java ™ platformu hem programlama dili, hem de bir ortam olarak düşünülebilir. Programlama dili olarak, açık kodlu, nesneye yönelik (object-oriented), güvenli, sağlam, İnternet için elverişli bir teknolojidir denilebilir. Ortam olarak da orta katman (middleware) teknolojiler bulmak mümkündür. ()
Gerek Java programlama dili, gerekse bu dile bağlı alt teknolojiler, VB™ veya Borland Delphi™ gibi sadece belirli bir firma tarafından geliştirilmiş ürünler değillerdir. Java ve bu dile bağlı alt teknolojiler, Sun MicroSystems tarafından tanımlanmış belirtimlerden (specifications) oluşmaktadır. Bu belirtimlere sadık kalan her yazılım firması Java Sanal Makinası, kısaca JVM (Java Virtual Machine), veya Java programlama diline bağlı alt teknolojiler yazabilir (örneğin Application Server - Uygulama Sunucusu). Eğer bu belirtimlere sadık kalınmayıp standart dışı bir JVM veya Java programlama diline bağlı alt teknolojiler yazılmaya kalkışılırsa hukuki bir suç işlenmiş olur. ()
Peki belirtim (specifications) ne demektir? Sun MicroSystems, JVM veya Java programlama diline bağlı alt teknolojiler yazmak için belirli kurallar koymuştur; bu kurallar topluluğuna “belirtimler” denir. Örneğin biraz sonra ele alınacak olan çöp toplama sistemi (garbage collector)... ()
Çöp toplama sistemi daha önceden oluşturulmuş, ancak şu an için kullanılmayan ve bellekte boşu boşuna yer işgal eden nesneleri belirleyerek otomatik olarak siler. Böylece Java programcısı “acaba oluşturduğum nesneyi bellekten silmiş miydim?” sorusunu sormaktan kurtulurlar, ki bu soru C++ programlama dillinde uygulama yazan kişilerin kendilerine sıkça sorması gereken bir sorudur. Şimdi bir yazılım firması hayal edelim, adının ABC yazılım firması olduğunu varsayalım. Bu firma, eğer bir JVM yazmak istiyorsa, bu çöp toplama sistemini, oluşturdukları JVM’in içerisine yerleştirmeleri gereklidir. Çünkü Sun MicroSystems’ın belirtimlerinde, çöp toplama sistemi koşuldur! Eğer ABC firması üşenip de çöp toplama sistemini, oluşturdukları JVM’in içerisine yerleştirmezse hukuki bir suç işlemiş olur. ()
Şu anda en yaygın kullanılan JVM’ler, IBM ve Sun Microsystems’ın üretilmiş olan JVM’lerdir; ayrıca, HP, Apple gibi bir çok firmanın üretmiş oldukları JVM’ler de bulunmaktadır. ()
1.1. Java ile Neler Yapılabilir?
Java diliyle projeler diğer programlama dillerine göre daha kolay, sağlıklı ve esnek şekilde yapılması mümkün olur. Kısaca göz atılırsa Java diliyle,
· GUI (7Grafiksel Kullanıcı Arayüzü) uygulamaları, Applet’ler
· Veri tabanına erişimle ilgili uygulamalar
· Servlet, Jsp (Web tabanlı uygulamalar).
· Dağınık bileşenler (Distributed components) (örneğin EJB, RMI, CORBA).
· Cep telefonları, Smart kartlar için uygulamalar.
· Ve daha niceleri…
için uygulamalar yazmamız mümkündür. ()
1.2. Java Nasıl Çalışır?
Java uygulamaları JVM tarafından yorumlanır; JVM, işletim sisteminin üstünde bulunur. Bu nedenle, Java uygulamaları farklı işletim sistemlerinde herhangi bir değişiklik yapılmadan çalışır. Böylece Java programlama dilinin felsefesi olan “Bir kere yaz her yerde çalıştır” sözü gerçekleştirilmiş olunur. ()

Şekil-1.1. İşletim sistemleri ve JVM’in konumu
Şekil-1.2.’de Java kaynak kodunun nasıl çalıştırıldığı aşamalarıyla gösterilmiştir. Byte (sekizli) koduna çevrilen kaynak kod, JVM tarafından yorumlanır ve uygulama çalıştırılmış olur. Kısa bir Java uygulaması üzerinde olayları daha ayrıntılı bir şekilde incelenirse... ()
Örnek: Selam.java ()

public class Selam {
public static **** main(String args[]) {
System.out.println("Selamlar !");
}
}

Şekil-1.2. JAVA kodunun çalıştırılma aşamaları
Yukarıda yazılan uygulamanın hangi aşamalardan geçtiği şekil üzerinde ilerleyen paragraflarda gösterilmiştir:

Şekil-1.3. Selam.java’nın geçtiği aşamalar
Yazılan kaynak kodları ilk önce javac komutuyla derlenir; ardından java komutuyla çalıştırılır. Fiziksel dosyanın içerisindeki her sınıf (class) için fiziksel olarak bir .class dosyası oluşturulur.
1.3. JAVA Sınıflaması
Java ortamı 4 ana sınıf altında toplanmıştır:
· Standart Java
· Komple (Enterprise) Java
· Gömülü cihazlar için Java (embedded devices)
· XML Teknolojileri
· Diğer Teknolojiler ()
1.3.1. Standart Java
· J2SE (Java 2 Standart Edition)
· J2SE Bileşenleri
o Yardımcı Teknolojiler (Assistive Technologies)
o Sürükle ve Bırak (Drag and Drop)
o Java Erişim Köprüsü (Access Bridge)
o JavaBeans Teknolojisi
o JavaBean Etkinleştirme Sistemi (JavaBean Activation Framework) JAF 1.0.2
§ Javadoc Aracı
o Java Altyapı sınıfları ( Java Foundation Classes (JFC) / Swing )
o Java HotSpot Sanal Makinası (Virtual Machine)
o Java Platformu Ayıklayıcı Mimarisi (JPDA-Java Platform Debugger Architecture)
o Windows XP için Java Uyum-eki (Java Plug-in for Windows XP)
o Java 2D API
o Java Web Start
o JDBC Teknolojisi
o Takılıp çıkarabilir (Pluggable) Look and Feel
o Uzak Yordam Çağırımı (Remote Method Invocation) (RMI)
o Güvenlik (Security)
· J2SE Seçimlik Paketler
o InfoBus
o Java Gelişmiş Görüntüleme (Advanced Imaging)
o Java Kimlik Belirleme ve Yetkilendirme Servisi (Auth. and Auth. S.) (JAAS)
o Java İletişim (Communication) API (JCA)
o Java Şifreleme Uzantısı (Cryptography Extension) (JCE)
§ Java Veri Nesneleri (Data Objects)
o Java Yardım Teknolojisi (Help Technology)
o Java Ortam (Media) API leri
o Java Ortam Sistemi (Media Framework) (JMF)
o Java İsimlendirme ve Dizin Arabirimi (JNDI-Java Naming and Directory Interface)
o Java Güvenli Soket Uzantısı (JSSE-Java Secure Socket Extension)
o Java Konuşma (Speech) API'si
o Java 3D API ()
1.3.2.Enterprise Java
· J2EE (Java 2 Enterprise Edition)
· CORBA Teknolojisi
· ECperf Teknolojisi
· Komple (Enterprise) JavaBeans Teknolojisi
· Kontaynerler için Java Yetkilendirme Kontratı (Java Authorization Contract for Containers) (Java ACC)
· Java IDL
· JavaMail API
· Java Mesajlaşma Servisi (Message Service) (JMS) API
· JavaServer Yüzleri (Faces)
· JavaServer Sayfaları (Pages)
· Java Servlets
· JDBC Teknolojisi
· J2EE Bağlayıcı Mimarisi (Connector Architecture)
· Hareketler (Transactions) ()
1.3.3. Gömülü Cihazlar İçin Java (Embedded Devices)
· Java 2 Platform, Micro Edition (J2ME Teknolojisi)
· Bağlı Aygıt Konfigurasyonu (Connected Device Configuration) (CDC)
· Sınırlı Bağlanmış Aygıt Konfigurasyonu (CLDC-Connected Limited Device
Configuration)
· C Sanal Makinası (CVM-C Virtual Machine)
· K Sanal Makinası (KVM- K Virtual Machine)
· Kişisel Java (PersonalJava)
· Java Card
· JavaPhone API
· Java TV API
· Jini Network Technology
· Gezgin Bilgi Aygıt Profili (MIDP-Mobile Information Device Profile) ()
1.3.4. XML Teknolojileri
· XML İlişkilendirilmesi için Java Mimarisi (JAXB-Java Architecture for XML Binding)
· XML-Tabanlı RPC için JAVA API'si (JAX-RPC-Java API for XML-Based RPC)
· XML Mesajlaşması için JAVA API'si (JAXM-Java API for XML Messaging)
· XML İşlemleri için JAVA API'si (JAXP-Java API for XML Processing)
· XML Kayıtları için JAVA API'si (JAXR-Java API for XML Registries) ()
1.3.5.Diğer Teknolojiler
· Araç Ürünler
o MIF Doclet
o Sun ONE Stüdyo (Studio)
· AĞ (NetWork) Ürünleri
o Sertifikalı JAIN API Ürünleri (JAIN API Certified Products)
o Java Dinamik Yönetim Seti (Java Dynamic Management Kit)
o Java Yönetim Uzantısı (JMX-Java Management Extensions)
o Java ****Data Arabirimi (JMI-Java ****data Interface)
o Java Paylaşılan Veri Araç Takımı (Java Shared Data Toolkit)
o Java Spaces Teknolojisi
o Servis Sağlayıcılar için Java Teknolojisi (Java Technology for Service Providers)
o Jini Ağ Teknolojisi (Network Technology)
o JXTA Projesi
o J2ME Platformu için JXTA Projesi (Project JXTA for J2ME Platform)
o Sun Chili!Soft ASP ()
1.4. Gelişim Evreleri
Tablo-1.1. JAVA’nın gelişim evreleri ()
1995
· Java teknolojisinin ilk çıkış yılı; ilk olarak Applet teknolojisinin dikkat çektiği yıllar.
1996
· Java Geliştirme Seti (JDK) v1.0 çıkartıldı. Temel seviyeli işlevleri içeren bir versiyon (örneğin soket programlama, Girdi/Çıktı (Input/Output), GUI (Graphical User Interface- Grafik Kullanıcı Arabirimi)
1997
· JDK 1.1 çıkartıldı. Bu sürümde Java GUI, veritabanı erişimi için JDBC, dağınık nesneler için RMI ve daha birçok yeni gelişmeler eklendi.
1998
· JDK 1.2 çıkartıldı.
· JFC/Swing yayınlandı- aynı yıl içersinde Oracle Technology Network for Java Developers İnternet adresinden 500,000+ adet indirme (download) gerçekleştirildi.
1999
· Java teknolojisi J2SE, J2EE ve J2ME olarak 3’e bölündü.
· Java HotSpot (performans arttırıcı) yayınlandı.
· JavaServer Pages (JSP) teknolojisi yayınlandı.
· J2EE platformu yayınlandı.
· Linux üzerinde J2SE platformu yayınlandı.
2000
· JDK v1.3 çıkartıldı.
· Java APIs for XML teknolojisi yayınlandı.
2002
· JDK v1.4 versiyonu çıkarıldı (Merlin projesi).
· Java API for XML binding yayınlandı.
2003
· 2003 yılının sonuna doğru JDK v1.5 versiyonun çıkarılması planlanmaktadır (Tiger projesi).
1.5. Java’nın Başarılı Olmasındaki Anahtar Sözcükler
Œ. Nitelikli bir programlama dili olması
·C/C++ da olduğu gibi bellek problemlerinin olmaması.
·Nesneye yönelik (Object Oriented) olması.
·C/C++/VB dillerinin aksine doğal dinamik olması.
·Güvenli olması.
·İnternet uyg. için elverişli olması. (Applet, JSP, Servlet, EJB, Corba, RMI). ()
. Platform bağımsız olması: Bir kere yaz her yerde çalıştır! ()
1.6. Çöp Toplayıcı (Garbage Collector)
Çöp toplayıcı devamlı olarak takip halindedir; Java uygulamasının çalışma süresince ortaya çıkan ve sonradan kullanılmayan gereksiz nesneleri bulur ve onları temizler. Böylece bellek yönetim (memory management) yükü tasarımcıdan JVM’e geçmiş olur. Diğer dillerde, örneğin C++ programlama dilinde, oluşturulan nesnelerin yok edilme sorumluluğu tasarımcıya aittir.
Çöp toplayıcının ne zaman ortaya çıkıp temizleme yapacağı belirli değildir; eğer bellekte JVM için ayrılan kısım dolmaya başlamışsa çöp toplayıcı devreye girerek kullanılmayan nesneleri bellekten siler. Çöp toplayıcısı JVM’in gerçeklenmesine göre farklılık gösterebilir; nedeni, her JVM üreticisinin farklı algoritmalar kullanmasından ileri gelmektedir. ()
1.7. Java’da Açıklama Satırı (Comment Line)
Java kaynak kodunun içerisine kod değeri olmayan açıklama yazılabilmesi için belirli bir yol izlenmesi gerekir. Şunu hemen belirtelim ki, uygulamalarımız içerisinde yorum satırları sık sık kullanılacaktır. Java uygulamaları içerisinde açıklama/yorum satırları koymak için iki farklı yöntem kullanılır: ()
· /* yorum */
Bölme işareti-yıldız ve yıldız-bölme işareti arasına istenilen açıklama yazılabilir. Genel olarak uzun açıklamalarda bu yöntem kullanılır. ()
· // yorum;
Tek satırlık açıklama yapılması için kullanılır. Kısa açıklamalar için bu yöntem kullanılabilir. ()
1.8. Herşey Nesne
Her programlama dilinin kendine has veri yönetim şekli bulunur. Java platformunda çalışan bir uygulamada, çalışma sırasında nesneler oluşturulur. Burada ki soru bizim nesnelere doğrudan olarak mı? Yoksa onlara dolaylı bir şekilde mi bağlantı sağlayıp kullandığımızdır. Java programlama dilinde herşeye nesne olarak davranılır. Herşeyin nesne olmasına karşın bu nesnelerin kullanılması için referanslara gereksinim duyulur.
Örneğin, elimizde bir maket uçağı olsun; nesne olarak düşünelim... Bu maket uçağı denetlemek amacıyla bir de kumanda cihazının, yani referansın olduğunu düşünelim. Bu maket uçağı havada sağa veya sola döndürmek için elimizdeki kumanda cihazını kullanmak zorundayız; benzer şekilde havalandırmak veya yere indirmek için kumanda cihazından yararlanırız. Burada dikkat edilmesi gereken unsur kumanda cihazından çıkan emirlerin maket uçağı tarafından yerine getirilmesidir.
Elimizde bir kumanda cihazının bulunması, maket uçağımızda olması anlamına gelmez. Her durumda bir referansı tek başına da tanımlanabilir. İşte kanıtı, ()
Gösterim-1.1:
String kumanda; // kumanda referansı şu an için String nesnesine bağlı değil.
,

Şekil-1.4. Referans tanımı
Burada yapılan olay sadece referans oluşturmaktır. Eğer bu referansa mesajlar göndermeye kalkışılırsa ne olur? Şöyle düşünelim, elimizde fazla para olmadığı için önce kumanda cihazını aldık ve eve getirdik; ama, dikkat ediniz, henüz ortalıkta maket uçağımız filan yok! Bu aşamada, bu kumanda cihazı kullanılarak komutlar gönderilse neler olur? Hiçbir şey... Çünkü bu kumandanın bağlı olduğu bir maket uçak ortalıkta yoktur. Java programlama dilinde de olaylar böyle gelişir. Yalnızca referans tanımlandığı zaman bu pek işe yaramaz; yaraması için bu referansın ilgili nesneye bağlı olması gerekir; aksi durumda, hata ile karşılaşılır. (Null PointerException- bkz. Bölüm 8). Şimdi, bu referansımızı ilgili nesneye nasıl bağlanacağını inceleyelim, ()
Gösterim-1.2:
String kumanda= new String("maket ucak");
Gösterim-1.3:
String kumanda="maket ucak";
Bu gösterimlerin şekil üzerindeki ifadesi aşağıdaki gibi olur:

Şekil-1.5. Referans nesne bağlantısı
Verilen gösterimlerde String tipindeki referanslara String tipindeki nesneler bağlanmıştır. Gösterim-1.2 ile 1.3 arasında herhangi bir fark yoktur. Java’da String nesnesinin özel bir yeri vardır. String nesneleri çok sık kullanıldıkları için Gösterim-1.2 'deki ifade bir nevi kısaltma gibi düşünülebilir... ()
1.9. Sınıf (Class) Nedir? Nesne (Object) Nedir?
Sınıf ve nesne kavramı bir benzetme ile açıklanırsa: Sabun fabrikasında yeni bir sabun tasarımı üzerinde çalıştığımızı hayal edelim; ortaya yeni bir kalıp çıkarttık... Artık son aşama olan üretime geçmek istiyoruz. Bu kalıp içerisinde sabun nesnelerinin hangi boyutlarda, hangi renkte olacağı, nasıl kokacağı vs. gibi bilgilerin hepsi bizim tarafımızdan belirlenmiş durumda olacaktır. Üretim aşamasına geçildiğinde hep aynı sabun kalıbını kullanılarak yeni sabun nesneleri üretmemiz mümkün olacaktır. Buradaki önemli nokta, sabun kalıbı tasarımı birkez yapılmış olmasıdır; ancak, bu kalıp ile N tane sabun nesnesi üretilebilmektedir. Buradan yola çıkılarak sabun kalıbını sınıfa, sabunlarsa nesnelere benzetilebilir. ()

Şekil-1.6. Sınıf ve nesne’nin gösterilmesi
1.10. Depolanan (Storage) Veriler Nerede Durmaktadır?
Depo toplam 4 alandan oluşur, bu 4 alan aşağıdaki gibi açıklanabilir:
§Yığın (Stack): Bulunduğu nokta bellek içerisindedir; yani RAM üzerinde tutulur. Bu alanda bulunan yığın işaretçisine (stack pointer) doğrudan CPU’dan donanım desteği vardır. Yığın işaretçisi aşağıya inince yeni bir bellek alanı oluşturur, yukarı kalkınca ise bellek alanını bırakır (release). Java derleyicisi programı oluşturmadan önce yığın üzerinde oluşturulacak olan verilerin boyutlarını ve ömürlerini bilmek zorundadır. Çünkü yığın işaretçisini (stack pointer) aşağı ve yukarı hareket ettirecek olan kodu oluşturması gerekmektedir. Yığın üzerinde referansların kendileri bulunur. Maket uçağı örneğini hatırlarsak, bu alanda sadece kumanda cihazları durabilir. ()
§ Heap: Genel amaçlı bir bellek havuzudur. Yığın alanının tersine, derleyici burada ne kadarlık bir belleğin pay edileceğini bilmek zorunda değildir. Bu büyük bir rahatlık getirmektedir; çünkü ne zaman bir nesne oluşturmak istersek sadece newanahtar kelimesini kullanarak bu alanda bir yer atanır. Bu kadar rahatlığın karşılığında ise ödenmesi gereken maliyet hızdır. Heap alanında yer ayırmak için harcanan zaman, yığın alanında yer ayırmaktan daha fazladır. Heap alanında nesnelerin kendisi durur. Maket uçağı örneğini hatırlarsak, bu alanda sadece maket uçaklarının kendileri bulunur, yani bu alanı gökyüzü gibi düşünebiliriz. ()
§ Statik Alan: Bu alan da RAM üzerinde bulunur. Statik alanda yer alan veriler, programın çalışması süresince orada yaşarlar. Tüm nesneler bu statik verileri görebilirler, burayı ortak bir alan gibi düşünebiliriz. Veriyi statik yapmak için statickelimesini global değişkenin (referans) önüne getirmemiz yeterli olur. Nesnelerin kendileri bu alanda yer almazlar. ()
§ Sabit Disk: Bazı durumlarda uygulamaların içerisinde oluşturduğumuz nesnelerin, uygulama sonlandıktan sonra bile varlıklarını sürdürmelerini isteriz. ()
Akışkan Nesneler (Streamed Objects): Bu nesneler genel olarak ağ (network) üzerindeki başka bir sisteme gönderilmek üzere byte (sekizli) ırmaklarına dönüştürülürler. ()
Kalıcı Nesneler (Persistent Objects):Bu nesneler kendi durumlarını saklarlar; saklamaktan kasıt edilen ise özelliklerinin (attribute) değerlerinin korunmasıdır. ()
Alıntı ile Cevapla
Yeni Konu aç  Cevapla

Etiketler
dev, farkiyla, java

Seçenekler
Stil


Saat: 09:48

Forum Yasal Uyarı
vBulletin® ile Oluşturuldu
Copyright © 2016 vBulletin Solutions, Inc. All rights reserved.

ForumSevgisi.Com Her Hakkı Saklıdır
Tema Tasarım:
Kronik Depresif


Sitemiz bir 'paylaşım' sitesidir. Bu yüzden sitemize kayıt olan herkes kontrol edilmeksizin mesaj/konu/resim paylaşabiliyorlar. Bu sebepten ötürü, sitemizdeki mesaj ya da konulardan doğabilecek yasal sorumluluklar o yazıyı paylaşan kullanıcıya aittir ve iletişim adresine mail atıldığı taktirde mesaj ya da konu en fazla 48 saat içerisinde silinecektir.

ankara escort, izmir escort ankara escort, ankara escort bayan, eryaman escort, bursa escort pendik escort, antalya escort,