27 Nisan 2017 Perşembe

JAVA NEDİR ?

JAVA NEDİR ?

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen (yorumlanan-interpreted) bir dildir.
Java, Sun Microsystems'den James Gosling tarafından geliştirilen bir programlama dilidir (Sun Microsystem'in şu anda Oracle Corporation ile bağlı ortaklığı bulunmaktadır) ve 1995 yılında Sun Microsystems'in çekirdek bileşeni olarak piyasaya sürülmüştür. Bu dil C ve C++'dan birçok sözdizim türetmesine rağmen bu türevler daha basit nesne modeli ve daha az düşük seviye olanaklar içerir. Java uygulamaları bilgisayar mimarisine bağlı olmadan herhangi bir Java Virtual Machine (JVM)'de çalışabilen tipik bytecode'dur (sınıf dosyası).
Java'nın sık kullanılan sloganlarından biri olan, çevirisi "bir defa yaz, her yerde çalıştır" olan "write once, run anywhere" (WORA),Java'nın derlenmiş Java kodunun Java'yı destekleyen bütün platformlarda tekrar derlenmeye ihtiyacı olmadan çalışabileceğini ima eder. 2016 yılında bildirilen 9 milyon geliştiricisi ile, özellikle istemci sunucu web uygulamaları için olmak üzere, kullanımda olan en popüler programlama dillerinden birisidir.
Java ilk çıktığında daha çok küçük cihazlarda kullanılmak için tasarlanmış ortak bir düzlem dili olarak düşünülmüştü. Ancak düzlem bağımsızlığı özelliği ve tekbiçim kütüphane desteği C ve C++'tan çok daha üstün ve güvenli bir yazılım geliştirme ve işletme ortamı sunduğundan, hemen her yerde kullanılmaya başlanmıştır. Şu anda özellikle kurumsal alanda ve mobil cihazlarda son derece popüler olan Java özellikle J2SE 1.4 ve 5 sürümü ile masaüstü uygulamalarda da yaygınlaşmaya başlamıştır. Java'nın ilk sürümü olan Java 1.0 (1995) Java Platform 1 olarak adlandırıldı ve tasarlama amacına uygun olarak küçük boyutlu ve kısıtlı özelliklere sahipti. Daha sonra düzlemin 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 düzleme Java Platform 2 adı verildi ama sürüm numarası 2 yapılmadı, 1.2 olarak devam etti. 2004 sonbaharında çıkan Java 5, geçmiş 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. Java SE 8 ise Java teknolojisinin günümüz sürümüdür. 13 Kasım 2006'da Java düzlemi GPL ruhsatıyla açık kodlu hale gelmiştir.

Java programları nasıl çalıştırılır ?

Bir Java yazılımı şu şekilde geliştirilir;
  • Yazılımcı Java kodunu yazar.
  • Bu kod bir Java derleyicisi ile derlenir. Sonuçta "bytecode" adı verilen bir tür sanal makine kodu ortaya çıkar. Düzlem bağımsızlığını sağlayan bytecode'dur. Çünkü bir kere bytecode oluştuktan sonra yazılım sanal makine içeren tüm işletim sistemlerinde çalışabilmektedir.
  • Bu bytecode Java Sanal Makinesi (İng., Java Virtual Machine) tarafından işletilir. Bu aşama, her bir bytecode komutunun teker teker yorumlanması ile icra edilebileceği gibi, anında derleme kullanılarak da gerçekleştirilebilir.


Java ile İlgili Bazı Kavramlar

Nesneye yönelik yazılımlama mantığı;

Anında Derleme

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 yani "Just-in-time compile", "anında derleme" araçları üretmeye başladılar. Yapılan şey bytecode'u sanal makinenin kurulu olduğu gerçek sistemin diline anında derleme yaparak dönüştürmesiydi. Bu sayede verimde ciddi artışlar sağlandı. Ama 2000 yılından sonra geliştirilen sanal makinelerde (HotSpot gibi) 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 birkaç ürün (Excelsior JET gibi) pazarda bulunsa da genellikle bu yöndeki ihtiyaç azalmıştır.

Java API

Java API, Java yazılımlarında kullanılan yazılım kütüphanelerine genel olarak verilen isimdir. Java API ile disk, grafik, ağ, veri tabanı, güvenlik gibi yüzlerce konuda kullanıcılara erişim imkânı sunulur. Java API J2SDK'nın bir parçasıdır.

Atık Veri Toplayıcı

Atık veri toplama teknolojisi Java'dan önce de var olan ama Java ile adını duyurmuş ve yaygın olarak kullanılmaya başlanmış bir kavramdır. C++, C gibi dillerin en büyük engellerinden birisi dinamik bellek yönetimidir. Yazılımda gösterici (işaretçi; İng., 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 altyordamlar yardımıyla (delete, free vs.) iade etmeniz gerekir. Yoksa bellek sızıntısı (İng., memory Leak) oluşur ve bu bir süre sonra yazılımın ve işletim sisteminin beklenenden farklı davranmasına yol açabilir. Sızıntıların saptanması oldukça güçtür ve bulunması zor hatalara yol açar. Bu nedenle bugünün tüm büyük C ve C++ yazılımları az da olsa bellek sızıntısı içerir (işletim sistemleri dahil).
Atık veri 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 uyarlamalı yöntemlerle otomatik olarak temizler ve sisteme iade eder. Bu işleme çöp toplama (İng., 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 bellek sızıntısı 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 (İng. Java Archive), 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 bytecode 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 girdi. Pack200 adı verilen hiper-compression algoritması ile jar dosyaları daha küçük boyutlara indirilebiliyor. Ancak bu teknoloji daha çok ağ üzerinden yapılan transferlerde kullanılıyor. Daha fazla ayrıntı için buraya bakınız.

AWT ve Swing

AWT, ilk Java ile birlikte geliştirilen temel grafik arayüz oluşturma kütüphanesine verilen isimdir. AWT işletim sisteminin doğal grafik yapılarına erişimi sağlar. Ancak Java 2 platformu ile birlikte AWT yetersiz görülmüş ve çok daha geniş ve gelişmiş özelliklere sahip Swing kütüphanesi 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 5 ve 6 ile donanım özellikle OpenGL-DirectX kullanımı ve yeni arayüz gösterim şekli ile Java'nın masaüstü uygulama geliştirmede popülerleşmesi bekleniyor. AWT halen Swing'in bir alt katmanında, temel iki 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 sisteminin 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. Swing'in Java 1.5 ile performans açığını kapattığı iddia edilse de SWT'nin de artık Java camiasında kabul görmüş bir sistem olduğu açıktır. SWT'nin dezavantajı ise Java'nin bir parçası olmamasıdır. Yani SWT uygulamaları SWT kütüphanesi ile birlikte dağıtılmaktadır. Ayrıca SWT farklı işletim sistemlerinde farklı olgunluk ve performansta işlemektedir ve özellikle Windows dışı sistemlerde henüz yeterince olgunlaşamamıştır. En bilinen SWT uygulamaları ünlü Java yazılım geliştirme aracı Eclipse ve BitTorrent uygulaması Azureus'tur.

HotSpot Teknolojisi

Sun tarafından geliştirilen 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. HotSpot sanal makinesi şu anda iki ayrı modda sanal makinenin çalışmasını sağlamaktadır: İstemci (Client) ve Sunucu (Server) modları. İstemci modunda bytecode büyük ölçüde daha başlangıçta JIT ile sistemin öz makine koduna dönüştürülerek işletilir ama çalışma anında daha fazla iyileştirme işlemi gerçekleştirilmez. Bir uygulamanın hızı istemci modunda zaman içinde bu nedenle değişmez. Sunucu modunda ise sanal makine başlangıçta bytecode'unu sistemin öz koduna dönüştürmekte acele etmez. Bu nedenle sunucu modu başlangıçta istemci modundan oldukça yavaştır. Yazılım çalışmaya devam ettikçe sanal makine yazılımdaki sıcak noktaları tespit edip bytecode'u sadece JIT ile makine koduna dönüştürmekle kalmaz, ayrıca oldukça yoğun bir iyileştirmeye de tabi tutar. Sonuçta sunucu modunda uygulamalar zaman içinde hızlanır, uzun soluklu uygulamaların bu nedenle sunucu modunda işletilmesi önerilir. Mustang kod adlı Java SE 6'da istemci modunda da benzeri bir teknolojinin kullanılması bekleniyor. Dolphin kod adlı Java SE 7'de ise bu iki mod arasındaki fark azalacağından sistemin tek modda çalışması bekleniyor.

Uygulamacık

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

WebStart

WebStart teknolojisi 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. Applet'lerin bir sonraki adımı olarak görülebilir. Bir WebStart uygulamasını kurmak için internet üzerindeki özel bir bağlantıya tıklamak yeterlidir. Sistem otomatik olarak WebStart sistemini çalıştırıp yazılımı Java cep belleğine indirir. İstenirse masaüstüne kısayol koymasını da sağlar. Daha sonra sistem çevrimiçi (online) ya da çevrimdışı (offline) olarak çalıştırılabilir ve uzaktaki yazılım güncellendiğinde otomatik olarak -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 takdirde WebStart uygulamaları sisteme yazma işlemi gerçekleştiremezler (yani virüs ve zararlı yazılım tehlikesini son derece aza indirger.)


24 Nisan 2017 Pazartesi

CPU Z NE İŞE YARAR


Özellikle bilgisayarınıza format attıktan sonra, hele ki anakart sürücüsü dosyalarını barındıran cd nizi de bulamıyorsanız işlemci ve anakart modelinizin ne olduğunu öğrenmek için kasanın içini açmaktan başka şansınız kalmayabilirdi. Taki Cpu-z programı yapılana dek.
Bu küçük yazılım boyundan büyük işler yapmakta. Çok kısa bir sürede bilgisayarınızın, işlemcisi, anakartı, önbellek ve ram miktarları ve çalışma frekansları konusunda sizi bilgilendiriyor. Yani işlerinizi oldukça kolaylaştırıyor.
Sonrasında anakart üreticisinin web sitesine girerek istediğiniz uyumlu kart ve chipsetlerin driverlarını bilgisayarınıza sorunsuzca indirip kurabilirsiniz.
CPU-Z Programı Ne İşe Yarar ?

Cpu-z programı ilk açıldığında sizi küçük bir pencere ile karşılar. Bu pencerede işlemcinizin (cpu nun) adı, kod ismi, teknolojisi, çalışma hızı, L1-L2 Cache bilgileri ve kaç çekirdek olduğu bilgilerini görebiliyoruz.
Anakartın adı, modeli, üretici firması, desteklediği slot ve grafik kart bilgilerini, sistemde takılı geçici hafıza (Ram) boyutunu, çalışma frekansını, kaç adet slotta takılı olduklarını, kullandıkları voltajı, L1-L2-L3 cachelerin detaylı açıklamalarını bulabilirsiniz.
Bu bilgileri özellikle yeni bir bilgisayar edindiğinizde ya da format atılmış ve anakart bilgilerini bilmediğiniz bir bilgisayarın chipset ya da sata driverlarını kurmak için ön bilgi toplamak amacıyla elde etmek gerekebiliyor. Ya da anakartınıza ram alacaksınız ama diğer ram slotundaki ram ile uyumsuzluk göstermemesi için çalışma frekansı farklı olmaması gerekiyor. İşte bu aşamada Cpu-Z devreye girerek sizi tüm bu bilgilere çok kısa bir şekilde ulaştırıyor.
Ayrıca programın boyutu oldukça küçük. 1.5 MB lik dosyayı flash belleğinizde rahatlıkla taşıyabilir ve çalıştırdığınız bilgisayarın tüm bilgilerine anında ulaşabilirsiniz.
Programın Kısayolları
F5 tuşuna basarak uygulamanın çalıştığı dizinde cpu.bmp , cache.bmp , mainboard.bmp ve memory.bmp isimlerindeki resim dosyalarında bilgisayar anakart, cpu ve ram gibi bilgileri kaydedebilirsiniz.
F6 tuşu mevcut bulunduğunuz sayfayı panoya kopyalar.

KAYIT DEFTERİ

kayıt defteri nedir: 

Registry: Registry, Windows’un kullandığıtüm bilgilerin sakladığıbir veri tabanıdır. Bu dosya REGistry EDITor (Kayıt Düzenleyici) sözcüklerinin kısaltılmışıdır. Bir programı çalıştırdığınızda, önce Registry’de önceden belirlenmişayarlara bakar ve sisteminize uygun olarak nasıl çalışacağını öğrenir.Hatta sisteminizi açtığınızda Windows’un bazı aygıtları tanıması için gerekli bilgilerde burada yer alır. 

Windows’ta WINDOWS dizininde regedit.exe doyası, Windows NT’de ise WINNT/SYSTEM32 dizininde regedit32.exe dosyası olarak yer alır. 

Registry bilgilerine, Windows 9x ile gelen kayıt düzenleyici (registry editor) programı ile ulaşır.Bu programı çalıştırmak için Başlat’ıve sonra da Çalıştır'ı tıklatınız, Aç kutusunaRegedit yazınız ve sonra da enter ya da Tamam'ı tıklatınız-
.

Kayıt Dosyaları

Windows 9x’i kurarken, donanım aygıtlarınız tanımlanır. Windows 9x Registry’sini oluşturan SYSTEM.DAT ve USER.DAT adlıiki dosyada saklanır. Bu dosyalar /Windows klasörü altındadır. SYSTEM.DAT bilgisayara özgü (Genelde Donanımla ilgili) bilgileri saklarken, USER.DAT kullanıcıya özgü bilgileri (Masaüstü Ayarları, kullanıcının seçtiği renk, çözünürlük vs.) içerir. 

Sisteminizi bir ağbilgisayarıgibi kurduysanız sisteminizi kapatırken farklıbir kullanıcı olarak oturum açma seçeneğini görmüşsünüzdür. İşte bu seçeneği kullanıp farklıbir kullanıcı ismi ile Windows 9x’i başlatırsanız, birden fazla kullanıcı tanımına sahip olusunuz. Böylece Windows 9x arabirimini farklışekillerde özelleştirebilirsiniz. İşte bu durumda farklı kullanıcılara ait USER.DAT dosyaları/Windows/profile/kullanıcıadı klasöründe saklanır. 

Windows işletim sistemi bu iki dosya ile ne yapar? Sisteminiz açılırken adım adım ‘boot’ sırasını takip ettiyseniz öncelikle sistem kayıtlarının ( System Registry) yüklendiğini göreceksiniz. Çünkü SYSTEM.DAT dosyası yazılımlarınızın sisteminizdeki çeşitli donanımlarla doğru şekilde anlaşılabilmesi için gerekli bilgileri içerir. 

Windows 9x başarıyla açılmışsa SYSTEM.DAT ve USER.DAT dosyalarının yedeklerini SYSTEM.DA0 adlarıyla yine /Windows klasöründe saklar. Windows 9x ile çalışırken registry sürekli olarak güncellenir. Sistemi kapattığınızda ise registry’deki bilgiler tekrar bu .DAT dosyalarına kaydedilir. Sistem dosyalarınızda Windows 9x’in tekrar açılmasını önleyecek bir bozukluk oluşmuşsa Windows 9x, .DA0 soyadlı yedeklere bakarak sisteminizi açar


Kayıt Yapısı ve Düzenleme 


Registry editörü görünüşaçısından olduğu gibi kullanılışaçısından da Windows ile beraber gelen dosya yöneticisi olan EXPLORER’e benzer. Sol tarafta anahtarlar ve sağ tarafta da değerler sıralanır. Veri bankasının çok karışık yapısınedeniyle editör içine birde arama fonksiyona entegre edilmiştir. Anahtar, değer verilere göre arama yapar. CTRL+F tuş kombinasyonu ile arama fonksiyonunu çağırabilirsiniz. 

REGISTRY editöründeki her dala Key (Anahtar) adıveriliyor. Her anahtarın altında alt-anahtarlar ve değerler yer alabiliyor. Bu alt anahtarların altında da başka alt anahtarlar ve değerler bulunabilir. Bu değerler üç çeşittir. STRING (Dize değeri), BINARY (İkili değer) ve DWORD olabilir. Bu değerler kullanım amacına göre değişiklikler gösterebilir. 

REGISTRY editöründe altıana dal bulunuyor. Her dal, sistem kaydındaki bilgileri gruplamak için kullanılır. Bu ana dallarıaçıklayalım: 


HKEY_CLASSES_ROOT: Bu dalda dosya türleri ve OLE (object linking and embedding- nesne bağlama ve gömme) hakkındaki bilgiler saklanır. OLE sistemini kullananuygulamalar bilgileri bu dalın alt dallarından alabilir. Bu klasörün yanındaki + işaretini tıkladığımızda karşımıza *.323 gibi dosya uzantılarıgelir. Burada hangi uzantının hangiprogramla bağlantısı olduğuna dair bilgiler tutulur. 

HKEY_CURRENT_USER: HKEY_USERS bölümünün, o anki aktif kullanıcı için ayrılmış ve ayarlanmış olan değerlerine buradan erişebilirsiniz. USER.DAT dosyasının içeriğindeki bilgiler burayla ilişkilidir. Kısaca Windows’u kullanan kişilerin kendi isteklerine göre yaptıklarıayarlarla ilgili bilgiler burada tutulur. 

HKEY_LOCAL_MACHINE: Bilgisayarınızda kurulu durumda bulunan bütün yazılım ve donanım bileşenlerinin bilgileri ve ayarları bu bölümde tutulur.Birden fazla donanım profili programlayabileceğiniz için o an aktif olan donanım ve yazılım ayarları HKEY_CURRENT_CONFIG bölümünde gösterilir.

HKEY_USERS: Bilgisayarın bütün kayıtlıkullanıcılarının özelleştirilmişayarları (Renkler, denetim masasıayarlarıvs.) bu bölümde kayıtlıdır. Windows 98 çoklu kullanıcı tarafından özelleştirilme seçeneğine sahiptir; ancak genelde DEFAULT adında tek bir kullanıcıdan söz edilir bu bölümde. O anda bilgisayarı kullanmakta olan kullanıcının özel ayarları HKEY_CURRENT_USER bölümünde gösterilir. 

HKEY_CURRENT_CONFIG: Bu dalda 0 anda aktif olarak kullanılmakta olan donanım ve yazılım ayarlarına gitmek için bu daldan ulaşabilirsiniz. 


HKEY_DYN_DATA : Bu dalda Windows 98 ‘in dinamik olarak değişebilen tak ve kullan (Plug-and-Play) ayarlarının ve değerlerinin gösterildiği bölüme ulaşmak için kullanılır. 

Registry Editor (Kayıt Düzenleyicisi); yani REGEDIT.EXE Windows 98’in bütün REGISTRY ayarlarınıgörüntüleme, silme veya değiştirme seçeneği içerir. Kayıt düzenleyicisini açtığınızda dikine ikiye bölünmüşbir uygulama penceresi ile karşılaşırsınız. Sol tarafta ağaç yapısı ve klasörler, sağ taraftaki bölümde ise o anda seçili durumda olan klasörün içinde yer alan değerler listelenir.