▩ 목 차 ▩ 1. 실수를 방지할 수 있도록 도와주는 제네릭 1-1. 제네릭이 뭐지? 1-2. 제네릭 타입의 이름 정하기 1-3. 제네릭에 ?가 있는 것은 뭐야? 1-4. 제네릭 선언에 사용하는 타입의 범위도 지정할 수 있다. 1-5. 메소드를 제네릭하게 선언하기 2. 제네릭 정리 ■ 1. 실수를 방지할 수 있도록 도와주는 제네릭 ■ 개발을 하면서 점(.) 하나 잘목 찍거나 세미콜론(;)을 잘못 찍어서 컴파일이 안된 경우가 많을 것이다. 이클립스를 사용하면 코딩 단계에서 매우 쉽게 걸러낼 수 있지만, 자잘한 실수가 아니라 실행시에 개발자가 미처 생각하지 못한 부분에서 프로그램이 예외를 발생시키는 경우가 있다. ==> 위의 경우를 위해서 메소드 개발과 JUnit과 같은 테스트 코드를 작성하는 것이 좋다. ..
▩ 목 차 ▩ 1. java,lang 패키지는 특별하다 1-1. java.lang 패키지에서 제공하는 인터페이스, 클래스, 예외 클래스 1-2. 숫자를 처리하는 클래스들 1-3. 각종 정보를 확인하기 위한 System 클래스 1-3-1. 시스템 속성값 관리(Property) 1-3-2. 시스템 환경 값 조회(Environment) 1-3-3. GC 수행 1-3-4. GC 종료 1-3-5. 현재 시간 조회 1-4. System.out을 살펴보자. ■ 1. java,lang 패키지는 특별하다 ■ java.lang 패키지에 있는 클래스들은 import를 안해도 사용할 수 있기 때문에 특별하다. ■ 1-1. java.lang 패키지에서 제공하는 인터페이스, 클래스, 예외 클래스 java.lang 패키지에서 제공..
▩ 목 차 ▩ 1. Garbage Collection이란? 2. JVM의 Heap의 영역 3. Garbage Collection의 동작 방식 3-1. 세부적인 동작방식이 다른 가비지 컬렉션은 실행될때 2가지 공통적인 단계를 거친다. 3-1-1.Stop The World 3-1-2. Mark and Sweep 3-2. Minor GC의 동작 방식 3-3. Major GC의 동작 방식 4. GC 방식에 따라서 처리 절차가 달라진다 어떤 방식이 있는지 알아보자. 4-1. Serial GC 4-2. Parallel GC 4-3. Parallel Old GC 4-4. CMS(Concurrent Mark Sweep) GC 4-5. G1(Garbage First) GC 4-5-1. Minor GC 4-5-2. Maj..
▩ 목 차 ▩ 1. 자바에서 사용되는 언어들 1-1. 정리 2. Garbage Collection 3. 자바의 언어의 특징은 다음과 같다. ■ 1. 자바에서 사용되는 언어들 ■ JVM : Java Virtual Machie 작성한 자바 프로그램이 수행되는 프로세스 자바 소스코드로부터 컴파일 해서 나온 결과인 자바 바이너리 파일(.class)을 실행할 수 있다. 자바 프로그램이 어느 기기, 어느 운영체제에서도 실행될 수 있게 만들어준다. 바이너리 코드를 읽고, 검증하고 실행한다. JRE의 규격을 제공한다. 자바 프로그램의 메모리를 효율적으로 관리 & 최적화해준다.[ Garbage Collection ] JRE : Java Runtime Enviroment JVM이 자바 프로그램을 동작시킬 때 필요한 라이브..
▩ 목 차 ▩ 1. 기본자료형의 값 비교 1-1. 기본자료형의 값 저장은 Stack 영역(메모리)에서만 한다. 1-2. 메모리 관점에서의 기본자료형 할당 정리 2. 참조자료형의 값 비교 2-1. 참조자료형의 실제값은 Heap 영역, 실제값을 가르키는 레퍼런스 변수는 Stack 영역 2-2. Stack 영역에서 Heap 영역의 값을 참조하는 변수가 없다면 Garbage Colletion을 이용해 처리한다. 2-3. 위에서 배운 stack 영역과 heap영역을 생각하고 참조자료형의 값 비교를 해보자. 2-4. 메모리 관점에서의 passByReference()의 원리를 이해해보자. 2-5. 메모리 관점에서의 참조자료형 할당 정리 저번에 기본자료형, 참조자료형에 대한 "=="과 eqauls() 비교에 대해서 알..
▩ 목 차 ▩ 1. JVM이 자바 소스코드를 어떻게 OS에서 실행하는지의 과정 및 구조 1-1. JVM 구조 1-1-1. Class Loader 1-1-2. Excution Engine 1-1-3. Garbage Collector 1-1-4. Runtime Data Areas 1-2. JVM 정리 2. C언어) 프로그램이 실행하게 되면 운영체제로부터 할당받는 메모리 공간 [ Code, Data, Heap, Stack ] 2-1. Code 영역 2-2. Data 영역 2-3. Stack 영역 2-4. Heap 영역 2-5. Stack과 Heap의 Overflow 3. 자바) 프로그램이 실행하게 되면 운영체제로부터 할당받는 메모리 공간 Runtime Data Areas [ Method Area, Runtim..