Java, dünya genelinde milyonlarca geliştirici tarafından kullanılan, platform bağımsız çalışan, nesne yönelimli (OOP) bir programlama dilidir. İlk kez 1995 yılında Sun Microsystems tarafından geliştirilen Java, günümüzde Oracle tarafından geliştirilmeye devam etmektedir. Güçlü ekosistemi, yüksek performansı, güvenliği ve uzun yıllardır kurumsal şirketler tarafından tercih edilmesi sayesinde yazılım dünyasının en önemli teknolojilerinden biri olmayı sürdürmektedir.
Bankacılık sistemlerinden e-ticaret platformlarına, mikroservis mimarilerinden Android uygulamalarına kadar çok geniş bir kullanım alanına sahip olan Java; Spring Boot, Hibernate, Maven, Gradle ve Tomcat gibi güçlü araçlarla birlikte modern yazılım geliştirme süreçlerinin temel taşlarından biridir.
Bu rehberde yalnızca “Java nedir?” sorusunun cevabını değil; Java’nın nasıl çalıştığını, nerelerde kullanıldığını, avantajlarını, dezavantajlarını, JDK, JRE ve JVM arasındaki farkları, Java EE, Spring Boot ve Hibernate gibi önemli teknolojileri de detaylı şekilde öğreneceksiniz.
Java Nedir?
Java; yüksek seviyeli, nesne yönelimli, güçlü tip denetimine sahip, platform bağımsız çalışan genel amaçlı bir programlama dilidir.
Java’nın en önemli sloganı şudur:
Write Once, Run Anywhere (Bir Kez Yaz, Her Yerde Çalıştır)
Bu ifade Java’nın en büyük avantajını anlatır.
Bir Java uygulaması Windows’ta geliştirildikten sonra Linux, macOS veya farklı işletim sistemlerinde yeniden derlenmeden çalıştırılabilir.
Bunun mümkün olmasını sağlayan teknoloji ise JVM (Java Virtual Machine)’dir.
Java doğrudan makine koduna çevrilmez.
Önce bytecode oluşturulur.
Bu bytecode JVM tarafından çalıştırılır.
Bu mimari sayesinde platform bağımsızlık sağlanır.
Java’nın Tarihçesi
Java’nın hikayesi 1991 yılında Green Project isimli bir araştırma projesiyle başladı.
James Gosling ve ekibi başlangıçta televizyonlar gibi akıllı cihazlar için yeni bir dil geliştirmeyi hedefliyordu.
İlk adı Oak olan bu dil daha sonra Java adını aldı.
1995 yılında resmi olarak duyuruldu.
Önemli kilometre taşları:
| Yıl | Gelişme |
|---|---|
| 1991 | Green Project başladı |
| 1995 | Java yayınlandı |
| 1998 | Java 2 (J2SE, J2EE) |
| 2006 | Açık kaynak oldu |
| 2010 | Oracle Sun Microsystems’i satın aldı |
| 2014 | Java 8 yayınlandı (Lambda) |
| 2018 | 6 aylık sürüm modeli başladı |
| 2023+ | Java 21 LTS yayınlandı |
Bugün Java sürekli geliştirilen modern bir programlama dilidir.
Java Neden Bu Kadar Popüler?
Java yaklaşık 30 yıldır popülerliğini kaybetmeyen nadir teknolojilerden biridir.
Bunun temel sebepleri şunlardır:
- Platform bağımsız çalışması
- Çok güçlü topluluk desteği
- Devasa açık kaynak ekosistemi
- Güvenlik
- Performans
- Kurumsal firmaların yıllardır Java kullanması
- Sürekli güncellenmesi
- Geriye dönük uyumluluk
Özellikle;
- Bankalar
- Sigorta şirketleri
- Telekom firmaları
- Kamu kurumları
- Büyük e-ticaret platformları
halen Java kullanmaktadır.
Java’nın Temel Özellikleri
Nesne Yönelimli Programlama (OOP)
Java tamamen Object-Oriented Programming yaklaşımını benimser.
Temel prensipler:
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
Örneğin:
public class Customer {
private String name;
public Customer(String name){
this.name=name;
}
public void print(){
System.out.println(name);
}
}
Bu yapı büyük projelerde kodun yönetilebilir olmasını sağlar.
Platform Bağımsızdır
Java uygulamaları;
- Windows
- Linux
- macOS
üzerinde çalışabilir.
Tek şart JVM’nin kurulu olmasıdır.
Güvenlidir
Java;
- Pointer kullanmaz
- Belleği doğrudan yönetmez
- Sandbox mantığıyla çalışır
- Güçlü güvenlik API’leri sunar
Bu nedenle bankacılık sektöründe yaygın olarak tercih edilir.
Garbage Collector
Java geliştiricisi bellek yönetimi yapmak zorunda değildir.
Kullanılmayan nesneler Garbage Collector tarafından temizlenir.
Bu;
- Memory Leak riskini azaltır
- Geliştirici verimliliğini artırır
Çok Thread Desteği
Java aynı anda onlarca işlemi gerçekleştirebilir.
Örneğin;
- Dosya okuma
- API çağrısı
- Database işlemi
aynı anda yürütülebilir.
Java Nerelerde Kullanılır?
Java oldukça geniş kullanım alanına sahiptir.
1. Web Uygulamaları
En yaygın kullanım alanlarından biridir.
Spring Boot ile;
- REST API
- Backend servisleri
- Yönetim panelleri
- CRM
- ERP
geliştirilebilir.
2. Kurumsal Yazılım Geliştirme
Java yıllardır enterprise dünyasının standartlarından biridir.
Örnekler:
- SAP Commerce Cloud
- Finans sistemleri
- İnsan kaynakları yazılımları
- ERP
- BPM
- Workflow sistemleri
3. Bankacılık
Bankalar;
- yüksek güvenlik
- yüksek performans
- transaction yönetimi
nedeniyle Java tercih eder.
4. E-Ticaret
Birçok büyük e-ticaret altyapısı Java kullanmaktadır.
Örneğin;
- Sipariş yönetimi
- Kampanya motorları
- Ürün yönetimi
- Ödeme sistemleri
5. Mikroservis Mimarileri
Spring Boot sayesinde Java mikroservis geliştirmede en güçlü seçeneklerden biridir.
Her servis bağımsız çalışabilir.
Avantajları:
- Ölçeklenebilirlik
- Kolay bakım
- Hızlı deployment
6. Android (Tarihsel Olarak)
Android’in ilk yıllarında Java resmi geliştirme diliydi.
Günümüzde Kotlin önerilse de Java desteği devam etmektedir.
Java ile Neler Yapılabilir?
Java kullanarak geliştirilebilecek uygulamalar neredeyse sınırsızdır.
Örnekler:
- REST API
- ERP
- CRM
- Muhasebe programları
- Web servisleri
- Mobil uygulamalar
- Chat uygulamaları
- Oyun sunucuları
- IoT sistemleri
- Yapay zekâ servisleri
- Veri işleme uygulamaları
- Log analiz sistemleri
- E-Ticaret platformları
- Marketplace altyapıları
- Ödeme sistemleri
- Kimlik doğrulama servisleri
- Raporlama sistemleri
Java’nın Çalışma Mantığı
Java’nın çalışma süreci aşağıdaki gibidir:
Java Kodu
↓
Compiler (javac)
↓
Bytecode (.class)
↓
JVM
↓
İşletim Sistemi
↓
Makine Kodu
Bu mimari sayesinde platform bağımsızlık elde edilir.
JDK, JRE ve JVM Arasındaki Fark
Java öğrenenlerin en çok karıştırdığı konulardan biri budur.
| Özellik | JVM | JRE | JDK |
|---|---|---|---|
| Java kodunu çalıştırır | ✔ | ✔ | ✔ |
| Compiler içerir | ❌ | ❌ | ✔ |
| Geliştirme yapılabilir | ❌ | ❌ | ✔ |
| Runtime içerir | ✔ | ✔ | ✔ |
| Debug araçları | ❌ | ❌ | ✔ |
JVM Nedir?
JVM (Java Virtual Machine), Java bytecode’unu çalıştıran sanal makinedir.
Görevleri:
- Bytecode çalıştırmak
- Bellek yönetimi
- Garbage Collection
- Thread yönetimi
- Güvenlik
JRE Nedir?
Java Runtime Environment;
Java uygulamalarını çalıştırmak için gereken ortamdır.
İçerisinde:
- JVM
- Core kütüphaneler
bulunur.
JDK Nedir?
Java Development Kit;
Java geliştirmek için gereken tüm araçları içerir.
İçerisinde:
- JRE
- JVM
- javac
- debugger
- javadoc
- jar
- jshell
bulunur.
Java EE (Eski Adıyla J2EE) Nedir?
Java EE (günümüzde Jakarta EE), kurumsal uygulamalar geliştirmek için oluşturulmuş standartlar bütünüdür.
Java SE’nin üzerine eklenen API’lerden oluşur.
Başlıca bileşenler:
- Servlet
- JSP
- CDI
- JMS
- JPA
- Bean Validation
- Transactions
- Security
Java EE sayesinde geliştiriciler ortak standartlar üzerinden büyük ölçekli uygulamalar geliştirebilir.
Spring Boot Nedir?
Spring Boot, Java ekosistemindeki en popüler frameworklerden biridir.
Amaçları:
- Hızlı geliştirme
- Daha az konfigürasyon
- Production-ready uygulamalar
- Gömülü sunucu desteği
Örnek bir REST API:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "Merhaba Dünya";
}
}
Tek satırlık bir uygulamayla API yayınlamak mümkündür.
Spring Boot’un sunduğu avantajlardan bazıları:
- Embedded Tomcat
- Dependency Injection
- Spring Security
- Spring Data JPA
- Actuator
- Validation
- Cache desteği
- Scheduling
- Messaging entegrasyonları
Bu nedenle modern Java backend geliştirme projelerinin büyük bölümü Spring Boot üzerine kuruludur.
Hibernate Nedir?
Hibernate, Java dünyasında en yaygın kullanılan ORM (Object Relational Mapping) framework’üdür.
Veritabanı tablolarını Java nesneleri ile eşleştirir.
SQL yazmadan temel CRUD işlemleri yapılabilir.
Örnek:
@Entity
public class Product {
@Id
private Long id;
private String name;
private BigDecimal price;
}
Hibernate;
- MySQL
- PostgreSQL
- Oracle
- SQL Server
gibi birçok veritabanını destekler.
Avantajları:
- Daha az SQL kodu
- Transaction yönetimi
- Lazy Loading
- Cache desteği
- İlişki yönetimi (OneToMany, ManyToOne, ManyToMany)
- JPQL ve Criteria API desteği
Ancak karmaşık sorgularda geliştiricilerin SQL bilgisine de sahip olması önemlidir.
Tomcat Nedir?
Apache Tomcat, Java tabanlı web uygulamalarını çalıştıran hafif bir uygulama sunucusudur.
Başlıca görevleri:
- Servlet çalıştırmak
- JSP desteği sağlamak
- HTTP isteklerini karşılamak
- Web uygulamalarını yayınlamak
Spring Boot ile geliştirilen uygulamalarda genellikle gömülü (Embedded) Tomcat kullanılır. Böylece ayrıca sunucu kurulumu gerekmeden uygulama tek bir JAR dosyası olarak çalıştırılabilir.
Maven ve Gradle Nedir?
Java projelerinde bağımlılık yönetimi ve derleme süreçleri için en çok kullanılan iki araç Maven ve Gradle’dır.
| Özellik | Maven | Gradle |
|---|---|---|
| Yapılandırma | XML | Groovy/Kotlin DSL |
| Öğrenme Eğrisi | Daha kolay | Biraz daha dik |
| Performans | İyi | Genellikle daha hızlı |
| Esneklik | Orta | Çok yüksek |
| Büyük projeler | Yaygın | Yaygın |
Maven örneği (pom.xml):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Bu yapı sayesinde gerekli kütüphaneler otomatik olarak indirilir ve projeye eklenir.
Java Frameworkleri
Java’nın güçlü olmasının en önemli nedenlerinden biri zengin framework ekosistemidir.
En yaygın kullanılan frameworkler:
- Spring Framework
- Spring Boot
- Hibernate
- Jakarta EE
- Quarkus
- Micronaut
- Apache Struts
- Vaadin
- Apache Camel
Framework seçimi yapılırken projenin ölçeği, performans beklentisi, ekip deneyimi ve bakım maliyetleri birlikte değerlendirilmelidir.
Java’nın Avantajları
Java’nın uzun yıllardır tercih edilmesini sağlayan birçok avantaj bulunmaktadır:
- Platform bağımsız çalışır.
- Geniş geliştirici topluluğuna sahiptir.
- Açık kaynak araç ekosistemi oldukça zengindir.
- Güçlü bellek yönetimi sunar.
- Çok sayıda framework ve kütüphane içerir.
- Büyük ölçekli projelerde başarılıdır.
- Mikroservis mimarilerini destekler.
- Güvenlik konusunda olgun çözümler sunar.
- Geriye dönük uyumluluğu yüksektir.
- Sürekli geliştirilmeye devam edilmektedir.
Kurumsal şirketler açısından Java’nın en büyük avantajlarından biri de uzun yıllar bakım yapılabilecek sürdürülebilir bir teknoloji olmasıdır. Bu nedenle bankacılık, telekom, kamu ve e-ticaret sektörlerinde hâlâ en çok tercih edilen backend teknolojileri arasında yer alır.
Java tabanlı bir proje geliştiriyor, mevcut sistemlerinizi modernize ediyor veya kurumsal ölçekte yeni bir uygulama geliştirmeyi planlıyorsanız, Reopiya olarak Java, Spring Boot, SAP Commerce Cloud ve mikroservis mimarileri konusunda uzman ekibimizle destek sunuyoruz. İhtiyaçlarınıza özel çözümlerimiz hakkında daha fazla bilgi almak için Kurumsal Yazılım Geliştirme sayfamızı inceleyebilirsiniz.