1. JDK (Java Development Kit) JAVA uygulamalarını geliştirmek için kullanılan bir yazılım paketi. JDK, JAVA derleyicisi, çalıştırma zamanı ortamı ve geliştirme araçlarını içerir.
2. JRE (Java Runtime Environment) JAVA uygulamalarını çalıştırmak için gereken ortamdır. JRE, JVM (Java Virtual Machine) ve JAVA sınıf kitaplıklarını içerir.
3. JVM (Java Virtual Machine) JAVA kodunu makine diline çevirerek uygulamaları çalıştıran bir sanal makinedir. JVM, platform bağımsızlığı sağlar.
4. Bytecode JAVA kaynak kodunun derlenip oluşturulan ara diline verilen isimdir. Bytecode, JVM tarafından yorumlanır ve işletilir.
5. Class JAVA programlamasında temel bir yapı taşı olan sınıfı temsil eder. Bir sınıf, nesnelerin davranışlarını ve özelliklerini tanımlar.
6. Object Bir sınıfın örneği olan bir nesneyi temsil eder. Nesneler, sınıflar tarafından tanımlanan özelliklere ve davranışlara sahiptir.
7. Inheritance (Kalıtım) JAVA'da bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını devralması işlemidir. Kalıtım, kodun yeniden kullanılabilirliğini ve sınıflar arasında hiyerarşik ilişkilerin kurulmasını sağlar.
8. Polymorphism JAVA'da bir nesnenin farklı şekillerde davranabilme yeteneğini ifade eder. Polimorfizm, aynı isimli ancak farklı parametreler alan metotların farklı şekillerde çağrılabilmesini sağlar.
9. Encapsulation (Kapsülleme) Bir sınıfın veri ve işlevselliğini bir arada gruplandırarak gizlemesini ifade eder. Kapsülleme, veriye doğrudan erişimi sınırlayarak veri bütünlüğünü ve güvenliğini sağlar.
10. Abstraction (Soyutlama) Bir sınıfın karmaşık detaylarını gizleyerek sadece gerekli olan bilgileri sunması prensibidir. Soyutlama, programlama sürecini basitleştirir ve kodun daha anlaşılır olmasını sağlar.
11. Interface JAVA'da bir sınıfın uygulaması gereken yöntemleri belirten bir sözleşme olarak kullanılan yapılardır. Arayüzler, çoklu kalıtım ve farklı sınıflar arasında bağımlılık azaltma gibi avantajlar sağlar.
12. Package İlgili sınıfları ve arayüzleri gruplandırmak için kullanılan bir yapıdır. Paketler, sınıf adları arasında çakışmaları önler ve kodun düzenli bir şekilde organize edilmesini sağlar.
13. Exception (İstisna) Programın normal akışını bozan hataları temsil eden yapıdır.
14. Method (Metot) JAVA programında bir işlevi yerine getiren kod bloğudur. Metotlar, tekrar kullanılabilirliği sağlar ve kodun modülerliğini artırır.
15. Constructor (Yapıcı Metot) Bir sınıftan bir nesne oluşturulduğunda otomatik olarak çağrılan bir metottur. Yapıcı metotlar, nesnenin başlatılmasında ve başlangıç değerlerinin atanmasında kullanılır.
16. Variable (Değişken) Bir değeri saklamak için kullanılan bir isimlendirilmiş bellek alanıdır. Değişkenler, farklı tiplerde olabilir (int, double, String vb.) ve programın durumunu tutmak veya hesaplamalar yapmak için kullanılabilir.
17. Array (Dizi) Bir veri koleksiyonunu tutan ve tek bir değişken adı altında birden fazla değeri saklayan bir veri yapısıdır. Diziler, aynı veri türünden elemanları bir araya getirir.
18. Loop (Döngü) Belirli bir işlemi yinelenen şekilde gerçekleştirmek için kullanılan kontrol yapısıdır. JAVA'da yaygın olarak kullanılan döngüler arasında for, while ve do-while bulunur.
19. Conditional Statement (Koşullu İfade) Belirli bir koşulu değerlendirerek belirli bir kod bloğunu çalıştırmak veya atlamak için kullanılan kontrol yapısıdır. JAVA'da if, else if ve else ifadeleri koşullu ifadeleri oluşturmak için kullanılır.
20. String JAVA'da metinleri temsil etmek için kullanılan bir sınıftır. String nesneleri, metin manipülasyonu ve karşılaştırması için çeşitli yöntemler sunar.
21. Wrapper Class Temel veri tiplerini (int, double, boolean vb.) nesne olarak temsil etmek için kullanılan sınıflardır. Wrapper sınıfları, temel veri tiplerini nesne olarak kullanmayı mümkün kılar.
22. File Bir dosyayı temsil eden ve dosya işlemleri yapmamızı sağlayan bir sınıftır. JAVA'da dosya oluşturma, okuma, yazma, silme vb. işlemler için File sınıfı kullanılır.
23. Exception Handling (İstisna Yönetimi) Programın çalışması sırasında oluşabilecek hataları ele almak için kullanılan bir mekanizmadır. İstisna yönetimi, programın hata durumlarında kontrolünü devam ettirmesini sağlar.
24. Static Bir değişkenin veya metotun sınıfa ait olduğunu belirtmek için kullanılan bir anahtar kelimedir. Static elemanlar, sınıf düzeyinde paylaşılır ve nesne oluşturmadan erişilebilirler.
25. Final Bir değişkenin, metotun veya sınıfın son değerine veya durumuna sahip olduğunu belirtmek için kullanılan bir anahtar kelimedir. Final değişkenler değiştirilemez, final metotlar override edilemez ve final sınıflar kalıtılamaz.
26. Synchronization (Senkronizasyon) Aynı anda birden fazla iş parçacığı tarafından erişilen paylaşılan kaynakların düzgün bir şekilde senkronize edilmesini sağlayan bir mekanizmadır. Senkronizasyon, veri tutarlılığını korur.
27. Thread (İş Parçacığı) Programın aynı anda birden fazla işi yürütmesini sağlayan bir işlem birimidir. İş parçacıkları, aynı zamanda çalışan ve CPU zaman dilimlerini paylaşan bağımsız yürütme süreçleridir.
28. Collection Bir grup nesneyi saklamak ve işlemek için kullanılan bir veri yapısıdır. JAVA'da ArrayList, LinkedList, HashSet, HashMap gibi çeşitli koleksiyon sınıfları bulunur.
29. Generics JAVA'da tip güvenliği sağlamak için kullanılan bir özelliktir. Generics, belirli bir veri türüyle çalışan sınıfları ve metotları tanımlamamızı sağlar.
30. Lambda Expression JAVA 8'de tanıtılan ve işlevsel arayüzlerle kullanılan bir ifadedir. Lambda ifadeleri, kodu kısaltır ve daha okunabilir ve işlevsel bir şekilde yazmamızı sağlar.
31. Stream JAVA 8'de tanıtılan bir API'dir ve veri akışlarını işlemek için kullanılır. Stream, veriler üzerinde işlemler yapmamızı, sıralama, filtreleme, dönüşüm, eşleştirme vb. gibi işlemleri kolayca gerçekleştirmemizi sağlar.
32. Annotation JAVA'da metotlara, sınıflara, değişkenlere vb. ek bilgiler eklemek için kullanılan bir özelliktir. Annotation'lar, kodu belgelemek, statik analiz yapmak veya çalışma zamanında özel davranışlar sağlamak için kullanılır.
33. Reflection JAVA'da bir nesnenin sınıfını, alanlarını ve yöntemlerini çalışma zamanında analiz etmek ve değiştirmek için kullanılan bir mekanizmadır. Reflection, dinamik olarak kod oluşturmak ve yönetmek için kullanılır.
34. JDBC (Java Database Connectivity) JAVA programları ile veritabanları arasındaki bağlantıyı sağlamak için kullanılan bir API'dir. JDBC, veritabanına bağlanma, sorgu yürütme, sonuçları işleme ve veri güncelleme gibi işlemleri gerçekleştirmemizi sağlar.
35. Serialization (Serileştirme) JAVA'da bir nesnenin bellekteki durumunu bir akışa dönüştürerek saklamak veya iletmek için kullanılan bir süreçtir. Serileştirme, nesnelerin dosyalara veya ağ üzerindeki akışlara yazılmasını sağlar.
36. Deserialization (Deserileştirme) Serileştirilmiş bir nesneyi geri yüklemek için kullanılan bir süreçtir. Deserileştirme, serileştirilmiş bir nesnenin orijinal hale getirilmesini sağlar.
37. GUI (Graphical User Interface) JAVA programlarında kullanıcı arabirimi oluşturmak için kullanılan bir teknolojidir. GUI, kullanıcıya düğmeler, metin kutuları, menüler vb. gibi etkileşimli öğeler sağlar.
38. AWT (Abstract Window Toolkit) JAVA'nın orijinal GUI kütüphanesidir. AWT, JAVA programlarında kullanıcı arabirimleri oluşturmak için çeşitli sınıflar ve bileşenler sağlar.
39. Swing JAVA'nın daha gelişmiş bir GUI kütüphanesidir. Swing, AWT'ye dayanır ancak daha fazla bileşen ve daha zengin grafik özellikleri sunar.
40. Event Handling (Olay İşleme) Kullanıcının bir uygulamadaki etkileşimlerini yakalamak ve yanıtlamak için kullanılan bir mekanizmadır. JAVA'da olay işleme, belirli olayları dinlemek ve uygun kodu çalıştırmak için olay dinleyicileri ve olaylara atanmış yöntemler kullanır.
41. Applet JAVA'da web tarayıcılarında çalışabilen küçük bir uygulamadır. Applet'ler, web sayfalarına gömülebilir ve JAVA sanal makinesi üzerinde çalıştırılabilir.
42. Servlet JAVA tabanlı web uygulamalarında kullanılan bir sunucu tarafı bileşenidir. Servlet'ler, HTTP isteklerini dinleyebilir, yanıt verebilir ve dinamik web içeriği oluşturmak için JAVA kodu içerebilir.
43. JSP (JavaServer Pages) JAVA tabanlı web uygulamalarında kullanılan bir teknolojidir. JSP, HTML şablonlarının içine JAVA kodu eklememize ve dinamik web içeriği oluşturmamıza olanak tanır.
44. Tomcat JAVA tabanlı web uygulamalarını çalıştırmak için kullanılan bir web sunucusudur. Tomcat, servlet ve JSP desteği sağlar ve web uygulamalarını yönetmek için birçok özellik sunar.
45. Hibernate JAVA uygulamalarında nesne-tabanlı ilişkisel veritabanı erişimini kolaylaştıran bir ORM (Object-Relational Mapping) aracıdır. Hibernate, nesneleri veritabanı tablolarıyla eşleştirir ve veritabanı işlemlerini kolaylaştırır.
46. Spring Framework JAVA tabanlı uygulamalar için genel amaçlı bir çerçeve (framework) olarak kullanılan bir teknoloji yığınıdır. Spring, bağımlılık enjeksiyonu, uygulama yapılandırması, veritabanı erişimi, web geliştirme ve daha birçok konuda kolaylık sağlar.
47. Maven JAVA projelerinin bağımlılıklarını yönetmek, proje yapılandırmasını otomatikleştirmek ve proje dağıtımını kolaylaştırmak için kullanılan bir proje yönetim aracıdır. Maven, proje derleme, test çalıştırma ve dağıtım işlemlerini yönetir.
48. Git Dağıtılmış bir sürüm kontrol sistemi olan Git, kodun sürüm geçmişini takip etmek, değişiklikleri yönetmek ve işbirliği yapmak için kullanılır. Git, projelerin kaynak kodlarını depolamak ve paylaşmak için yaygın olarak kullanılmaktadır.
49. JSON (JavaScript Object Notation) Veri değişimi için kullanılan bir hafif veri formatıdır. JSON, insanlar ve makineler tarafından okunması ve yazılması kolay olan bir formatta verileri temsil eder.
50. XML (eXtensible Markup Language) Veri taşıma ve depolama için kullanılan bir işaretleme dilidir. XML, ağlar arası veri alışverişi ve belge oluşturma gibi birçok uygulamada yaygın olarak kullanılır.
51. REST (Representational State Transfer) Bir web hizmetleri mimarisi prensibidir ve uygulamalar arasında kaynaklara erişimi ve işlemeyi kolaylaştırır. REST, HTTP protokolünü temel alır ve basit ve ölçeklenebilir web servisleri oluşturmayı sağlar.
52. SOAP (Simple Object Access Protocol) Uygulamalar arasında iletişim için kullanılan bir protokoldür. SOAP, XML tabanlı mesajları kullanır ve web hizmetleri iletişiminde kullanılır.
53. Microservices Bir uygulamanın, bağımsız olarak çalışabilen küçük hizmetlere bölündüğü bir mimaridir. Microservices, esneklik, ölçeklenebilirlik ve hızlı geliştirme için kullanılır.
54. Docker Uygulamaları, bağımlılıkları ve yapılandırmaları birleştirmek ve konteynerlere yerleştirmek için kullanılan bir konteynerleştirme platformudur. Docker, uygulamaların hızlı dağıtımını, ölçeklendirilmesini ve yönetimini kolaylaştırır.
55. Agile Software Development Yazılım geliştirme sürecinde esneklik, işbirliği ve sürekli gelişim prensiplerine dayanan bir yöntemdir. Agile, hızlı teslimat, müşteri memnuniyeti ve değişime adaptasyonu vurgular.
56. Unit Testing Bir yazılım bileşeninin (genellikle bir metot veya sınıf) doğru çalışıp çalışmadığını test etmek için yapılan küçük ölçekli testlerdir. Unit testleri, yazılımın kalitesini artırır ve hataları erken tespit etmeye yardımcı olur.
57. Integration Testing Bir yazılımın farklı bileşenlerinin bir araya geldiğinde doğru şekilde çalışıp çalışmadığını test etmek için yapılan testlerdir. Integration testleri, bileşenlerin etkileşimini doğrulayarak sistemin bütünleşme sürecini değerlendirir.
58. Continuous Integration Yazılım geliştirme sürecinde, yazılımın sürekli olarak birleştirilip test edildiği bir uygulama entegrasyon yöntemidir. Continuous Integration, hataları erken tespit etmeye ve kodun sürekli kalite kontrolünden geçmesine yardımcı olur.
59. Continuous Delivery Yazılımın hızlı ve güvenli bir şekilde kullanılabilir hale getirilmesini sağlayan bir uygulama dağıtım yöntemidir. Continuous Delivery, yazılımı testlerden geçirerek, otomatikleştirilmiş bir şekilde kullanıma sunar.
60. Design Patterns Yazılım geliştirmede yaygın olarak kullanılan tekrar eden problemleri çözmek için oluşturulmuş çözüm kalıplarıdır. Design patterns, kod tekrarını azaltır, kodun yeniden kullanılabilirliğini artırır ve uygulamaların daha esnek ve sürdürülebilir olmasını sağlar.
61. Big-O Notation Algoritma performansının büyüklüğünü ifade etmek için kullanılan bir notasyondur. Big-O notasyonu, algoritmanın zaman ve bellek karmaşıklığını analiz etmeye yardımcı olur.
62. Recursion (Özyineleme) Bir fonksiyonun kendi kendini çağırması işlemidir. Recursive fonksiyonlar, karmaşık problemleri basit bir şekilde çözmek için kullanılır.
63. Sorting Algorithm (Sıralama Algoritması) Veri yapılarını belirli bir sıraya göre düzenlemek için kullanılan algoritmalardır. JAVA'da yaygın olarak kullanılan sıralama algoritmaları arasında Bubble Sort, Selection Sort, Insertion Sort, Merge Sort ve Quick Sort bulunur.
64. Searching Algorithm (Arama Algoritması) Bir veri yapısında belirli bir öğenin bulunmasını sağlayan algoritmalardır. JAVA'da yaygın olarak kullanılan arama algoritmaları arasında Linear Search, Binary Search ve Hashing bulunur.
65. Binary Tree (İkili Ağaç) Her düğümün en fazla iki çocuğa sahip olduğu bir ağaç yapısıdır. İkili ağaçlar, sıralı verileri depolamak ve aramak için kullanılır.
66. Graph (Graf) Bir veri yapısıdır ve noktalar (düğümler) ve noktalar arasındaki bağlantıları (kenarlar) içerir. Graf teorisi, karmaşık ilişkileri modellemek ve analiz etmek için kullanılır.
67. Hash Table Veri yapılarından biridir ve hızlı bir şekilde veri ekleme, çıkarma ve arama işlemlerini sağlar. Hash tabloları, anahtar-değer çiftlerini depolamak ve hızlı erişim sağlamak için kullanılır.
68. Multithreading Bir programda aynı anda birden fazla iş parçacığının (thread) çalışmasını sağlayan bir yaklaşımdır. Multithreading, işlemci kaynaklarını daha etkin kullanmamızı sağlar ve programların hızını artırır.
69. Concurrent Programming Aynı anda birden fazla iş parçacığı tarafından paylaşılan kaynakları güvenli bir şekilde kullanmak için tasarlanmış programlama yaklaşımıdır. Concurrent programming, senkronizasyon ve eşitleme mekanizmaları kullanarak paralel işlemleri yönetir.
70. Serialization (Serileştirme) Veri veya nesnelerin akışa dönüştürülerek depolanması veya iletilmesi işlemidir. Serileştirme, veri bütünlüğünü korur ve nesneleri farklı platformlar arasında taşımayı sağlar.
71. Deserialization (Deserileştirme) Serileştirilmiş bir nesnenin akıştan geri yüklenmesi işlemidir. Deserileştirme, serileştirilmiş verinin orijinal nesneye dönüştürülmesini sağlar.
72. Stream Veri akışını temsil eden bir nesnedir. Stream'ler, veriler üzerinde işlemler yapmayı sağlar (filtreleme, dönüştürme, sıralama vb.) ve veri işleme süreçlerini basitleştirir.
73. BufferedReader Giriş akışından veri okumak için kullanılan bir yardımcı sınıftır. BufferedReader, veri okuma işlemlerini daha verimli hale getirir ve tamponlama sağlar.
74. BufferedWriter Çıkış akışına veri yazmak için kullanılan bir yardımcı sınıftır. BufferedWriter, veri yazma işlemlerini daha verimli hale getirir ve tamponlama sağlar.
75. InputStreamReader Giriş akışını karakterlere dönüştürmek için kullanılan bir yardımcı sınıftır. InputStreamReader, karakter kodlamasını dikkate alarak veri dönüşümü yapar.
76. OutputStreamWriter Çıkış akışını karakterlere dönüştürmek için kullanılan bir yardımcı sınıftır. OutputStreamWriter, karakter kodlamasını dikkate alarak veri dönüşümü yapar.
77. Socket Programming Ağ iletişimini gerçekleştirmek için kullanılan bir programlama yaklaşımıdır. Soket programlama, TCP/IP protokolünü kullanarak bilgisayarlar arasında veri alışverişi yapmayı sağlar.
78. Client-Server Architecture Bir ağ uygulamasının istemci ve sunucu bileşenlerine sahip olduğu bir mimaridir. İstemci, sunucuya istek gönderir ve sunucu bu isteği işler ve yanıt döndürür.
79. JDBC (Java Database Connectivity) JAVA programlarının veritabanlarıyla iletişim kurmasını sağlayan bir API'dir. JDBC, veritabanına bağlanma, sorgu yürütme, sonuçları işleme ve veri güncelleme gibi işlemleri gerçekleştirmeyi sağlar.
80. ORM (Object-Relational Mapping) Nesne-tabanlı programlama dilleriyle ilişkisel veritabanları arasındaki uyumu sağlayan bir teknik ve araç setidir. ORM, veritabanı tablolarını nesnelere ve nesneleri veritabanı tablolarına eşleştirir.
81. Servlet JAVA tabanlı web uygulamalarında kullanılan bir sunucu tarafı bileşenidir. Servlet'ler, HTTP isteklerini dinler, işler ve HTTP yanıtını oluşturur.
82. JSP (JavaServer Pages) JAVA tabanlı web uygulamalarında kullanılan bir teknolojidir. JSP, HTML şablonlarının içine JAVA kodu eklememizi ve dinamik web içeriği oluşturmamızı sağlar.
83. Struts JAVA tabanlı web uygulamaları için bir MVC (Model-View-Controller) çerçevesidir. Struts, web uygulamalarının katmanlı bir şekilde tasarlanmasını ve yönetilmesini sağlar.
84. Spring Framework JAVA tabanlı uygulamalar için genel amaçlı bir çerçeve (framework) olarak kullanılan bir teknoloji yığınıdır. Spring, bağımlılık enjeksiyonu, uygulama yapılandırması, veritabanı erişimi, web geliştirme ve daha birçok konuda kolaylık sağlar.
85. Hibernate JAVA uygulamalarında nesne-tabanlı ilişkisel veritabanı erişimini kolaylaştıran bir ORM (Object-Relational Mapping) aracıdır. Hibernate, nesneleri veritabanı tablolarıyla eşleştirir ve veritabanı işlemlerini kolaylaştırır.
86. Spring Boot Spring Framework'ün bir modülüdür ve basit ve hızlı bir şekilde Spring tabanlı uygulamaların oluşturulmasını sağlar. Spring Boot, otomatik yapılandırma, entegrasyon ve uygulama dağıtımını kolaylaştırır.
87. JavaFX JAVA ile masaüstü ve zengin internet uygulamaları oluşturmak için kullanılan bir platformdur. JavaFX, modern kullanıcı arayüzleri, grafikler, medya ve animasyon özellikleri sunar.
88. Java Applet JAVA ile web tarayıcılarında çalışabilen küçük bir uygulamadır. Applet'ler, web sayfalarına gömülebilir ve JAVA sanal makinesi üzerinde çalıştırılabilir.
89. Maven JAVA projelerinin bağımlılıklarını yönetmek, proje yapılandırmasını otomatikleştirmek ve proje dağıtımını kolaylaştırmak için kullanılan bir proje yönetim aracıdır. Maven, proje derleme, test çalıştırma ve dağıtım işlemlerini yönetir.
90. Gradle Proje otomasyonu ve derleme yönetimi için kullanılan bir yapılandırma yönetim aracıdır. Gradle, projeleri derlemek, bağımlılıkları yönetmek ve testleri çalıştırmak için kullanılır.
91. JUnit JAVA programlarında birim testlerin oluşturulmasını ve çalıştırılmasını sağlayan bir test çerçevesidir. JUnit, test vakalarını ve beklenen sonuçları tanımlayarak yazılımın doğruluğunu kontrol etmemizi sağlar.
92. Mockito JAVA tabanlı uygulamalarda bağımlılıkları taklit etmek için kullanılan bir test çerçevesidir. Mockito, birim testlerde bağımlılıkları kolayca taklit etmemizi ve davranışlarını kontrol etmemizi sağlar.
93. Eclipse JAVA tabanlı bir entegre geliştirme ortamıdır (IDE). Eclipse, JAVA uygulamalarının geliştirilmesi, derlenmesi, hata ayıklanması ve dağıtılması için bir dizi araç sağlar.
94. IntelliJ IDEA JAVA tabanlı bir entegre geliştirme ortamıdır (IDE). IntelliJ IDEA, JAVA uygulamalarının geliştirilmesi, derlenmesi, hata ayıklanması ve dağıtılması için bir dizi araç sağlar.
95. NetBeans JAVA tabanlı bir entegre geliştirme ortamıdır (IDE). NetBeans, JAVA uygulamalarının geliştirilmesi, derlenmesi, hata ayıklanması ve dağıtılması için bir dizi araç sağlar.
96. Java Native Interface (JNI) JAVA uygulamalarının, C veya C++ gibi diğer dillerle etkileşimde bulunmasını sağlayan bir programlama arayüzüdür. JNI, JAVA uygulamalarının platforma özgü kodları kullanmasına olanak tanır.
97. Java Security JAVA uygulamalarının güvenlik gereksinimlerini karşılamak için kullanılan bir güvenlik çerçevesidir. Java Security, kimlik doğrulama, yetkilendirme, veri gizliliği ve diğer güvenlik özelliklerini sağlar.
98. JavaFX Scene Builder JavaFX kullanarak görsel kullanıcı arayüzleri tasarlamak için kullanılan bir araçtır. Scene Builder, sahne grafiğini sürükle-bırak yöntemiyle oluşturmayı kolaylaştırır.
99. JavaDoc JAVA kodunda otomatik olarak oluşturulan API belgeleridir. JavaDoc, sınıfların, yöntemlerin ve değişkenlerin kullanımını ve işlevini açıklar.
100. JavaBeans JavaBeans, JAVA sınıfları için belirli standartlara uygun olarak oluşturulmuş bileşenlerdir. JavaBeans, nesnelerin durumunu ve davranışını açıkça tanımlar ve bileşen tabanlı yazılım geliştirmeyi destekler.