Java Kurulumu ve İlk Ayarları – I: Platformlar ve Java

Bu yazıda “bir makinaya Java nasıl kurulur” ve “kullanım için gerekli ilk ayarları nasıl yapılır”ı ele alacağız. Önce bazı tanımlarla işe başlayalım.

Platformlar

Platform: Donanım ve yazılımdan oluşan sisteme denir. Yazılım dünyasında platform ile, bilgisayar donanımı ve üzerinde çalışan işletim sistemi (İS) (operating system (OS)) kastedilir.

Platform = Donanım + İS

Örneğin, i7 gibi Intel CPU mimarisi (x86) üzerinde çalışan Windows (Wintel), Mac OS (MacIntel) ya da Linux işletim sistemleri farklı birer platformdurlar.

Platformaların en ayırt edici özelliklerinden birisi 32-bit ya da 64-bit olmalarıdır. Bu ayırım, Java (ve aslen 32 ve 64-bitlik ayrı sürümleri olan diğer yazılımlar) ile ilgili kurulumlarda yanlış yapmamak için önemlidir. Dolayısıyla platformunuzun 32/64 bitlik olduğunu daima bilin.

Bu burada aşağıdaki 3 platformu kullanacağız ve gerektiğinde Java açısından aralarındaki farklılıkları belirteceğiz:

  • Intel i7 CPU üzerinde Windows 10
  • Intel i7 CPU üzerinde Mac OS 10.12 (Sierra)
  • Intel i7 CPU üzerinde Linux Ubuntu (Mac OS 10.12’da Oracle VMBox üzerinde)

Platformların sürümleri arasında Java açısından zaman zaman ufak-tefek farklılıklar olabileceğini daima göz önünde bulundurun. Burada böyle durumlar karşılaşıldıkça belirtilecektir. Ayrıca Linux Ubuntu için anlatılanların farklı Linux paketleri için geçerli olmama ihtimali de söz konusudur. Dolayısıyla platformunuz farklıysa, geçerli olan kurulum ve ayarları kendinizin bulması gereklidir.

MS Windows

MS Windows’da genel olarak Control Panel’den giderek platformunuzun bit bilgisini öğrenebilirsiniz.

Control Panel=>System and Security=>System

Detaylı bilgi için: https://support.microsoft.com/en-us/help/827218/how-to-determine-whether-a-computer-is-running-a-32-bit-version-or-64 

Mac OS

Mac OS’da, sol üst kösedeki Apple logosuna tıklayıp, About This Mac => System Report => Hardware => Processor Name bilgisini buradaki liste ile karşılaştırın.10.6 Snow Leopard, 32-bit olarak çalışabilen en son Mac OS sürümüdür, bundan sonraki sürümler zaten 64-bittir. Ayrıca terminalde getconf LONG_BIT komutu da size 32 ya da 64 cevabını verecektir. Ya da yine terminalde uname -m komutu size x86_64 cevabını verirse 64-bitlik sisteme sahipsiniz demektir. Detaylı bilgi için: https://support.apple.com/tr-tr/HT201948

Linux

Linux Ubuntu ya da Debian’da System Settings => System => Details sayfasında sisteminizin kaç bitlik olduğu belirtilmiştir. Ayrıca Mac OS’taki gibi Ubuntu ya da Debian’da da terminalde getconf LONG_BIT komutu size 32 ya da 64 cevabını verecektir. Ve yine terminalde uname -m komutu size x86_64 cevabını verirse 64-bitlik sisteme sahipsiniz demektir.

JDK, JRE ve JVM

JDK, Java Development Kit’in kısaltmasıdır. Java SDK (Software Development Kit) de denir. Java ile kod geliştirmek için gerekli yazılım geliştirme kitidir. (Kit: Malzeme/alet takımı, çantası.) JDK, Java kodlarını derlemek (compilation), debug etmek, çalıştırmak (run) vb. işler için gerekli araçları içerir. JDK’da bulunan araçlardan en önemli ikisi, komut satırında aşağıdaki komutlarla çağrılır:

  • javac: Java derleyicisidir (compiler), Java kaynak kodlarını derler.
  • java: Java yorumlayıcısıdır (interpreter), Java’nın çalışma zamanı ortamını başlatır.

JDK, bir editör ya da IDE barındırmaz. Her platform için ayrı JDK gereklidir.

JRE, Java Runtime Environment’in kısaltmasıdır. Java’nın çalışma zamanı ortamını/yapısını temsil eder ve JVM ile Java kütüphanelerini barındırır. java komutuyla başlatılır.

JVM: Java Virtual Machine’in (Java Sanal Makinası) kısaltmasıdır ve derlenmiş Java kodlarının üzerinde çalıştığı yazılımdır, sanal bir makinadır.

Kütüphaneler ise JRE ile birlikte gelen ve kod yazmayı kolaylaştıran hazır yapılardır.

Java’da geliştirme yapmak için JDK, geliştirilmiş Java uygulamaların çalışması için JRE gereklidir. Yazılım geliştiricilerin makinalarında JDK, sunucu (server) makinalarında ve Java’nın üzerinde çalıştığı saat, telefon, araba vb. ortamlarda ise JRE bulunur. JDK, JRE’yi de içerir. Dolayısıyla, bundan sonra “Java’yı kurmaktan” ya da “bir ortamda Java olmasından” bahsettiğimizde aksini söylemedikçe daima JDK’yı kastedeceğiz.

Makinamda Java Var mı?

Geliştirici olarak makinamızda bize JDK gereklidir. Peki, bir makinada Java olup olmadığını nasıl anlarız? Bu soru daha detaylı olarak şöyle sorulabilir:

  • Makinamda Java var mı? Varsa
    • Sadece JRE mi var?
    • Yoksa JDK de var mı?

Bir makinada JDK olup olmadığını anlamanın en hızlı yolu komut satırını açıp “javac -version” komutunu çalıştırmaktır. JRE olup olmadığını anlamak için ise “java -version” komutu çalıştırılır. Bu komutlar bulunamazsa, o makinada JDK ya da JRE olmadığını söyleyemeyiz ama en azından gerekli ayarların yapılmadığını, dolayısıyla Java’ya komut satırından ulaşılamadığını söyleyebiliriz.

Benim makinamda “javac -version” çalıştırınca “javac 1.8.0_144” cevabını, “java -version” çalıştırınca da

          java version “1.8.0_144”
         Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
         Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

cevabını alıyorum. İkisi de aynı sürüm olduğuna göre yüksek ihtimalle JDK kurulu ve içinde JRE de var, nitekim durum bu. Ayrıca cevap, makinamdaki JVM’nin, 64 bitlik HotSpot sunucu için JVM olduğunu da söylüyor.

Ayrıca şu durumlara da dikkat etmek gereklidir: Bir makinada birden fazla, aynı ya da farklı sürümlerde, JDK’lar ve JRE’ler olabilir.  Her JDK içinde bir JRE vardır ama JDK olmaksızın, farklı JRE’ler de kurulmuş olabilir. Dolayısıyla komut satırından ulaşılan JDK ya da JRE, makinadaki tek kurulum olmayabilir.

Peki, eğer makinamda JDK(lar) ya da JRE(ler) varsa, nerededirler? Bu sorunun cevabı kolay değildir çünkü:

  • JDK ve JRE’nin, varsayılan yani hiç bir değişiklik yapılmadan kurulduğundaki yeri, farklı işletim sistemlerinde farklıdır, hatta aynı işletim sisteminin farklı sürümlerine göre de değişebilir.
  • Ayrıca kurulum sırasında varsayılan yer kullanılmayıp farklı bir yere kurulum yapılmış da olabilir.
Windows’da Java

Microsoft Windows makinalarda JDK ve JRE’nin varsayılan yeri “C:\Program Files\Java”dır.  Dolayısıyla bu dizinde bir ya da daha çok JDK ve JRE kurulum dizini bulunabilir, örneğin:

          C:\Program Files\Java\jdk1.8.0_144.jdk

  • C:\Program Files\Java\jre1.7.0_45

Microsoft platformları 32-bit ya da 64-bit olabilir. Dolayısıyla bu durum, 32-bit Windows’a 32-bit, 64-bit Windows’a 64-bit JDK (JRE) kurulduğunda böyledir. Eğer, 64-bit Windows’a 32-bit JDK (JRE) kurulursa, varsayılan kurulum patikası “C:\Program Files (x86)\Java” olur. 32-bit Windows makinaya ise 64-bit JDK (JRE) kurulamaz.

Mac OS’da Java

Mac OS, 64-bittir ve sadece 64-bit JDK’sı (JRE’si) vardır. JDK’nın tipik kurulumlarında varsayılan yer  “/Library/Java/JavaVirtualMachines/“ patikasıdır, örneğin:

/Library/Java/JavaVirtualMachines/jdk-9.jdk

/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk

Mac OS’da , JRE’nin varsayılan patikası başka bir dizindedir: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin. Mac OS’da tipik olarak sadece bir tane JRE kurulumu olabilir. Her yeri JRE, yukarıdaki dizine, diğerini silerek kurulur. İstenirse farklı dizinlere farklı JRE’ler kurulabilir.

Linux’da Java

Linux platformları 32-bit ya da 64-bit olabilir. Bazı Linux dağıtımları Java kurulumuyla gelebilir. Örneğin Debian 9’da, OpenJDK 8 JRE vardır. Dolayısıyla, Debian 9’da JDK olmadığından “javac -version” çalışmaz ama “java -version” çalışır haldedir. Bu yüzden Java geliştirme için Debian 9’a JDK kurmak gereklidir. Ubuntu herhangi bir Java kurulumu ile gelmez, sizin kurmanız gereklidir.

Ubuntu ve Debian kurulduğunda, JDK’yı tipik olarak /usr/lib/jvm patikasına kurar. Ubuntu ayrıca bazı linkler de yaratır: javac ve java komutları /usr/bin/javac ve /usr/bin/java ile eşleştirilir. Dolayısıyla kurulumla beraber “javac -version” ve “java -version” çalışır gelir.

Bazı işletim sistemlerinde, sistemdeki Java kurulumları ile ilgili bilgi veren yapılar vardır. Örneğin, Mac OS’da “Java Control Panel”i vardır. Buna System Preferences => Java ile ulaşabilirsiniz.

Standart patikalarda JDK (JRE) bulunamazsa, geriye “javac” ya da “java” gibi çalıştırılabilir (executable) dosyaların tüm sistemde aranması kalır. Bunun için işletim sistemlerindeki arama (search) yapılarının kullanılması gereklidir. Dolayısıyla gerekmedikçe Java’yı varsayılan, patikaya kurmak yönetim açısından daha iyidir.

Bu yazıda platformumuza Java’yı kurmadan önce yapılamsı gerekenlerden bahsettik, bir sonraki yazıda kurulum ve ilk ayarları ele alacağız.

Toplam görüntülenme sayısı: 5162