오늘은 스프링 심화강의랑 이전에 놓쳤던 자바 특강을 했는데
감이 잘 안잡힌다 내일부터 있을 자바 후발대반 수업 들으면서 열심히 해봐야겠다
자바 심화
JVM 구조 컴파일->번역느낌
코드작성 (.java) ->자바 컴파일러->바이트코드(.class) -> JVM
JDK (Java Development Kit) 개발자들이 자바로 개발하는 데 사용
JRE(Java Runtime Environment) 자바로 만들어진 프로그램을 실행시키는데 필요
런타임 ! 컴파일 타임
컴파일 타임 코딩 다 하고 실행,배포 전 미리 해두는 번역작업
런타임 컴파일 및 빌드가 끝난 후 실행이 될때 필요한 요소
JVM (Java Virtual Machine) 자바 프로그램 실행환경을 만들어 주는 소프트웨어
https://coding-factory.tistory.com/826 참조
JRE 자바 실행환경
JDK>JRE>JVM
JVM
java 파일로 작성->바이트코드(자바 코드 <--바이트코드-->기계어
JVM이 깔린 어떤 종류의 컴퓨터에서든 동작 O
바이트 코드 -> 클래스 로더 시스템(.class 에서 바이트코드를 읽고 메모리에 저장.)
->
-메모리
메소드 영역
힙영역 객체저장
스택 ? 스레드=스택
네이티브 이터널 스레드 = 네이티브 이터널스택으로 불릴수 있음
-실행엔진
jit compiler 반복되는 코드를 재사용해서 속도를 높인다.
GC (가비지 컬렉터) 더이상 참조되지 않는 객체를 모아서 정리
--> 메모리 효율 ↑
인터페이스
컨트롤러
ui
컨트롤러 -성공,여부 ->클라이언트로 결과물 전달
클라이언트 (앱,웹 ,다른 서버) 내가 만드는 서버 입장에서
@포스트 매핑 (http메소드 )
http
RESTful http(s):
(프로토콜)
Dto 데이터 바구니 (Data Transfer Object)
@Setter ( setter를 쓰지말고 생성자를 쓰는게 좋다
@Getter
서비스 = 사령관
비즈니스 로직 들어가면 X
비즈니스 로직 = 무언가를 체크,비교
스프링 개념 확인
자바 JVM 확실히 알기