본문 바로가기

공부이야기/Java6

[Java] GC의 종류 (Garbage Collector) GC (Garbage Collector)란? 힙 내의 객체 중에서 Garbage를 찾아내고 찾아낸 Garbage를 처리해서 힙의 메모리를 회수한다. 이를 Garbage Collection이라 하며 JVM에서 이를 자동으로 수행하는 프로세스를 GC(Garbage Collector)라고 한다. JAVA에서 객체가 생성되면 해당 객체는 JVM의 Heap영역의 메모리를 점유 한다. 해당 객체는 현재 참조 되지 않더라도 메모리 공간을 점유 한다. 물론 메모리 공간은 한정적이다. 한정적인 메모리에 현재 사용되지 않는 객체가 점유한 공간을 재때 정리해 주지 않으면 메모리 공간이 부족해 지고, 결국은 Out Of Memory Error 가 발생 할 수 밖에 없다. Serial GC 순차적인 GC. Single Thre.. 2021. 5. 10.
[Java] Java 8에 대해 알아보자! (feat. 다른 버전 summary) Summary version 특징 발표일 Java 8 - 기본 GC -> Parallel GC - Lambda Expression - Optional - Stream API - Repeating Annotation - 새로운 날짜와 시간 API - Interface Default Method 2014. 03. 18 Java 9 - Java를 인터프리터 언어 쉘 처럼 사용할 수 있는 JShell 추가 - private interface method - immutable collection - 64비트 버전만 출시 - .properties 파일에 UTF-8 지원 2017. 09. 21 Java 10 - var 키워드를 이용한 지역 변수 타입 추론 - 병렬 처리 GC - 개별 쓰레드로 분리된 Stop-the-.. 2021. 5. 9.
[Java] 자바는 Call by value? Call by reference? Call by value 변수의 값을 복사해 함수의 매개변수로 전달하는 것. 때문에 넘겨받은 함수의 인자값을 아무리 변경해도 외부에서는 그 값이 변경되지 않는다. 자바의 메소드 호출 방식에 대해 아래 예제를 통해 자세히 살펴보자. Example 1) swap() 함수를 통해 값을 변경한 듯 하지만 출력 결과는 swap전과 동일하다. 이는 x, y에는 a, b의 메모리 주소가 아니라 값만 복사되었기 때문이다. public class Test { public static void swap(int x, int y) { int temp = x; x = y; y = temp; } public static void main(String[] args) { int a = 10; int b = 20; System.out.. 2021. 4. 29.
[Java] static ? final ? static final ? static Java에서 static은 클래스 멤버(정적)를 설정하는 키워드이다. Java 프로그램이 실행될 때 JVM에 의해 클래스 로딩을 하는데 static을 사용한 모든 멤버는 JVM의 메소드 영역에 올라간다. 따라서, 별도의 객체 생성없이 사용 가능하며 객체 간에 데이터가 공유된다. 단, static 메소드가 아닌 곳에서는 언제든 객체 생성없이도 static 요소들에 접근할 수 있지만 static 메소드 안에서는 static이 아닌 외부에 접근할 수 없다. final 마지막, 최종적이라는 의미로 Java에서 final은 상수, 메소드, 클래스를 정의한 뒤 변경하지 못하게 할 때 사용된다. 상수 정의: 상수에 언제든 값을 한 번 저장하고 다시 바꾸지 않을 때 사용 메소드에 사용: 오버라이딩을 못 하.. 2021. 4. 29.