목록자바/자바 실습 (37)
seong
자바 메모리 구조 (Static, Stack, Heap) 프로그램을 실행 하기 위해선 메모리(RAM)이 필요하며 운영체제(OS)가 메모리에게 저장공간을 할당 해 준다. 이 할당 공간을 효율적으로 사용 하느냐에 따라 프로그램의 속도가 바뀐다. 자바에서는 효율적인 메모리를 사용하기 위해 Static, Stack, Heap를 사용한다. 자바의 세가지 메모리 영역(Static, Stack, Heap) Static 영역 (Class에 고정되어 있는 멤버) Static영역은 “정적”이다. Static는 프로그램을 처음 시작할 때 한번 실행하게 되며, 프로그램이 종료될 때 까지 남아있는다. 즉 패키지, 클래스 정보가 호출 되는 시점에 메모리에 할당된다. Stack 영역 Stack은 지역 변수 라고도 할 수 있다. 기..
JVM이란? 자바 가상 머신 Java Virtual Machine 이다. 이는 자바 언어를 사용하는 프로그램들의 실행 환경을 만들어주는 소프트웨어이다. 자바로 작성된 코드를 컴파일 하면 .class로 만들어지고 이 코드가 JVM에서 실행된다. JVM을 사용하면 하나의 .class 바이트 코드로 모든 플랫폼에서 동작할 수 있게 된다. 📌 .class는 컴퓨터가 읽는 기계어 이다. .class를 window 환경과 mac 환경에 맞춰서 바꿔주는 역할을 JVM이 담당한다.
컴파일이란? 사용자가 코드를 작성하고 컴퓨터로 실행하기 위해 컴퓨터가 알아들을 수 있도록 번역 해주는 역할을 한다. Ex) 코드작성 -> 컴파일 -> 번역된 컴퓨터 언어 -> 실행 인터프리터란? 컴파일러가 컴파일을 통해 컴퓨터가 알아듣기 쉬운 언어로 번역하는것 이라면 인터프리터는 사용자가 코드를 작성했다면 그 코드를 바로 컴퓨터가 실행할 수 있도록 하는 역할을 한다. Ex) 코드작성 -> 인터프리터 -> 프로그램 실행 컴파일 인터프리터 편의성 수정후 다시 컴파일 하고 실행 수정 후 즉시 실행 가능 실행속도 컴퓨터가 저수준 언어로 실행되기 때문에 빠르다 느리다 보안성 컴파일 된 후 이기 때문에 코드가 유출 가능성이 낮다 코드가 그대로 사용되기 때문에 유출 가능성이 있다 용량 실행 파일 전체를 전송 -> 높..
세션 상태 Host P 와 Host Q가 서로 통신 인증이 된 상태. 클라이언트와 서버 간 통신이 인증이 된 상태이다. 세션이 된 상태에서는 데이터 송수신이 가능하다. 세션 정보 하나의 세션에서 Client → Server 전송할 데이터의 정보이다. Server는 Client가 전송하는 데이터를 모두 수신할 때까지 세션 상태를 유지한다. Stateful 세션이 종료될 때까지 Client의 세션 정보를 저장하는 네트워크 프로토콜이다. Ex) TCP 3 -way Hand Shake, 온라인 뱅킹 등등.. 장점 서버가 클라이언트의 세션 정보를 저장하고 있으므로, 연결이 끊긴다 하더라도, 다시 그 지점부터 시작할 수 있다. 단점 속도가 느리다는 단점이 있다. 통신이 끊기면, 클라이언트의 세션 정보를 새로운 서버..
1.신뢰성 있는 통신이란? 수신자가 정보를 전달하고 송신자는 정보를 제대로 전달 받았다면 "전달 받음"을 확인 해주고, 만약 제대로 전달 받지 못했다면 "전달 받지 못함" 즉, 상호간 확인을 하며 통신을 하는 것을 "신뢰성 있는 통신" , TCP 3-way hand shake가 있다. 2. TCP 3-way hand shake란? TCP/IP 프로토콜 위에서 통신하는 프로그램의 데이터를 전송 하기 위해 송수신자간 서로 세션을 수립 하는 과정이다. 1) P가 Q에게 접속 신호인 SYN을 보내준다. 2) Q는 전달 받은 SYN 신호와 , 요청을 수락하는 ACK 신호를 다시 P에게 전달 3) P는 연결 한다는 ACK 신호를 보내고 데이터 전송이 시작된다.