Java — Sun Microsystems şirkəti tərəfindən təqdim olunan obyektyönlü proqramlaşdırma dilinə və texnologiyalara verilən ümumi ad. Java proqram dili struktur və sintaksisinə görə C proqram dilinə çox yaxındır. Rəsmi olaraq 23 may 1995-ci ildə təqdim olunmuşdur.

Java, paralel, sinif əsaslı, obyekt yönümlü, və xüsusi olaraq mümkün qədər az tətbiqetmə bağımlılığına malik olmaq üçün nəzərdə tutulmuş ümumi məqsədli kompüter proqramlaşdırma dilidir. Proqram tərtibatçıları "bir dəfə yazmaq, istənilən(operativ sistem nəzərdə tutulur) yerdə işlətmək" (WORA- write once, run anywhere), tərtib edilmiş Java kodunun recompilyasiya(proqramlaşdırmada yenidən əsas koddan qurma) edilməsinə ehtiyac olmadan Java-nı dəstəkləyən bütün platformalarda işləyə biləcəyini nəzərdə tutur . Java proqramları adətən kompüter arxitekturasından asılı olmayaraq istənilən Java virtual maşınında (JVM) işləyən bytecode ilə tərtib edilir. 2016-cı ildən etibarən, Java istifadə edilən ən populyar proqramlaşdırma dillərindən biridir xüsusilə müştəri-server veb proqramları üçün, məlumat verən 9 milyon inkişafçı ilə. Java ilk olaraq Sun Microsystems-də (bu gündən Oracle Corporation tərəfindən əldə edilmiş) James Gosling tərəfindən hazırlanmış və 1995-ci ildə Sun Microsystems 'Java platformasının əsas komponenti kimi buraxılmışdır. Dil C və C ++-dan çox sintaksisini alır, lakin onlardan hər ikisinə nisbətən daha aşağı səviyyəli imkanlar var(yani sistemin ən aşağı səviyyəsində proqlamlaşdırma gücünə malikdir, hardware çıxışı).

Original və istinad proqramı Java kompilyatorları, virtual maşınlar və sinif kitabxanaları əvvəlcə Sun tərəfindən müəllif lisenziyaları altında azad edilmişdir. 2007-ci ilin may ayından etibarən, Java İcma prosesinin spesifikasiyasına uyğun olaraq, Sun GNU General Public License altında Java texnologiyalarının əksəriyyətini reisensed. Digərləri də bu günəş texnologiyalarının alternativ tətbiqlərini inkişaf etdirmişlər: Java üçün GNU Compiler (bytecode compiler), GNU Classpath (standart kitabxanalar) və IcedTea-Web (appletlər üçün brauzer plugin).

Son versiya 21 sentyabr 2017-ci ildə yayımlanan Java 9, və Oracle tərəfindən hazırda pulsuz olaraq dəstəklənən iki versiyanın biridir. Java 8-dən daha əvvəl versiyalar kommersiya şirkətləri tərəfindən dəstəklənir; məsələn, Oracle tərəfindən 2017-ci ilin oktyabr ayından Java 6-a geri qaytarılacaq (hələ də ən azı Windows kompüterlərindən əvvəlcədən Java 8-yə gətirilməsini təklif edir).



Tarix

James Gosling, Mike Sheridan və Patrick Naughton 1991-ci ilin iyununda Java dili layihəsini başlatdılar. Java əvvəllər interaktiv televiziya üçün nəzərdə tutulmuşdu, lakin o zaman rəqəmsal kabel televiziyası sənayesi üçün çox inkişaf etmişdi. Dil ilk olaraq Gosling'in ofisinin kənarında yerləşən bir meşə ağacından sonra Meşe deyildi. Daha sonra layihə Green adı ilə getdi və nəhayət Java qəhvəindən Java adını alıb. Gosling, C / C ++ üslublu sintaksisli Java və proqram proqramçılarını tanış olardığını nəzərdə tutur.

Sun Microsystems 1995-ci ildə Java 1.0 olaraq ilk ictimai tətbiqini yayımladı. Bu, "Bir dəfə yaz, Run Anywhere" (WORA), məşhur platformalarda xərcləməyinizi təmin edən söz verdi. Çox təhlükəsiz və konfiqurasiya təhlükəsizliyi olan şəbəkə və faylya giriş məhdudiyyətləri təmin etdi. Böyük veb-brauzerlər tezliklə veb-səhifələrində Java proqramlarını işə salma qabiliyyətini birləşdirdilər və Java tezliklə məşhur oldu. Java 1.0 kompilyatoru Java 1.0 dilinin dəqiqləşdirilməsinə ciddi şəkildə riayət etmək üçün Arthur van Hoff tərəfindən yenidən yazılmışdır. Java 2-nin (əvvəlcə J2SE 1.2 dekabr 1998-ci ildə yayımlandığı 1999-cu ildə buraxılmışdır) yeni versiyaları müxtəlif platformalar üçün tikilmiş bir çox konfiqurasiyaya malik idi. J2EE, mobil tətbiqlərə istiqamətli optimallaşdırılmış API'lar təqdim edərkən, J2EE texnologiyasını və tətbiq proqramları üçün API'ləri adətən server mühitində idarə edir. Masaüstü versiyası J2SE adlandırıldı. 2006-cı ildə marketinq məqsədləri üçün, Sun Java EE, Java ME və Java SE kimi yeni J2 versiyalarını dəyişdi.

1997-ci ildə Sun Microsystems ISO / IEC JTC 1 standartları orqanına və daha sonra Ecma International-a Java formalaşdırmağa yaxınlaşdı, lakin tezliklə prosesdən çəkildi. Java Java İcma prosesi vasitəsilə idarə olunan bir de facto standart olaraq qalır. [33] Bir zamanlar, Sun onların mülkiyyət proqramı vəziyyətinə baxmayaraq, Java tətbiqlərini pulsuz olaraq istifadə etdi. Sun, Java Enterprise Sistemi kimi xüsusi məhsullar üçün lisenziyaların satışı vasitəsilə Java'dan gəlir əldə etmişdir.

13 noyabr 2006-cı ildə Sun GNU General Public License (GPL) şərtlərinə əsasən çoxu Java virtual maşınının (JVM) azad və açıq mənbə proqramı (FOSS) kimi sərbəst buraxdı. Sun 8 may 2007-ci ildə Sun, JVM'nin əsas kodunu, pulsuz proqram təminatı / açıq mənbəli paylama şərtləri altında mövcud olan, Sunun müəlliflik hüququna malik olmadığı kiçik bir hissədən kənarlaşdıraraq prosesi başa çatdırdı.

Günəşin vitse-prezidenti Rich Green Sunun Java ilə bağlı olan ideal rolunun "evangelist" olduğunu söylədi. Oracle, 2009-10-cu illərdə Sun Microsystems'ın satın alınmasının ardından, Oracle, kendini, bir katılım ve şeffaflık topluluğunun yaygınlaştırılmasına yönelik acımasız bir taahhüdü ile "Java teknolojisinin yöneticisi" olaraq nitelendirdi. Bu, Oracle-nı Android SDK-nın içərisində Java-dan istifadə etmək üçün qısa bir müddət sonra Google-a qarşı iddia qaldırmasına mane olmadı (aşağıda Google-a baxın). Java proqramı noutbukdan məlumat mərkəzlərinə, oyun konsollarına elmi superkompüterlərə qədər işləyir. 2 aprel 2010-cu ildə Ceyms Gosling Oracle'dan istefa verib.

Oracle, 2016-ci ilin yanvar ayında JDK 9-a əsaslanan Java iş şəraiti mühitləri brauzer pluginini dayandıracağını bildirdi.

Prinsiplər Java dilinin yaradılması üçün beş əsas məqsəd var idi:

"Sadə, obyektiv və tanış olmalıdır". "Sağlam və təhlükəsiz" olmalıdır. Bu "memarlıq-neytral və portativ olmalıdır". "Yüksək performans" ilə icra etməlidir. "Tərcümə edilməli, yivli və dinamik olmalıdır". Versiyalar Əsas məqalə: Java versiyası tarixi 2017-ci ildən etibarən həm də Java 8 və 9 rəsmi olaraq dəstəklənir. Java'nın əsas azad versiyaları, onların buraxılış tarixləri ilə birlikdə:

JDK 1.0 (23 yanvar 1996) JDK 1.1 (19 fevral 1997) J2SE 1.2 (8 dekabr 1998-ci il) J2SE 1.3 (8 may 2000) J2SE 1.4 (6 fevral 2002) J2SE 5.0 (30 Sentyabr 2004) Java SE 6 (11 dekabr 2006) Java SE 7 (28 iyul 2011) Java SE 8 (18 Mart 2014) Java SE 9 (21 sentyabr, 2017) Təcrübə Java platforması Əsas məqalələr: Java (proqram platforması) və Java virtual maşın Java-nın bir dizayn məqsədi taşınabilirlikdir, yəni Java platforması üçün yazılmış proqramlar, müvafiq işləmə dəstəyi ilə hardware və əməliyyat sistemlərinin hər hansı birləşməsində eyni şəkildə işləməlidir. Bu, Java dil kodunu birbaşa arxitektura xüsusi maşın koduna deyil, Java bytecode adlı ara təmsil etməyə tərtib etməklə əldə edilir. Java bytecode təlimatları maşın koduna bənzəyir, ancaq onlar, xüsusilə host hardware üçün yazılmış virtual maşın (VM) tərəfindən icra edilmək üçün nəzərdə tutulub. Son istifadəçilər tez-tez müstəqil Java proqramları və ya Java proqramları üçün veb brauzer üçün öz maşınlarında quraşdırılmış Java Runtime Environment (JRE) istifadə edirlər.

Standart kütüphaneler qrafika, işıqlandırma və şəbəkə kimi ev sahiblərinə aid xüsusiyyətləri əldə etmək üçün ümumi bir yol təqdim edir.

Universal bytecode istifadə asanlıqla porting edir. Buna baxmayaraq, maşın instansiyasına bytecode interpretasiya yükü


Sintaksis

Əsas məqalə: Java sintaksisi Java sintaksisi əsasən C ++ tərəfindən təsirlənir. Yapısal, ümumi və obyekt yönümlü proqramlaşdırma üçün sintaksisini birləşdirən C ++-dan fərqli olaraq, Java demək olar ki, yalnız bir obyekt yönümlü dil kimi inşa edilmişdir. [17] Bütün kodlar siniflər daxilində yazılır və hər bir məlumat elementi, ibtidai məlumat növlərindən (yəni tamsayılar, üzən nöqtələr, boolean dəyərlər və simvollar) istisna olmaqla səbəbləri olmayan obyektlərdir. Java C ++ (printf () metodu kimi) bəzi populyar aspektləri təkrar istifadə edir.

C ++-dan fərqli olaraq, Java operatorların yüklənməsinə dəstək vermir [51] və siniflər üçün çoxlu miras, lakin birdən çox miras interfeyslər üçün dəstəklənir. [52]

Java C ++-a oxşar şərhlər istifadə edir. Üç fərqli üslub var: iki sətirlə (//) qeyd olunan bir xətt stili, / * ilə açılmış çoxlu xətt stili * / ilə bağlandı və / ilə açılan Javadoc şərh stili * / ilə açıldı və / . Cavadocun şərh tərzi istifadəçiyə proqram üçün sənədlər yaratmaq üçün Javadoc proqramını idarə etməyə imkan verir və developers IDE daxilində sənədlərə daxil olmaq üçün Eclipse kimi bəzi inteqrasiya edilmiş inkişaf mühitləri (IDEs) tərəfindən oxunur.

Məsələn:

FibCalculator.java  
// This is an example of a single line comment using two slashes
/* This is an example of a multiple line comment using the slash and asterisk.
This type of comment can be used to hold a lot of information or deactivate
code, but it is very important to remember to close the comment. */
package fibsandlies;
import java.util.HashMap;
/**
* This is an example of a Javadoc comment; Javadoc can compile documentation
* from this text. Javadoc comments must immediately precede the class, method, or field being documented.
*/
public class FibCalculator extends Fibonacci implements Calculator {
   private static Map<Integer, Integer> memoized = new HashMap<Integer, Integer>();
   /*
    * The main method written as follows is used by the JVM as a starting point for the program.
    */
   public static void main(String[] args) {
       memoized.put(1, 1);
       memoized.put(2, 1);
       System.out.println(fibonacci(12)); //Get the 12th Fibonacci number and print to console
   }


/**
    * An example of a method written in Java, wrapped in a class.
    * Given a non-negative number FIBINDEX, returns
    * the Nth Fibonacci number, where N equals FIBINDEX.
    * @param fibIndex The index of the Fibonacci number
    * @return The Fibonacci number
    */
   public static int fibonacci(int fibIndex) {
       if (memoized.containsKey(fibIndex)) {
           return memoized.get(fibIndex);
       } else {
           int answer = fibonacci(fibIndex - 1) + fibonacci(fibIndex - 2);
           memoized.put(fibIndex, answer);
           return answer;
       }
   }
}

Java platformasından kənarda istifadə edin Java proqramlaşdırma dili, yığılmış proqramların icrası üçün bir proqram platformasının mövcudluğunu tələb edir. Oracle, Java ilə Java proqramı üçün istifadə edir. Android SDK, Android tətbiqlərini inkişaf etdirmək üçün istifadə edilən alternativ bir proqram platformasıdır. Java 3cü ən çox istifadə edilən mobil program dilidir. Bir halda ki Android smartfonunuz var, çox güman ki Google Playdə yayınlanan proqram Java dilində yazılıb.

Android

Java dili, açıq mənbə mobil əməliyyat sistemi olan Android-də əsas sütunudur. Android cədvəlinə əsasən, Linux kernelində quraşdırılmış Android-lər əsasən C-də yazılıb, Android SDK isə Android proqramları üçün əsas kimi Java dilini istifadə edir. Android SDK tərəfindən dəstəklənən bytecode dili Java bytecode ilə uyğun deyil və smartfon və planşet kompüterləri kimi aşağı yaddaşlı cihazlar üçün optimallaşdırılmış öz virtual maşın üzərində işləyir. Android versiyasına əsasən, bytecode ya Dalvik virtual maşın tərəfindən şərh edilir və ya Android Runtime tərəfindən doğma koduna tərtib edilir.

Android SDK özünün böyük bir alt hissəsinin müstəqil həyata keçirilməsinə baxmayaraq, Android tam Java SE standart kitabxanasını təqdim etmir. Java 6 və bəzi Java 7 xüsusiyyətlərini standart kitabxana (Apache Harmony) ilə uyğun bir tətbiq təqdim edir.


Xarici keçidlər redaktə