JAVA : Collection Framework
2022. 6. 7. 23:35
개발 저장소/Java Inventory
컬렉션 프레임워크란 Stack, Queue, Map 등 널리 알려진 자료구조를 바탕으로 객체나 데이터를 효율적으로 관리할 수 있는 기능을 구현해놓은 라이브러리 이 글에선, 대표적으로 List, Map 을 다룬다 List [ 개요 ] ArrayList, LinkedList, Vector 의 인터페이스이다. (Vector 는 하위 호환때문에 존재함 권장하지 않음) [ 기본 메서드 ] //주어진 객체를 맨 끝에 추가 boolean add(E e) //주어진 인덱스에 객체를 추가 void add(int index, E element) //값 할당 OR 재설정 set(int index, E element) //주어진 객체가 있는지에 대한 여부를 검색 boolean contains(Object o) //저장된 객체..
JAVA final 키워드
2022. 6. 1. 17:03
개발 저장소/Java Inventory
final 변수 상수로써 사용된다. 변수를 선언과 동시에 초기화하며 이후에 값을 수정할 수 있다. Get 만 가능하다 (Set 불가) final 메서드 오버라이딩 불가능 상속받은 그대로 사용 final 클래스 상속 불가 Subclass 를 만들 수 없다.
JIT Compiler
2022. 5. 31. 16:54
개발 저장소/Java Inventory
[ JIT Compiler 란? ] JAVA 의 성능을 증대시키기 위한 런타임 환경의 요소이다. 런타임 중, 바이트 코드를 기계어 코드로 컴파일 해준다. [ JIT Compiler 개요 ] 개요 1. JAVA 프로그램은 다양한 컴퓨터 구조(OS) 에서 JVM 이 인터프리팅 할 수 있는 바이트 코드를 가진 클래스로 구성된다. 개요 2. 런타임 환경에서, JVM 은 클래스 파일을 로드하고, 각 개별 바이트 코드의 의미를 결정하고 적절한 계산을 수행한다. 개요 3. JIT 컴파일러는 런타임 때, 바이트코드 -> 기계 코드로 컴파일하여 JAVA 프로그램의 성능을 개선하는데 도움이 된다. 개요 Final. 인터프리터 : Java Code -> Bytes Code JIT 컴파일러 : Bytes Code -> Mac..
Generic In Java
2022. 5. 24. 05:28
개발 저장소/Java Inventory
Step 01. 제네릭 소개 - 제네릭은 왜 필요한가? 제네릭을 사용하지 않을 때 MyCustomList.java public class MyCustomList { public void addElement(T element) { list.add(element); } }위와 같은 메서드를 사용하기 위해서는 String 타입을 매개변수로 꼭 넣어주어야한다. 만약 String타입이 아니라, Integer, Boolean 등 다른 자료형이 접근하면 오류가 생기게 된다. Step 02. 사용자 정의 리스트를 위한 제네릭 구현 제네릭을 사용할 때 MyCustomList.java public class MyCustomList { public void addElement(T element) { list.add(elem..
Garbage Collection In Java
2022. 5. 23. 19:25
개발 저장소/Java Inventory
Garbage Collection Garbage Collection 이란? Java 프로그램에서, 자동으로 메모리를 관리해주는 과정이다. C/C++ 와 달리, 프로그래머는 객체의 메모리 할당과 해제를 신경 쓸 필요가 없다. Garbage Collection 이 데몬 쓰레드의 형태로 수행해주기 때문이다. Garbage Collection 배경 Java 코드는 JVM 에 의해 ByteCode 로 컴파일된다. Java 프로그램이 JVM 에서 실행될 때 객체는 힙에 저장된다. 이때 일부 객체들은 더 이상 힙에 존재할 필요가 없어질 때가 오게 된다. 이때 Garbage Collection 이 사용되지 않는 객체들을 찾아 제거한다. Garbage Collection 동작 과정 Garbage Collection 은 ..
JVM 구조, JVM 메모리 구조
2022. 5. 22. 03:38
개발 저장소/Java Inventory
JVM JVM 이란? Java Code 나 Application 을 실행시키기 위한 런타임 환경을 제공해주는 엔진이다. Java 코드를 ByteCode 로 변환해준다. JVM 은 Java Runtime Environment(JRE)의 일부이다. 다른 언어의 컴파일러와는 다르게, Java 컴파일러는 JVM 이 인식할 수 있는 코드를 생성해낸다. JVM 기능 Java 코드를 ByteCode 로 변환한다. (ByteCode 는 인터프리팅 된다.) JVM 은 메모리 공간 할당을 담당한다. Java Code JVM System Working of Virtual Machine (JVM) Class Loader -> Byte Code Verifier -> Execution Engine JVM 구조 https://ww..