[Java] Java 기본

JOY·2023년 3월 2일
0

[Java]

목록 보기
1/15
post-thumbnail

Java개발 분야에 따른 종류

1) JavaSE (Java Standard Edition)

  • 자바언어의 핵심기능 제공

2) Java EE(Java Enterprise Edition)

  • JavaSE 플랫폼 위에서 구축하며 기업용 애플리케이션 제작에 필요한 도구, 라이브러리제공

3) Java ME Embedded

  • 핸드폰등 모바일 기기나 다른 임베디드 장치에 사용

JVM과 JDK

JVM < JDK

  • JDK(자바 실행 환경 도구)
  • JVM : 운영체제 상관없이 Java를 사용할 수 있도록 도와주는 가상 머신
  • LTS(Long Term Support) : 지속적으로 지원하는 서비스
  • But, JDK 자체는 운영체제에 독립적이지 않음

Java Version

1) Java 5.0
2) Java 8.0

  • 함수형 프로그래밍 : lambda
    ❗ 람다식 사용시 주의점
    인수와 메서드명 예측 가능해야함
  • Stream 활용 : 다양한 컬렉션 사용하여 가공 가능(정렬, 추출 등)

3) Java 9.0

  • Java 9의 가장 큰변화중 하나는 모듈시스템(Java Platform Module System)!
  • Command 기반 - REPL(jshell)
  • 기존 패키지를 작은 규모로 분리, 모듈화 시켜서 작용

bin 폴더 역할 : 실행 파일

  • path 설정 (jdk 설치)
    window - C:Program Files|Java|jdk-11.0.13|bin 등록한다.
    이유 : bin안에 있는 실행파일을 위치에 상관없이
    언제든지 어디서든 사용할 수 있도록!!!
  • Java의 변천사
    웹브라우저 HTML, CSS, JavaScript

Servlet과 JSP

Servlet

웹페이지를 동적으로 생성하기 위한 서버측 프로그램
자바 언어를 기반으로 만들어지며 WAS에서 컴파일 되고 동작

  • 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨
    자바 웹 프로그래밍 기술

장점 : 복잡한 로직구현에 용이
단점 : Java 코드 중심 화면 작성 작업과 수정이 어려움
디자이너와 개발자 사이의 소통이 어려움
형식 : Java코드(HTML 코드)
사용방법 :

out.print(“<html>”>`

JSP (Java Server Pages)

Servlet 기술의 확장형
Servlet을 보완한 스크립트 방식 표준, Servlet의 모든 기능 + 추가 기능

  • 정적인 HTML 코드에 Java 코드를 입력하여
    동적으로 웹페이지를 구성할 수 있게 해주는 웹 어플리케이션 도구
  • JSP는 하나의 Java 클래스 이기 때문에 Java의 모든 라이브러리를 사용할 수 있음
    자바 코드가 필요할 때 <% java코드 작성 %> 사용해서 작성한다.
  • asp, php와 거의 유사한 언어를 제공!!
    👉 JSP가 실행 되는 것이 아닌 WAS를 통해 Servlet으로 실행

장점 : HTML 코드 중심 👉 화면작성 작업과 수정에 용이
단점 : 소스코드가 공개되어 중요정보를 다루기에 부적합
형식 : HTML코드(Java코드)
사용방법 :

<%
request.setCharcaterEncoding(“euc-kr”);
String num = request.getParameter(“num”);
int num = Integer.parseInt(num);
%>

백엔드의 구조화

  • SOLID 원칙, GoF 23가지 원칙을 통해 뼈대 구축 👉 Framework
  • 유지보수와 확장 용이

<MVC 패턴>

  • Model : Java
  • View : HTML, CSS, JS, JSP
  • Controller : Servlet - Model과 View의 Back과 Front 연결

프로그램의 lifecycle을 framework가 주체

library 와 framework의 차이점

  • library : 실행의 주체가 개발자, 원할때 개발자가 호출
  • framework : 실행 흐름이 정해져있음(lifecycle)
profile
Just Do IT ------- 🏃‍♀️

0개의 댓글