ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA란?
    JAVA 2021. 3. 4. 23:47

    프로그램(Program)

    컴퓨터를 위한 작업 지시서로서 구체적으로 컴퓨터가 특정한 작업을 위한 명령어들의 리스트

    명령어(Instruction)

    CPU가 수행하는 기초적인 연산

    기계어

    컴퓨터가 이해하는 단 하나의 언어

    컴파일러(Compiler)

    통역을 담당하는 소프트웨어로서 인간이 프로그래밍 언어를 배워서 프로그램을 작성하면 기계어로 바꾸어 준다.

    Byte Code

    자바 컴파일러가 특정한 컴퓨터를 위한 코드를 바로 생성하지 않고 가상적인 기계를 위해 생성하는 코드


    JAVA 개발자

    Sun Microsystems사의 제임스 고슬링(James Gosling)

    JAVA Language

    java는 세계에서 가장 널리 쓰이는 프로그래밍 언어이다. 간단한 PC용 소프웨어나 게임, 웹어플리케이션은 물론, CRM,ERP,SCM등의 기업용 애플리케션을 만드는 SI(시스템 구축) 작업에 많이 쓰인다.

    안ㄷ브로이드 스마트폰 앱 개발도 대부분 자바를 통해 이루어지고, 안드로이드 앱 개발의 진입 장벽이 낮은 이유도 개발자들이 기존에 익힌 자바 언어를 대부분 그대로 사용할 수 있기 때문이다.

    JAVA Version

    언어적 변화 : JAVA 1.0(1996) ~JAVA 1.5(2004)년 

    일반 개발 평준화 기준JAVA 1.8

    Java SE 12

    2019년 3월 19일 공개. 특징 중 하나로 문법적으로 Switch문을 확장한 것이 있다.(출처)

    switch (day) { case MONDAY: case FRIDAY: case SUNDAY: System.out.println(6); break; case TUESDAY: System.out.println(7); break; case THURSDAY: case SATURDAY: System.out.println(8); break; case WEDNESDAY: System.out.println(9); break; }
    예전에는 이렇게 써야 했던 Switch문을 아래와 같은 형식으로도 쓸 수 있게 되었다.
    switch (day) { case MONDAY, FRIDAY, SUNDAY -> System.out.println(6); case TUESDAY -> System.out.println(7); case THURSDAY, SATURDAY -> System.out.println(8); case WEDNESDAY -> System.out.println(9); }

    이외에 가비지 컬렉터 개선, 마이크로 벤치마크 툴 추가, 성능 개선의 변경점이 있다.

     

    Java SE 13

    2019년 9월 17일 공개. java 12에서의 스위치 개선을 이어 yield 라는 예약어가 추가되었다.
    var a = switch (day) { case MONDAY, FRIDAY, SUNDAY: yield 6; case TUESDAY: yield 7; case THURSDAY, SATURDAY: yield 8; case WEDNESDAY: yield 9; };

     

    Java SE 14

    2020년 3월 18일 공개. 프리뷰 기능으로 instanceof의 패턴 매칭과 record라는 데이터 오브젝트 선언이 추가되었다. 그 외에 인큐베이터라는 패키징 툴(OS에 맞춘 실행파일 생성기능) 추가 등이 있다.

    instanceof 패턴 매칭
    if (!(obj instanceof String s)) { .. s.contains(..) .. } else { .. s.contains(..) .. }

    record 타입 지원
    record Point(int x, int y) { }

     

    Java SE 15

    2020년 9월 15일 공개 (한국 기준 9월 16일)

    • EdDSA 암호화 알고리즘 추가

    • 패턴 매칭 (2차 미리보기, 상단 Java 14 참조)

    • 스케일링 가능한 낮은 지연의 가비지 컬렉터 추가(ZGC)

    • Solaris 및 SPARC 플랫폼 지원 제거

    • 외부 메모리 접근 API (인큐베이팅)

    • 레코드 (2차 미리보기, 상단 Java 14 참조)

    • 클래스 봉인 (미리보기)

      상속 가능한 클래스를 지정할 수 있는 봉인 클래스가 제공된다.
      상속 가능한 대상은 상위 클래스 또는 인터페이스 패키지 내에 속해 있어야 한다.

    package wiki.namu.example.species;

     

    public sealed class Animal Dog, wiki.namu.example.species.india.Monkey, wiki.namu.example.species.sabana.Leopard { // ... }

    • 다중 텍스트 블록

      이제 자바에서도 여러 줄의 문자열을 손쉽게 작성할 수 있다.

    String html = """ <html> <body> <p>Hello, world</p> </body> </html> """;

     

    JAVA 슬로건

    Write Once, Run Anywhere

    JAVA edition

    Java SE(Standard Edition) 개인

    문법 - GUI -I/0 -Network/Thread

    Java EE(Enterprise Edition)_웹

    Java Me(Micro Edition)_모바일(X)

     

    'JAVA' 카테고리의 다른 글

    #Builder 패턴  (0) 2021.05.11
    컬렉션 프레임웍과 함수형 인터페이스  (0) 2021.04.05
    인터페이스 Predicate<T>  (0) 2021.04.05
    람다식  (0) 2021.04.05
    JRE , JDK ?  (0) 2021.03.04

    댓글

Designed by Tistory.