Java 버전별 특징들을 정리한 내용입니다.

JAVA 버전 발표일 특징 비고
Java SE 13 2019년 9월 17일 - switch문에 yield 예약어 추가  
Java SE 12 2019년 3월 19일 - switch문 확장 ( -> )
- 가비지 컬렉터 개선
- 마이크로 벤치마크 툴 추가
- 성능개선
 
Java SE 11 2018년 9월 25일 - lambda 파라미터에 대한 지역변수 문법
- 엡실론 가비지 컬렉터
- HTTP 클라이언트 표준화
- OracleJDK의 독점기능이 OpenJDK에 이식 (OracleJDK와 OpenJDK가 동일해짐)
- 2019년 1월부터 OracleJDK가 유료 모델로 전환

-
eclipse 재단으로 넘어간 Java EE 삭제
- JavaFX도 JDK에서 분리하여 별도 모듈 제공

Java SE 10 2018년 3월 20일 - var 키워드를 이용한 지역변수 타입추론
- 병렬처리 가비지 컬렉터
- 개별 Thread로 분리된 Stop-The World
- 루트 CA
- JVM heap영역을 시스템 메모리가 아니 다른종류의 메모리에도 할당
- JDK 레토지토리가 하나로 통합
- Java기반 JIT 컴파일러
- 이전 버전 deprecated처리된 API 삭제
Java SE 9 2017년 9월 21일

- Jingsaw 기반 런타임 모듈화(module)
- JShell 추가(인터프리터 셀처럼 사용)
- private interface method
- immutable collection
- 통합 로깅
- HTTP/2
- HTML 5 JavaDoc
- 프로퍼티 파일에 UTF-8 지원

- 버전을 1.x로 하지 않고 9.0으로 변경
- Ahead-of-time compiler 시범 적용
- Java Applet 기능 종료
- 64비트 버전만 출시

Java SE 8 2014년 3월 18일 - lambda expression
- type annotation
- stream api 추가
- repeating annotation
- static link library
- interface default method
- unsigned integer 계산
- 날짜와 시간 API(new) -> JodaTime
- rhino 대신 nashorn javascript 엔진 탑재
- 32비트 지원 마지막 공식버전
Java SE 7 2011년 7월 7일 - diamond operator <>
- try-resource
- multi-catch
- switch문에 String 사용
- concurrency API(new)
- File NIO(new)
- Java2D 지원
- dynamic language 지원
 
Java SE 6 2006년 12월 11일 - interface에 @Override 추가됨
- JDBC 4.0
- Scripting Language Support
- Java Compiler API
- pluggable annotation
- J2SE -> Java SE로 변경
J2SE 5 2004년 9월 30일 - generics
- annotation
- auto boxing/unboxing
- enumeration
- 가변길이 파라미터
- static import
- concurrency API
- 버전중 1을 빼고 표기
(내부적으로는 1.5, 1.6, 1.7 등을 사용)
J2SE 1.4 2002년 2월 6일 - assert
- regular expression
- NIO
- IPv6
- XML API
- JCE
- JSSE
- JAAS
- Java Web Start
 
J2SE 1.3 2000년 3월 8일 - HotSpot JVM
- JNDI
- JPDA
- JavaSound
- RMI가 CORBA 지원
J2SE 1.2 1998년 12월 8일 - strictfp
- SWING GUI
- JIT CORBA
- Collections
- JDK -> J2SE로 변경 (J2SE 5까지 사용)
- 1999년 업데이트를 통한HotSpot JVM
JDK 1.1 1997년 2월 19일 - inner class
- JavaBeans
- RMI
- reflection
- unicode
- 국제화(internationallization)
 
JDK 1.0 1996년 1월 23일   - 이전에 Oak로 불렸으나, 안정화 작업을 거친 1.0.2부터 JAVA로 변경
JDK 1.0a2 1995년 5월 23일   - 자바 언어가 정식으로 발표된 날
JDK 1.0a 1994년    

 

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

오라클 자바 튜토리얼(https://docs.oracle.com/javase/tutorial/index.html)이 있어서 소개합니다.
해당 사이트에 들어가서 살펴보니 JAVA에 대한 기본적인 내용 및 심화 내용들이 있습니다.
그동안 책이나 인터넷 검색을 통해 JAVA를 배웠는데.. 정작 오라클 홈페이지의 튜토리얼이 있다는 것을 보고 많은 생각이 들었습니다.
다른 개발언어나 프레임워크, 오픈소스들도 만든 곳의 튜토리얼을 보면 많은 도움이 됩니다.

다음은 튜토리얼 사이트에 있는 목록입니다.
1. JAVA 기본
  1) 시작
  2) 자바 언어 배우기
  3) 클래스 (class) 
  4) 컬렉션 (collections)
  5) Date-Time APIs
  6) 배포 (deplyment)
  7) Java Certifiation

2. JAVA GUI
  1) Swing
  2) JavaFX

3. JAVA 심화
  1) Custom Networking
  2) Extendsion Mechanism
  3) Full-Screen Exclusive Mode API
  4) Generics
  5) Internationalization
  6) JavaBeans
  7) JDBC Database Access
  8) JMX (Java Management Extensions)
  9) JNDI (Java Naming and Directory Interface)
 10) JAXP (Java API for XML Processing)
 11) RMI (Remote Method Invocation API)
 12) Reflection
 13) Security
 14) Sound
 15) 2D Graphics
 16) Sockets Direct Protocol

위의 내용들을 기반으로 Java에 대한 내용들을 정리할 예정입니다.

출처: https://docs.oracle.com/javase/tutorial/index.html

리디북스에서 산 리페라로 독서를 한지도 2년이 지났다.

이벤트를 많이 해서 괜찮다고 생각하던 중에 새로운 리더기가 나왔다.


이미 리페라로 책을 보고 있어서 살까말까 고민을 많이 했는데... 더 나아진 성능과 크기때문에 사는것으로 결정했다.


기대하는 마음으로 페이퍼 프로를 개봉했다.


처음 봤을때 드는 생각은 크기가 많이 커졌다는것이고 크기에 비해 가벼워서 놀랐다.




리페라와 비교해도 크기가 차이가 많이 난다.





페이퍼 프로가 화면 크기가 커지면서 가장 좋은점은 PDF, 만화책을 보는게 가능해진 것이다.

예전에는 PDF, 만화책을 보기위해 패드를 사용했지만 이제는 페이퍼 프로로 봐야겠다.



독서.. 책을 읽어야 된다는 생각은 많이 한다.

하지만 정작 책을 읽을 시간이 부족하다고 자기 합리화를 한다.


의지가 있으면 못 할게 없다고 생각하는데.. 아마 의지가 부족한가 보다.


평소에 독서에 대해 많이 생각하다가 우연히 이북리더기에 대해 검색하면서

리디북스의 리디페이퍼가 있다는것을 알게 되었고,

고민끝에 구입하게 되었다.


그 후  출퇴근 시간은 리디페이퍼와 같이하게 되었다.

자연스럽게 책을 읽게 되었다.

책을 읽고 나서 이해되지 않는 부분도 많았지만 습관을 들일수 있다는 생각에 만족했다.


이제는 한단계 더 높은 곳으로 가고 싶다.

아직 부족한게 많지만 독서를 통해 글도 잘 쓰고 싶다.


그래서 잠자고 있던 티스토리를 깨워야겠다.


이제부턴 책을 읽고 난 후 간단하게 그 책에 관한 나의 생각을 써봐야겠다..