ਜਾਵਾ (ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ)

thumb|200px|ਡੀਉਕ
**ਜਾਵਾ** ਇੱਕ ਕਰਮਾਦੇਸ਼ਨ (ਪ੍ਰੋਗਰਾਮਿੰਗ) ਭਾਸ਼ਾ ਹੈ ਜਿਸਨੂੰ ਮੂਲ ਤੌਰ 'ਤੇ ਸੰਨ ਮਾਈਕਰੋਸਿਸਟਮ (ਜੋ ਕਿ ਹੁਣ ਓਰੇਕਲ ਕਾਰਪੋਰੇਸ਼ਨ ਦਾ ਹਿੱਸਾ ਹੈ) ਨੇ ਵਿਕਸਿਤ ਅਤੇ 1995 ਵਿੱਚ ਆਪਣੇ ਜਾਵਾ ਪਲੇਟਫਾਰਮ ਲਈ ਜਾਰੀ ਕੀਤਾ ਸੀ। ਇਸਦਾ ਰਚਨਾਕਰਮ (ਸਿੰਟੈਕਸ) ਕਾਫ਼ੀ ਹੱਦ ਤੱਕ ਸੀ (c) ਅਤੇ ਸੀ + + (c++) ਦੇ ਸਮਾਨ ਹੈ ਤੇ ਇਸਦਾ ਓਬਜ਼ੈਕਟ ਮਾਡਲ ਮੁਕਾਬਲਤਨ ਤੌਰ 'ਤੇ ਸਰਲ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਜਾਵਾ ਦੀਆਂ ਆਦੇਸ਼ਕਾਰੀਆਂ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨ ਉੱਤੇ ਬਾਈਟਕੋਡ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ ਜਿਸਨੂੰ ਕਿਸੇ ਵੀ ਜਾਵਾ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਉੱਤੇ ਚਲਾਣਾ ਸੰਭਵ ਹੁੰਦਾ ਹੈ। ਇਹ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ "ਇੱਕ ਵਾਰ ਲਿਖੋ ਅਤੇ ਕਿਤੇ ਵੀ ਚਲਾਓ" ਦੇ ਉਦੇਸ਼ ਨੂੰ ਮੁੱਖ ਰੱਖ ਕੇ ਬਣਾਈ ਗਈ ਸੀ। ਅਜੋਕੇ ਸਮੇਂ ਵਿੱਚ, ਜਾਵਾ ਕਲਾਇੰਟ-ਸਰਵਰ ਰੂਪੀ ਵੈੱਬ ਪ੍ਰੋਗਰਾਮਾਂ ਵਿੱਚ ਪ੍ਰਚਲਿਤ ਇੱਕ ਮਸ਼ਹੂਰ ਭਾਸ਼ਾ ਹੈ।

ਜਾਵਾ ਕੰਪਾਈਲਰਜ਼, ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਸੰਨ ਦੁਆਰਾ 1995 ਵਿੱਚ ਬਣਾਈਆਂ ਗਈਆਂ ਸਨ ਅਤੇ ਮਈ 2007 ਵਿੱਚ ਸੰਨ ਕੰਪਨੀ ਨੇ ਸਾਰੀਆਂ ਜਾਵਾ ਤਕਨੀਕਾਂ ਨੂੰ ਜੀ.ਐਨ.ਯੂ ਜਨਰਲ ਪਬਲਿਕ ਲਾਇਸੈਂਸ (G.N.U. General Public License) ਹੇਠ ਜਾਰੀ ਕੀਤਾ।

## ਇਤਿਹਾਸ 
ਜਾਵਾ ਪ੍ਰਕਲਪ ਦੀ ਸ਼ੁਰੂਆਤ ਜੂਨ 1991 ਵਿੱਚ **ਜੇਮਸ ਗਾਸਲਿੰਗ**, **ਮਾਈਕ ਸ਼ੇਰਡਨ** ਅਤੇ **ਪੈਟਰਿਕ ਨੋਟਨ** ਨੇ ਕੀਤੀ ਸੀ। ਜਾਵਾ ਨੂੰ ਸ਼ੁਰੂਆਤ ਵਿੱਚ "ਓਕ" (ਇੱਕ ਕਿਸਮ ਦਾ ਦਰਖਤ) ਸ਼ਾਹਬਲੂਤ ਕਿਹਾ ਜਾਂਦਾ ਸੀ, ਜੋ ਕਿ ਗਾਸਲਿੰਗ ਦੇ ਦਫ਼ਤਰ ਦੇ ਬਾਹਰ ਸੀ। ਫਿਰ ਇਸ ਦਾ ਨਾਂ ਗਰੀਨ ਰੱਖਿਆ ਗਿਆ ਅਤੇ ਇਸ ਉਪਰੰਤ ਇਸ ਦਾ ਨਾਂ ਜਾਵਾ (ਜਾਵਾ ਕਾਫ਼ੀ ਤੋਂ) ਰੱਖਿਆ ਗਿਆ, ਜੋ ਕਿ ਭਾਸ਼ਾ ਨੂੰ ਬਣਾਉਣ ਵਾਲੇ ਜ਼ਿਆਦਾਤਰ ਪ੍ਰੋਗਰਾਮਰਾਂ ਦੁਆਰਾ ਮਨਜ਼ੂਰ ਕੀਤਾ ਗਿਆ। ਜਾਵਾ ਖੁੱਲ੍ਹੇ ਸ੍ਰੋਤ (open source) ਵਾਲੀ ਭਾਸ਼ਾ ਹੈ।

ਮਾਈਕਰੋਸਿਸਟਮ ਨੇ ਸਭ ਤੋਂ ਪਹਿਲਾਂ 1995 ਵਿੱਚ, ਜਾਵਾ 1.0 ਜਾਰੀ ਕੀਤੀ ਸੀ। ਇਹ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਸਾਰੇ ਮੁੱਖ ਪਲੇਟਫਾਰਮਾਂ ਤੇ "ਇੱਕ ਵਾਰ ਲਿਖੋ ਅਤੇ ਕਿਤੇ ਵੀ ਚਲਾਓ" ਦੇ ਵਾਅਦੇ ਨੂੰ ਪੂਰਾ ਕਰਦੀ ਸੀ। ਫਿਰ ਜਲਦ ਹੀ ਪ੍ਰਮੁੱਖ ਜਾਲ-ਖੋਜਕ (ਵੈੱਬ ਬ੍ਰਾਉਜ਼ਰ) ਵੈੱਬ ਪੰਨਿਆਂ ਵਿੱਚ ਜਾਵਾ ਐਪਲੈੱਟਸ ਚਲਾਉਣ ਦੀ ਸਮਰਥਾ ਰੱਖਣ ਲੱਗੇ ਅਤੇ ਜਾਵਾ ਜਲਦ ਹੀ ਮਸ਼ਹੂਰ ਹੋ ਗਈ।

### ਸਿਧਾਂਤ 
ਮੁੱਖ ਰੂਪ ਵਿੱਚ ਜਾਵਾ ਦੇ 5 ਸਿਧਾਂਤ ਮਿੱਥੇ ਗਏ ਸਨ
# ਇਹ ਆਸਾਨ ਅਤੇ ਵਸਤੂ ਅਧਾਰਿਤ (ਓਬਜੈਕਟ ਓਰਿਐਂਟਡ) ਸੀ।
# ਇਹ ਭਰੋਸੇਮੰਦ ਅਤੇ ਸੁਰੱਖਿਅਤ ਸੀ।
# ਇਹ ਕੰਪਿਊਟਰ ਪ੍ਰੋਸੈਸਰ ਅਤੇ ਪਲੇਟਫਾਰਮ ਤੋਂ ਨਿਰਭਰਤਾ ਰਹਿਤ ਸੀ।
# ਇਸ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਬਹੁਤ ਵਧੀਆ ਸੀ।
# ਇਹ ਕੰਪਾਈਲਡ ਅਤੇ ਇੰਟਰਪਰੇਟਡ ਸੀ।

### ਸੰਸਕਰਣ 
* ਜੇ.ਡੀ.ਕੇ 1.0 (23 ਜਨਵਰੀ, 1996)
* ਜੇ.ਡੀ.ਕੇ 1.1 (19 ਫਰਵਰੀ, 1997)
* ਜੇ.2.ਐਸ.ਈ 1.2 (8 ਦਸੰਬਰ, 1998)
* ਜੇ.2.ਐਸ.ਈ 1.3 (8 ਮਈ, 2000)
* ਜੇ.2.ਐਸ.ਈ 1.4 (6 ਫਰਵਰੀ, 2002)
* ਜੇ.2.ਐਸ.ਈ 1.5 (30 ਸਤੰਬਰ, 2004)
* ਜਾਵਾ ਐਸ.ਈ 6 (11 ਦਸੰਬਰ, 2006)
* ਜਾਵਾ ਐਸ.ਈ 7 (28 ਜੁਲਾਈ, 2011)

## ਜਾਵਾ ਸੋਫਟਵੇਅਰ ਪਲੇਟਫਾਰਮ 
ਜਾਵਾ ਪਲੇਟਫਾਰਮ ਉਹਨਾ ਪ੍ਰੋਗਰਾਮਾਂ ਦਾ ਸੰਗ੍ਰਿਹ ਹੈ, ਜੋ ਜਾਵਾ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦੇ ਬਣੇ ਹੋਏ ਪ੍ਰੋਗਰਾਂਮਾਂ ਨੂੰ ਚਲਾਉਣ ਦੀ ਸਮਰੱਥਾ ਰਖਦੇ ਹਨ। ਇਹ ਪਲੇਟਫਾਰਮ ਕਿਸੇ ਪ੍ਰਕਾਰ ਦੇ ਕੰਪਿਊਟਰ
ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਜਾਂ ਕੰਪਿਊਟਰ ਪ੍ਰੋਸੈਸਰ ਤੇ ਨਿਰਭਰ ਨਹੀਂ ਕਰਦਾ, ਬਲਕਿ ਇਹ ਆਪਣੇ ਖੁਦ ਦੇ ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਨੂੰ ਜਵਾਬਦੇਹ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਹ ਆਪਣੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਮਦਦ ਨਾਲ
ਕੰਮ ਕਰਦਾ ਹੈ।
### ਐਡੀਸ਼ਨ 
* **ਜਾਵਾ ਪਲੇਟਫਾਰਮ, ਸਟੈਂਡਰਡ ਐਡੀਸ਼ਨ** ਜਨਰਲ ਪਰਪਜ਼ ਡੈਸਕਟੋਪ ਕੰਪਿਊਟਰਾਂ, ਸਰਵਰਾਂ ਅਤੇ ਇਸੇ ਤਰ੍ਹਾਂ ਦੇ ਹੋਰ ਉਪਕਰਨਾਂ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
* **ਜਾਵਾ ਪਲੇਟਫਾਰਮ, ਐਂਟਰਪ੍ਰਾਈਜ਼ ਐਡੀਸ਼ਨ** ਜਾਵਾ ਸਟੈਂਡਰਡ ਐਡੀਸ਼ਨ ਅਤੇ ਕੁਝ ਹੋਰ ਏ.ਪੀ.ਆਈ, ਕਲਾਈਂਟ-ਸਰਵਰ ਐਂਟਰਪ੍ਰਾਈਜ਼ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਾਸਤੇ।
* **ਜਾਵਾ ਪਲੇਟਫਾਰਮ, ਮਾਈਕ੍ਰੋ ਐਡੀਸ਼ਨ** ਅਜਿਹੇ ਉਪਕਰਨਾਂ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਸੰਗ੍ਰਿਹ, ਜਿਹਨਾਂ ਕੋਲ ਸੀਮਤ ਮਾਤਰਾ ਵਿੱਚ ਮੈਮਰੀ ਹੁੰਦੀ ਹੈ।

## ਉਦਾਹਰਨ 
### ਜਾਵਾ ਹੈੱਲੋ ਵਰਲਡ (Hello world program) ਪ੍ਰੋਗਰਾਮ 
```java
class HelloWorldApp {
 public static void main(String[] args) {
 System.out.println("Hello World!"); // Display the string.
 }
}
```

## ਆਲੋਚਨਾ 
ਸਮੇਂ ਸਮੇਂ ਤੇ ਜਾਵਾ ਦੀ, ਉਸ ਦੀ ਬਣਤਰ (design), ਭਾਸ਼ਾ ਅਤੇ ਪਲੇਟਫਾਰਮ ਦੇ ਆਧਾਰ ਤੇ ਆਲੋਚਣਾ ਕੀਤੀ ਗਈ ਹੈ। ਇਸ ਵਿੱਚ ਉਸ ਦੀ ਜੈਨਰਿਕਸ (Generics) ਨੂੰ ਸੋਧਣ ਦੀ ਵਿਧੀ, ਬਿਨਾਂ ਚਿੰਨ੍ਹ ਵਾਲੇ (unsigned) ਅੰਕਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦਾ ਤਰੀਕਾ ਅਤੇ ਹੋਰ ਸੁਰੱਖਿਆ ਨੂੰ ਲੈ ਕੇ ਕਮਜ਼ੋਰੀਆਂ ਸ਼ਾਮਿਲ ਹਨ।

## ਹਵਾਲੇ 
ਸ਼੍ਰੇਣੀ:ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ
ਸ਼੍ਰੇਣੀ:ਜਾਵਾ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ