본문 바로가기

JAVA5

GC(Garbage Collector) 란? Garbage Collector(GC)란?프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게된 영역을 해제하는 기능Ex) new 라는 키워드가 힙 영역에서 동적으로 메모리를 할당해주는 역할을 하고, 그렇게 동적으로 할당된 메모리를 자동으로 해제해주는 것이 GC.💡Stack : 정적으로 할당한 메모리 영역, 원시 타입의 데이터가 값과 함께 할당, Heap영역에 생성된 Object 타입 데이터의 참조 값 할당💡Heap : 동적으로 할당한 메모리 영역으로, 모든 Object 타입의 데이터가 할당, Heap영역의 Object를 가리키는 참조 변수가 Stack에 할당 GC는 언제 동작하는가GC는 JVM에 올라가 있기 때문에 기본적으로 런타임시에 동작. GC 과정Garbage Collector가 Stack의 .. 2021. 10. 20.
Java의 실행과정과 JVM 전체적인 Java의 실행과정 전체적인 자바의 실행과정은 다음과 같습니다. Java Compiler Compiler란 해석기라는 의미로, 자바 소스 파일을 바이트파일로 바꿉니다. 일반적으로 소스파일을 컴파일한 파일은 바이너리 코드의 형태를 갖는데, 자바는 바이트 코드를 가진 파일로 변환이 됩니다. 이러한 바이트 코드로 작성된 클래스 파일은 JVM이 읽어들여 실행합니다. JVM(Java Virtual Machine) JVM은 자바 가상 머신으로 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것으로, 컴파일러가 변환한 클래스 파일을 읽어들여 실행시킵니다. 자바의 장점인 운영체제의 구애를 받지 않는 점과 메모리 관리가 용이하다는 점은 JVM이 가능하게 해주는 것입니다. *Linking.. 2021. 9. 18.
Optional<T> 는 무엇인가..? Optional는 지네릭 클래스로 'T타입의 객체'를 감싸는 래퍼 클래스이다. 그래서 Optional 타입의 객체에는 모든 타입의 참조변수를 담을 수 있다. public final class Optional{ private final T value; //T타입의 참조변수 ... } 최종 연산의 결과를 그냥 반환하는 게 아니라 Optional 객체에 담아서 반환하는 것이다.이처럼 객체에 담아서 반환을 하면, 반환된 결과가 null인지 매번 if 문으로 체크하는 대신 Optional에 정의된 메서트를 통해서 간단히 처리할 수 있다. 이제 Null체크를 위한 if문 없이도 NullPointerException이 발생하지 않는 보다 간결하고 안전한 코드를 작성하는 것이 가능해진 것이다. Optio.. 2021. 7. 14.
hasNext() 와 next() 메서드 hasNext() 와 next() 메서드 자바의정석3판 11장 컬렉션프레임웍을 공부하던중 hasNext() 와 next()를 정확히 이해하고자 정리합니다. ArrayList list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); ListIterator it = list.listIterator(); while(it.hasNext()){ System.out.println(it.next()); } System.out.println();위의 코드에서 while문에 조건으로 it.hasNext() 그리고 while문의 수행문장으로 it.next()를 출력하는 코드가 있습니다. 이 문장에서 ha.. 2021. 4. 29.
JAVA - 향상된 for문 우리가 기존의 알고있던 for문의 형식은 다음과 같습니다. for(int i=0; i 2021. 4. 26.