Ana içeriğe atla

Java'nın Çalışma Prensibi


Bu yazımızda sizlerle Java'yı "write code everywhere" kılan yapıdan bahsedeceğiz. Java bir kere yazılan ve her ortamda çalıştırılabilen bir programlama dilidir. Bu özelliği ona sağlayan JDK paltformudur. Bu platform kurulu olan her bilgisayarda işletim sistemi farketmezsizin Java kodunun çalıştırılmasına ve Java projesi geliştirilmesine olanak vermektedir. Yukarıda çalışma mantığı resmedilmiştir. Bunu biraz açıklamak gerekirse, oluşturduğumuz .java uzantılı java kodları compile edilerek .class şeklinde bytecode çevriliyor. Fakat bu bytecode işletim sisteminin algılayabileceği bir sistemde değildir. Burada da devreye JVM yapısı giriyor. JVM çalışma anında bytecode compiled ederek makine koduna çevirmektedir. Resimde görülen JVM, JRE ve JDK yapılarını biraz daha ayrıntılı inceleyelim.

Java Virtual Machine(JVM):Java programlama dilini istenilen işletim sisteminin anlayabileceği makine koduna çeviren yapıdır. Java'nın hel platformda çalışabilmesi için çalışılacak platformda mutlaka JVM bulunması zorunludur.

Java Runtime Enviroment(JRE): İçerisinde JVM ile birlikte programımızın çalışması için gerekli olan araçları barındırmaktadır. Boyut olarak, JDK'dan daha küçüktür. Daha az yer kaplamaktadır.

Java Development Kit(JDK): İçerisinde java compiler, java interpreter,geliştirici toolları, java API kütüphaneleri, java geliştiricileri tarafından java uygulamaları için kullanılan dökümantasyonlar barındırmaktadır. Bunlarla birlikte JRE ve JVM barındırmaktadır. Kısacası JDK'yı şöyle açıklayabiliriz.

JDK=JRE+JVM+derleyici+.....










Yorumlar

Bu blogdaki popüler yayınlar

Örnek Algoritmalar ve Örnek C++ Kodları

Örneklerimize bu başlığımız altında devam ediyoruz arkadaşlar. :) Yıl başına kadar C++ hakkında bildiğim tüm konuları ve yaptığım projeleri sizlerle paylaşacağım. Sorularınızı yorumlarda bekliyorum. Şimdiden kolay gelsin :) Algoritma 5: Yarıçapı klavyeden girilen kürenin yüzey alanını ve hacmini açıklayan algoritmanın C++ kodunu yazınız.(π=3) #include <iostream> using namespace std; int main() { float r,alan,hacim; cout<<“Yaricapi giriniz:”; cin>>r; alan=4*3*r*r; hacim=(4*3*r*r*r)/3; cout<<“Alan:”<<alan<<endl; cout<<“Hacim”<<hacim<<endl; } Algoritma 6: Katsayıları klavyeden girilen birinci dereceden denklemin kökünü bulan algoritmanın C++ kodunu yazınız. #include <iostream> using namespace std; int main() { int a,b,c,x; cout<<“Katsayilari giriniz:”; cin>>a>>b>>c; x=(c-b)/a; cout<<“Kok:”<<x; } Algoritma 7:Klavyeden yarıçapı ve dilim açısı girilen daire diliminin...

C++ ile Veri Yapıları

Bu yazımızda, bilgisayar dünyasının temel yapı taşı olan veri yapısı konusunu ele alacağız. Bu konu oldukça zor olmakla birlikte, gayet önemli ve eğlenceli yapıdır. Veri yapısını bilmek ve etkin kullanmak, hayatınızda yapacağınız projelerde size kolaylık sağlayacaktır. Veri yapısı genel olarak bakıldığınında hayatımızın her anında vardır. Konular ilerledikçe bu daha iyi anlaşılacaktır. Veri yapısını tanımlamak gerekirse, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılır. Veri yapıları, verilerin düzenlenme biçimini belirleyen yapıtaşlarıdır. Bir yazılım değişkeni bile basit bir veri yapısı olarak kabul edilebilir. Değişik algoritmalarda verilerin diziler, listeler, yığıtlar, kuyruklar, ağaçlar ve çizgeler gibi veri modellerine uydurularak düzenlenmesi gerekebilir. Veri, yapı ve algoritma bir yazılımın birbirinden ayrılmaz bileşenleridir. Algoritması hazırlanmış her yapı için verilerin düzenli bir şekilde kullanımı önemlidir. Çünkü yapı iyi kurul...

Native ve Hybrid Uygulama

HTML5 ve Javascript'in gücünün artışıyla native ve hybrid uygulama kavramlarını hayatımıza sokmuştur. Bu yazı dizisinde bunların genel tanımlarından ve aralarındaki farklardan bahsetmek istiyorum. Native Uygulama: Donanım ve işletim sistemi üzerinde doğrudan çalışan uygulamalara verilen genel addır. Mobil tarafında bakıldığında örneğin; Android üzerinde bir uygulamanın çalışması sanal makine mantığına dayanmaktadır. O zaman bu tanımlamayı sanal makine üzerinde çalışan uygulamalar olarak destekleyebiliriz. Kısaca tanımı özetlemek gerekirse, söz konusu sistemin doğal diliyle yazılmış, cihazın donanım ve işletim sistemi özelliklerine erişebilen uygulamalara native uygulamalar denir. Örnek vermek gerekirse; Android için Java ile geliştirilen uygulamalar, WindowsPhone için C# ve IOS için Swift ile geliştirilen uygulamalar.. Hybrit Uygulama:Üzerinde çalışılan platformun doğal diliyle geliştirilmeyen uygulamalardır. Bunlarda 3'e ayrılmaktadır. Cross Platform: Farklı mobil işle...