Sun Microsystem에서 1995년에 개발한 객체지향 프로그래밍 언어. 창시자는 제임스 고슬링이다.
2010년에 Oracle이 Sun을 인수하면서 Java 저작권을 소유함.
현재는 OpenJDK는 GPL2이나 Oracle이 배포하는 Oracle JDK는 상업 라이선스로 2019년 1월에 유료화됨
Java EE는 Eclipse 재단의 소유이다. Java언어는 J2SE 1.4부터는 JCP(Java Community Process)에서 개발을 주도함.

 

1. JAVA  분류

분류 특징
Java SE
(Java Standard Edition / J2SE)
대부분의 사람들이 가장 많이 접하는 표준 에디션.
Java의 핵심 API와 기능들을 제고한다.
Jakarta EE, 구 Java EE
(Java Enterprise Edition / J2EE)
기업에서 운영하는 서버 페이지에 특화된 에디션.
JSP와 서블릿을 비롯한 웹 어플리케이션 서버 관련된 기술들이 포함되어 있음.
Java ME
(JAva Micro Edition / J2ME)
PDA나 셋톱박스, 센서 등의 임베디드 시스템에 특화된 에디션.
JavaFX 데스크톱 어플리케이션 개발 및 배포를 위한 에디션.
크로스플랫폼 이식과 GUI 라이브러리를 제공한다.

 

2. JAVA 특징
 - 소스코드를 기계어로 직접 컴파일하여 링크하는 C/C++의 컴파일러와 달리 자바 컴파일러는 바이트코드인 클래스 파일(. class)을 생성한다. 이 파일의 바이트코드를 읽은 뒤 기계어로 바꾸어 실행하는 것은 Java Virtual Machine(JVM)이다. 따라서 자바의 가장 큰 특징은 JVM이 설치된 곳이면 어디든지 실행되는 플랫폼 독 집적인 언어이다.

 

3. JAVA 장점
 1) 수많은 개발자와 레퍼런스
 2) 비교적 높은 생산성
 3) 기기 호환성
 3) 안정성
 4) 소스코드 가독성

 

4.  JAVA 단점
 1)  속도문제
   - JVM 로딩 속도 문제
   - 가상 머신 바이트코드 실행 속도 문제
   - 가비지 컬렉션에 의한 실행 지연 문제
 2) 불필요한 예외처리
 3) 소스코드 길이

 

참조: 나무위키(https://namu.wiki/w/Java)