Kategoriler


SON YORUMLAR
Kimsesizkimse
Tanıdık gitmeyin devlet özel yerlere gidip para alın belki vermez tanıdık ama devlet verir
coder
10. madde hariç hepsi yalan
programcı
10. maddeyi uygulayacağım teşekkürler
ceylan
Esit agirliktan bilgisayar muhendisi olunur mu

Gelin bu isten vazgecek telef olmasin bunca bubayigit suleyman
Büşra
çok güzel bir yazı olmuş mühendislikten tam vazgeçerken sizin makalenizi okudum ve bilgisayar mühendisliğini bırakmamam gerektğini anladım çok etkili oldu teşekkürler.
merve
3. maddenize katılmıyorum kusura bakmayın ama biraz küstahça olmuş meslek lisesine gidip iyi yerlere gelen insanlar çok var siz böyle söyleyerek gençlerin heveslerini kırıyorsunuz . sizinde dediğiniz gibi Unutmayın işini iyi yapan iyi bilgisayar mühendisleri her zaman el üstünde tutulur.
nazlı
çok teşekkürler gerçekten çok yardımcı oldunuzz :)
Ömer
Lisedeyim sosyal mühendislik ve programla üzerine çalışıyorum genelde visual basic ve ddlphi kullanıyorum javayi hiçbir zaman anlayabilmis değilim genelde online oyunlar için hacking projeleri delphi7 ile yapıyorum trainer vs.vb ile Dd program fealn ama kodları ezbere yazamıyorum if elde komutlarını aklıma gelmiyor zamanla oturur mu
OkanB
Izmir Yüksek Teknoloji Enstitüsü .nü istiyorum . Bu üniversiteden mezun oldugum zaman özel sektörde iş bulma-bulamama ihtimalim nedir veyahut başka önerebileceginiz üniversiteler var mıdır varsa nelerdir?
OkanB
Izmir Yüksek Teknoloji Enstitüsü .nü istiyorum . Bu üniversiteden mezun oldugum zaman özel sektörde iş bulma-bulamama ihtimalim nedir veyahut başka önerebileceginiz üniversiteler var mıdır varsa nelerdir?
Azer
evet
Tatar Ramazan
C# (2500) Java (1500) ASP.NET, Silverlight, WPF, WCF, ADO.NET (2000) XML, XSL, HTML, Javascript, CSS, JQuery, Ajax (1500) Reporting Services, T-SQL, PL/SQL (2000) İngilizce YDS 72 puan (500) Bildiklerimi de % 80-90 seviyesi biliyorum. Yukarda sahip olduğum niteliklere göre 10.000 TL almam gerekiyor. Veren var mı? Yok. Denilebilir ki bilgin önemli değil yaptığın işin miktarı önemli. Tamam da bize yazık değil mi? Her firma farklı bir teknoloji istiyor. Onu öğren bunu öğren şunu öğren canımız çıkıyor. Bu sefer de hiç bir alanda uzman değilsiniz diyorlar. 10 tane şeyi bilmemizi isterseniz yeni mezun olarak nasıl hepsinde uzmanlaşacağız? Para da vermiyorlar. Herkes tıbbı tercih ediyor. Biz adamın ciğerini sökeriz.
musa
merhaba ben musa kalkan 18 yaşındayım bir sorum olucak inşallah bilgi verirseniz ? bu stajlarda ne yapacağımız için durum vermeniz arz ederim

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
Java Nedir
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
7 adımda patlak mühendisi tanıma rehberi?
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Bilgisayar Mühendisi Ne İş yapar? Program Nedir? Çeşitli Sorular?
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği
Türkiye'de Bilgisayar Mühendisliğinin Durumu? Bilg. Mühendisliğinin bugünü ve geleceği

Bilgisayar Mühendisleri Portalı

Java Nedir

Java Nedir
Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış gerçek nesneye yönelik, platformdan bağımsız, yüksek performanslı, çok işlevli, yüksek seviye, interpreted (adım adım işletilen) bir dildir.

Java ilk çıktığında daha çok küçük cihazlarda kullanılmak için tasarlanmış ortak bir platform dili olarak düşünülmüş. Ancak bakmışlar ki platform bağımsızlığı özelliği C ve C++'tan çok daha üstün ve güvenli bir yazılım geliştirme ve işletme ortamı sunuyor, hemen her yerde kullanılmaya başlanmış. Şu anda özellikle kurumsal alanda ve mobil cihazlarda son derece popüler olan Java özellikle J2SE 1.4 ve gelecek 1.5 sürümü ile masaüstünde de gücünü arttırmayı hedefliyor. Java'nin ilk sürümü olan Java 1.0 (1995) Java Platform 1 olarak adlandırıldı ve tasarlama amaçına uygun olarak küçük boyutlu ve kısıtlı özelliklere sahipti. Daha sonra platformun gücü gözlendi ve tasarımında büyük değişiklikler ve eklemeler yapıldı. Bu büyük değişikliklerden dolayı geliştirilen yeni platforma Java Paltform 2 adı verildi ama versiyon numarası 2 yapılmadı, 1.2 olarak devam etti. 2004 sonbaharında çıkan Java 1.5, geçen 1.2, 1.3 ve 1.4 sürümlerinin ardından en çok gelişme ve değişikliği barındıran sürüm oldu.

Sürüm Tarihçesi
Java Dili, JDK 1.0 dan bu yana çeşitli değişikliklere uğramıştır.

1.0 (1996) — İlk sürüm.
1.1 (1997) — Önemli eklentiler. Örneğin iç sınıflar.
1.2 (4 Kasım, 1998) — Kod adı:Playground. API'de önemli değişiklikler, reflection özelliği ve JIT Derleyicisi nin eklenmesi. ancak dilin kendisinde önemli değişiklikler olmadı.
1.3 (8 Mayıs, 2000) — Kod Adı: Kestrel. HotSpot JVM sunuldu.
1.4 (13 Şubat, 2002) — Kod adı: Merlin. assert kelimesinin dile eklenişi, nio sınıfları ve pek çok yeni API değişikliği.
5.0 (29 Eylül, 2004) — Kod Adı: Tiger. (Önce 1.5 olarak duyruldu) Pek çok yeni dil özelliği eklendi.

Java nasıl çalışır?
Bir Java yazılımı şu şekilde geliştirilir:

Programcı java kodunu yazar.
Bu kod bir java derleyicisi ile derlenir. Sonuçta bytekod adı verilen bir tür makine kodu ortaya çıkar. Platform bağımsızlığını sağlayan şey bytecode'dir. Çünkü bir kere bytecode oluştuktan sonra yazılım tüm işletim sistemlerinde çalışabilir.
Bu byte kod Java virtüal Machine (Java Sanal Makinesı) tarafından adım adım işletilir. Aşağıda java ve C++ kodunun geçirdiği aşamalar gösterilmiştir.

Yazılım
Java nesneye yönelik bir dil olduğundan tüm yazılım sınıflar ve nesneler üzerinden yürütülür. Sınıflar uygulamadaki nesnelerin tanımlandığı kod parçalarıdir. Java'da her bir sınıf bir dosya içerisinde yer alır. Dosyaların uzantıları .java şeklindedir. Dosya adı ise içinde tanımlanan sınıf ile aynıdır. Örneğin, BenimSınıf.java gibi.


Çalıştırma ve Java sanal makinesi
Sanal makine donanımdan bağımsız yazılım geliştirme ihtiyacına cevap verme amacıyla geliştirilen bir teknolojidir. Java'nın temel felsefesi olan "bir kere yaz, her yerde çalıştır" sanal makine sayesinde varolmuştur. Sanal makineyi bir yönden bir tür hayalı bir mikroişlemci gibi düşünebiliriz. Gerçek tüm mikroişlemciler (Intel Pentium, AMD Athlon, Sun Sparc vs) belirli bir grup komutu işlemek üzere tasarlanmıştır. Bu komutlara işlemcinin komut kümesi adı verilir. Örneğin x86 komut kümesi gibi. Tüm yazılımlar çalışabilmek için önce bu komut kümesine dönüştürülür, daha sonra işlemci bu komutları sıra ile gerçek işlemci komutlarına dönüştürüp işletir. Java Sanal makinesi de Bytekod komut kümesini tıpkı işlemci gibi adım adım işletir. Java'nin interpreted bir dil olarak adlandırılmasının nedeni budur. Bytekod ilkel işlemlerin yanında (ilkel işlemler, mikroişlemci seviyesi komutlardır, aritmetik işlemler, bit işlemleri, bellek ve yığın işlemleri vs.) sanal makinenin üzerinde çalıştığı işletim sistemine yönelik işlemler de barındırır. Bu sayede Java Virtual Machine yazıcı, seri port, grafik, dosya servisı, ağ bağlantısı gibi yazılım ve donanım servislerine erişim yapabilir.

Java'nin doğrudan bytecode çalıştırması performansının düşük olabileceği izlenimini verebilir. Ancak, JVM tasarımı geçen 10 yılda çok değişmiş ve geliştirilmiştir. Şu anda java'nin performansı çoğu alanda C++'in performansına yakın bir seviyededir ve işlemci hızı ve bellek miktarının her geçen yıl katlanarak artması ile performans konusu çoğu uygulamada artık ikinci planda kalmıştır.

Java ile ilgili bazı kavramlar

Hot Spot teknolojisi
Java sanal makinesi HotSpot adı verilen özel bir teknolojiyi içinde barındırır. HotSpot yani sıcak nokta , bir yazılımda sürekli olarak tekrarlanan ve üzerinden geçilen kod bölümlerine verilen bir isimdir. Java sanal makinesi bir kod çalışmaya başladıktan sonra sİklıkla kullanılan kod bloklarını gözler ve bir süre sonra bu bytecode bloklarının çalışılan sistemdeki gerçek işlemci komut karşılıklarını bir tür cep bellege yazar ve zaman ilerledikçe artık byte kod üzerinden değil doğrudan sistemin öz komutlarını kullanarak yazılımın o bölümlerini işletmeye başlar. Bu şekilde ciddi performans avantajı sağlanmıştır.

JIT
Java ilk çıktığında bytecode işletme hızı çok iyi değildi. yerine göre sistemin öz yazılımlarından 5-10 kat yavaş çalışıyordu. Bu nedenle bazı yazılım geliştirme şirketleri JIT yanı "Just-in-time compile", "anında derleme" araçları üretmeye başladılar. Yapılan şey byte kodu sanal makinenin kurulu olduğu gerçek sistemin diline anında derleme yaparak dönüştürmesiydi. Bu sayede performansta ciddi artışlar sağlandı. Ama 2000 yılından sonra HotSpot teknolojisinin gelişmesi ile JIT'in işlevi VM'içinde yer almaya başlamış, işlemci hızı ve bellek miktarının dramatik biçimde artması ile dış JIT yazılımları popülerliğini kaybetmiştir. Bugün halen bir kaç ürün pazarda bulunsa da genellikle bu yöndeki ihtiyaç yok olmuş gibi gözükmektedir.

Java API
Java API, java yazılımlarında kullanılıan yazılım kütüphanelerine genel olarak verilen isimdir. Java API ile disk, grafik, ag, veri tabani, güvenlik gibi yüzlerce konuda kullanıcılara erişim imkanı sunulur. Java API J2SDK'nin bir parçasıdır.

Çöp toplayıcı (Garbage Collector)
Çöp toplayıcı java'nın en belirgin özelliklerinden birisidir. C++, C gibi dillerin en büyük handikaplarından birisi dinamik bellek yönetimidir. yazılımda işaretçi (pointer) kullanarak dinamik olarak bellek ayırdıktan sonra o bellek ile işiniz bittiğinde mutlaka ayrılan belleği bellek yöneticiye özel metodlar yardımıyla (delete, destructor vs.) iade etmeniz gerekir. Yoksa bellek sizintisi (Memory Leak) oluşur ve bu bir süre sonra yazılımın ve işletim sisteminin beklenenden farklı davranmasına yol açar. Bugünün tüm büyük C ve C++ yazılımları az da olsa bellek sizintisi içerir (işletim sistemleri dahil). sızıntıların tespiti oldukça güçtür ve bulunması zor hatalara yol açar. Çöp toplayıcı sayesinde Java'da bir nesne oluşturulduktan sonra o nesne ile işiniz bittiğinde hiç bir şey yapmanız gerekmez. Sanal makine akıllı bir biçimde kullanılmayan bellek bölümlerini belirli aralıklarla ya da adaptif metodlarla sisteme otomatik olarak temizler ve sisteme iade eder. Bu işleme çöp toplama, ya da "garbage collection" adı verilir. Çöp toplama sistemlerinin yapısı oldukça karmaşıktır ve geçen yıllar içinde büyük gelişmeler kaydedilmiştir. Çöp toplayıcının varlığı java'da bellk sizintisi olmayacağı anlamına gelmez, ama bellek sızıntıları daha ender olarak ve farklı şekillerde karşınıza çıkar ve genellikle tedavi edilmesi daha kolaydır.

Jar
Jar, aslında bir tür sıkıştırma formatıdır. Jar ile derlenen java kodları ile oluşan yazılımın paketlenip taşınması kolay bir hale getirilir. Jar dosyaları temelde bytekod blokları içerir. Jar dosyaları genellikle kütüphane oluşturmada ya da uygun biçimde hazırlanırsa işletim sisteminden doğrudan çalıştırılabiliecek bir şekilde kullanılabilir (Executable jar, işletilebilir jar) jar dosyalarının içeriğini sıkışıtırma yazılımları ya da java yazılım geliştirme araçları ile inceleyebilirsiniz. Java 1.5 ile yeni bir tür jar oluşturma metodu da kullanıma girecek. Pack200 adı verilen hiper-compression algoritması ile jar dosyaları 8 kata varan oranlarda daha az yer kaplayacak. Bunun özellikle uzak uygulamaların kullanımını ciddi biçimde kolaylaştırması bekleniyor.

AWT ve Swing
AWT, ilk java ile birlikte geliştirilen temel grafik arayuz oluşturma kütüphanesine verilen isimdir. Ancak Java 2 platformu ile birlikte AWT'nın yetersiz görülmüş ve çok daha geniş ve gelişmiş özelliklere sahip Swing kutuhanesi sisteme eklenmiştir. Özellikle çok platform destekleyen yazılımlarda kullanıcı arayüzü geliştirme aracı olarak swing halen önemini korumaktadır. Swing önceleri işletim sisteminin kullandığı donanım grafik hızlandırma araçlarını kullanmadığından yavaşlığı ile eleştirilere hedef olmuştu. Özellikle Java 1.4 ile Swing, hem genel olarak sanal makinenin hızlanması ve kısmen donanım hızlandırmayı kullanması ile bu kötü şöhretinden sıyrılmaya başladı. Java 1.5 ile donanım özellikle OpenGL kullanımı ve yeni arayuz gösterim şekli ile java'nin masaüstü uygulama geliştirmede popülerleşmesi bekleniyor. AWT halen swingin bir alt katmanında, temel 2 boyutlu grafik işlemlerinde kullanılmaya devam ediyor.

SWT
SWT swing'e bir alternatif olarak IBM tarafından geliştirilen bir gösterim sistemidir. Swing'den en büyük farkı çalıştığı işletim sistminin grafik kütüphanesi ve komutlarını kullanmasıdır. Bu nedenle SWT uygulamaları Swing'e göre çoğu yerde daha hızlı ve işletim sistemindeki diğer uygulamaları andıran bir şekilde çalışmasını sağlar. Ancak yapı itibari ile SWT kullanımı Swing kadar efektif olamayabiliyor (özellikle olay mekanizması, tablo ve ağaç yapılarındaki yavaşlığı, ayrıca linux performansı ile SWT eleştirilmiştir). Swingin Java 1.5 ile performans açığını kapatacağı iddia edilse de SWT'nin de artık java camiasında kabul görmüş bir sistem olduğu aşıkardır. SWT'nin dezavantajı ise java'nin bir parçası olmamasıdır. yanı SWT uygulamaları SWT kütüphanesi ile birlikte dağıtılmaktadır. En bilinen SWT uygulaması ünlü java yazılım geliştirme aracı Eclipse'tir. Bununla birlikte son yıllarda Swing ile profesyonel derecede arayuza sahip masaüstü yazılımları da ortaya çıkmıştır. Sonuçta herşey yazılımcının aracı ne kadar efektif kullandığına bakıyor.

Applet
Applet, uzaktaki sistem üzerinden indirilip internet tarayıcı üzerinde çalıştırılabilien java uygulamalarına verilen isimdir. Java'nin son kullanıcılar tarafından tanınması applet sayesinde olmuştur dersek yanlış olmaz. Applet'ler sisteme zarar veremeyecek bir şekilde tasarlanmıştır ve bugün özellikle oyun sitelerinde halen yaygın olarak kullanılmaktadır. İçerisinde applet olan bir sayfayı açmaya çalıştığınızda tarayıcınız otomatik olarak java sanal makinesini çalıştırıp ekranın applet'e ayrılan bölümünde uygulamanın çalışmasını sağlar.


WebStart
Webstart teknolojisi Windows ve Linux sistemlerinin baş belası olan uygulama kurulum, güncelleme ve silme dertlerine deva olmak üzere tasarlanmış bir sistemdir. Özellikle Java 1.5 ile daha yaygın kullanılmaya başlayacağı tahmin edilen webstart teknolojisi kısaca yazılımların uzaktan yerel sisteme güvenli olarak kurulmasını ve korumalı bir alanda çalıştırılmasını sağlar. Appletlerin bir sonraki adımı olarak görülebilir. Bir webstart uygulamasını kurmak için internet üzerindeki özel bir bağlantıya tıklamak yeterli. Sistem otomatik olarak webstart sistemini çalıştırıp yazılımı java cep belleğine indirir. isterseniz masaüstüne kısayol koymasını da sağlar. Daha sonra sistem off-line ya da on-line olsa bile uygulama çalıştırılabilir, ve uzaktaki yazılım güncellendiğinde otomatik olara -istenirse- yerel makinedeki yazılımın da güncelenmesi sağlanabilir. Kullanıcının özel olarak izin vermesi halinde uygulama yerel sisteme erişim hakkı kazanabilir. Aksi taktirde webstart uygulamaları sisteme yazma işlemi gerçekleştiremezler (yanı virüs ve zararlı yazılım tehlikesini son derece aza indirger.)


Java Her yerde kullanılabilir mi? Hayır, java özellikle donanım sürücüsü geliştirme, işletim sistemi seviyesi yazılımlar, bazı özel grafik yazılımları, yüksek hızlı 3 boyutlu grafikli oyunlarda kullanmak için uygun değildir. Java 1.5 ve sonraki sürümlerde öpenGL desteği ile 3 boyutlu oyun uygulamalarında daha fazla kullanılması umuluyor.
Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

Ahmet (25.02.2016 22:56:44)
Gerçekten gabe.ın ilk merhaba dünya yazdığında hissetiğini aynı şekilde hissettim siteniz çok güzel çok teşekkür ederim bütün düşücelerim değişiti :D
%0 %0 %0
Katılıyorum Çekimserim Katılmıyorum



rhnknsz (02.04.2014 16:14:18)
k/\b
%75 %0 %25
Katılıyorum Çekimserim Katılmıyorum



(21.05.2013 11:08:34)
begendim
%29 %0 %71
Katılıyorum Çekimserim Katılmıyorum



(21.05.2013 11:08:19)
begend_m
%25 %0 %75
Katılıyorum Çekimserim Katılmıyorum



Mesut(24.09.2011 23:32:00)
@erhan yaptı: Dostum Algoritma ve Programlama dersi için Java gibi nesneye yönelik bir programlama dilinden ziyade C gibi genel programlama sentaksına sahip ve temel bir dil seçmek daha akıllıca olurdu diye düşünüyorum.
%58 %8 %33
Katılıyorum Çekimserim Katılmıyorum



poyraz(24.09.2011 14:41:36)
java hakkındaki bilgileriniz için teşekkürler....peki javayı pratik yoldan daha iyi nasıl öğrenebiliriz tavsiyeleriniz nelerdir..
%50 %8 %42
Katılıyorum Çekimserim Katılmıyorum



ah ki ne ah(02.02.2010 17:42:30)
Senin okulun gibi 3 yar doçla kurulmuş tabela bir devlet okulunu bitirdim bende. Sen ne kadar azimlide olsan bu tip okullar bataklık gibidir sen çırpındıkça seni aşağı çekerler 4 sene sonundada elinde diploma denen kağıtla salarlar kurtlar sofrasına.
Teorik programlama eğitimi olmaz java içinde süper bilgisayarlar ve lab. lazım değil desktop bilgisayar yeterli, sanırım hocan javadan çakmıyor dersi kağıtta işliyor uygulama yapmakta sana düşüyor.
%43 %0 %57
Katılıyorum Çekimserim Katılmıyorum



erhan yaptı(28.01.2010 19:20:18)
merabalar ben malatya ınonu unıversıtesı bılgısayar muhendıslığınde okuyorm. bolumum bu sene acıldı yanı ust sınıfım bulunmmuyor. algorıtma ve programlama dersınde java işliyoruz ama sınıfca hıçbırsey anlamıyoruz.laboratuarımız daha yenı kuruldu yanı laboratuarda ders ısleyemedık. sadece teorik olarak eğıtım gorduk. sızce hocamız javadan baslayarak bize iyilik mi yaptı yoksa kotuluk mu..
%31 %8 %62
Katılıyorum Çekimserim Katılmıyorum



muhammed(01.01.2010 20:03:33)
javacı arıyoruz
coder....bilgisayar mühendisi ,,,programcı aranıyor mail adresimle iletiişim halinde olabilir cv sini gönderebilir muhammedkosan@gmail.com
%23 %31 %46
Katılıyorum Çekimserim Katılmıyorum






Copyright© 2001-2017. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.