JAVA

· JAVA
시작하며Java에서는 new를 통해서 객체를 생성하게 된다. 자바 파일이 compile 되면 os가 JVM에게 할당한 메모리 중 JVM의 Run time data area의 Heap 영역에 new를 통해서 만든 객체가 메모리에 할당하게 된다. 이렇게 할당된 메모리는 언젠가는 반환 되어야 하는데 C에서는 delete라는 연산자를 통해서 반환 시키지만 Java에서는 delete를 사용한 적이 없다. 이유가 왜일까? 바로 GC(Garbage Collection)를 통해서 자동으로 메모리를 반환 하기 때문이다. 이번 시간에는 이런 GC가 어떻게 동작하는지 그리고 GC의 알고리즘에는 어떠한 것들이 있는지 살펴보자 JVM Heap Area구조실제로 heap Area를 보면 크게 4가지 구역으로 나눌 수 있다.Ede..
· JAVA
자바의 가장 큰 특징 하나만 말하라고 하면 뭐가 있을까? 바로 플랫폼 독립적이라는 것이다.플랫폼에 종속된 경우 윈도우에서 빌드한 프로그램을 그대로 리눅스나 macOS에서 실행하는 것은 불가능하다. 반면 Java로 작성된 프로그램은 플랫폼에 맞는 자바 가상 머신만 설치되어 있다면 대체로 문제없이 동작한다. 이는 바이트 코드가 플랫폼이 아닌 자바 가상 머신에서 실행가능하며, 프로그램 실행의 주체가 운영 체제가 아닌 자바 가상 머신이기 때문이다. 이러한 점을 일컬어 플랫폼에 독립적이라고 한다.  그럼 Java는 어떻게 플랫폼에 독립적일 수 있을까? 바로 JVM이 있기 때문이다.JVM은 어디에 위치해 있을까?컴퓨터의 구조를 이렇게 3개의 계층으로 볼 수 있다.보게 되면 JVM이 user mode Applicat..
독서, 운동 그리고 개발
'JAVA' 카테고리의 글 목록