일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 맥북 필수 앱
- 백준 알고리즘
- 자바 인터뷰
- Node.js Express
- 생활코딩
- react jsx
- 자바 면접
- 리액트
- node.js
- AtomEditor
- React props
- 맥북 팁
- 자바 기술면접
- Express middleware
- 맥북 유용한 앱
- 맥북 초보
- 자바 영어면접
- 기술면접
- mysql
- jsx 문법
- Java tech interview
- 아톰에디터
- 백준
- 백준 단계별로 풀어보기
- 맥북 사용법
- 알고리즘
- React
- tech interview
- 자바 개발자
- react state
- Today
- Total
목록StudyLog/Java interview (29)
song.log
- 정의 제네릭(Generic)은 Java에서 컴파일 시점에서 타입 안정성을 보장하는 기능입니다. 제네릭을 사용하면 클래스나 메서드의 인자, 반환값, 변수 등의 타입을 컴파일 시에 미리 지정할 수 있습니다. 이렇게 하면 실행 시점에서 타입 관련 오류를 방지할 수 있으며, 타입 캐스팅을 하지 않고도 원하는 타입의 객체를 사용할 수 있습니다. 제네릭은 코드의 재사용성과 가독성을 높여주는 장점이 있습니다. - 영어 정리 : Generics are a way to make classes and methods more flexible and reusable by allowing them to work with multiple types. Generics provide a way to specify a type p..
- 정의 Map 컬렉션(Map Collection) : 맵 컬렉션은 Map인터페이스를 상속하여 구현한 구현체로, key-value쌍으로 이루어진 데이터를 저장하는 자료구조입니다. key값은 value를 찾기 위한 값으로 중복을 허용하지 않습니다. value는 중복이 가능합니다. HashMap: 가장 일반적으로 사용되는 맵 클래스 중 하나입니다. 해시 알고리즘을 사용하여 데이터를 저장하며, 키와 값의 쌍으로 저장됩니다. 내부적으로 배열을 사용하므로 키를 기반으로 빠른 검색, 삽입, 삭제 등의 연산이 가능합니다. 순서를 보장하지 않습니다. TreeMap: 이진 검색 트리를 사용하여 데이터를 저장하는 클래스입니다. TreeMap은 키를 기반으로 정렬된 순서대로 데이터를 저장하기 때문에, 키 값에 따라서 정렬된..
- 정의 Set 컬렉션(Set Collection) : 저장 순서를 유지하지 않고 중복된 원소를 허용하지 않는 자료구조입니다. 따라서 순서에 상관 없이 중복값을 하고자 하지 않을 때 유용하게 쓰입니다. HashSet : Set 컬렉션 내에서 가장 자주 사용되는 클래스로 해시 알고리즘(Hash Algorithm)을 사용하였습니다. 내부적으로 HashMap을 사용하여 원소를 저장합니다. 순서를 보장하지 않으며 null 값을 포함할 수 있습니다. HashSet은 검색, 추가, 삭제 등의 연산에서 O(1)의 시간 복잡도를 가지므로 대용량의 데이터를 처리할 때 효율적입니다. 하지만 요소들의 순서를 보장하지 않으므로 순서가 중요한 경우에는 TreeSet과 같은 다른 Set 구현체를 사용해야 합니다. TreeSet ..
- 정의 리스트 컬렉션(List Collection) : 자바에서 제공하는 리스트 컬렉션 인터페이스로 순서가 있는 데이터를 담는 자료구조입니다. 이 인터페이스를 구현한 구현체로 ArrayList, LinkedList, Vector등이 있습니다. 리스트 컬렉션은 데이터의 중복이 허용됩니다. ArrayList : 이름 그대로 배열을 이용하여 구현한 리스트입니다. 인덱스로 객체를 관리한다는 점에서 일반 배열과 유사하지만 데이터를 담는 크기를 동적으로 조절할 수 있다는 것에서 다릅니다. 데이터를 조회하는 것에 있어서 성능이 높으나 데이터를 추가, 삭제하는 것에 있어선 느린 편입니다. LinkedList : 노드와 노드 사이의 참조를 통해 연결된 노드의 집합으로 이루어진 자료구조입니다. 순차적으로만 접근이 가능하..
- 정의 직렬화 : 객체를 바이트 단위로 변환하여 저장하거나 전송하는 과정을 말합니다. 이를 통해 객체를 파일에 저장하거나 네트워크를 통해 전송할 수 있습니다. 역직렬화 : 직렬화된 바이트 데이터를 다시 객체로 변환하는 과정입니다. 이 과정에서는 객체를 생성하고, 저장된 데이터를 객체의 필드에 대입하는 과정이 수행됩니다. 자바에서는 Serializable 인터페이스를 구현하여 객체를 직렬화할 수 있습니다. 직렬화된 객체는 ObjectInputStream 클래스를 이용하여 역직렬화할 수 있습니다. - 영어 정리 : Serialization : The process of converting an object into a stream of bytes to make it possible to store the ..
- 정의 데몬 스레드 : 백그라운드에서 실행되며, 일반 스레드의 작업을 보조하고 지원하는 역할을 합니다. 일반 스레드가 모두 종료되면 데몬 스레드는 자동으로 종료됩니다. 자바에서 데몬 스레드를 생성하는 방법은 Thread 클래스의 setDaemon() 메서드를 호출하여 생성한 스레드를 데몬 스레드로 설정하는 것입니다. 이 메서드는 해당 스레드가 데몬 스레드인지 아닌지를 설정합니다. 일반 스레드를 데몬 스레드로 설정하려면 setDaemon(true)를 호출하면 됩니다. 데몬 스레드로 설정된 스레드는 일반 스레드가 종료될 때 자동으로 종료됩니다. - 영어 정리 : daemon thread : A type of thread that runs in the background to perform a specifi..
- 정의 데드락(Deadlock) : 둘 이상의 프로세스나 스레드가 서로 상대방이 점유한 자원을 대기하며 무한정 기다리는 상황을 말합니다. 각 프로세스나 스레드는 서로가 점유한 자원을 사용해야 하는데, 상대방이 자원을 해제하지 않으면 계속 대기하게 되어 결국 아무 일도 처리하지 못하고 멈춰버리게 됩니다. 이러한 상태에서는 자원이 제대로 사용되지 않으므로, 시스템 전체의 성능 저하를 일으킬 수 있습니다. - 영어 정리 : Deadlock : A situation in a multi-threaded or multi-process system where two or more threads or processes are blocked and unable to proceed because each is waiti..
- 정의 스레드 동기화 : 멀티 스레드 프로그래밍에서 한번에 하나의 스레드만 공유 리소스에 접근할 수 있도록 보장합니다. 여러 스레드들이 공유하는 자원에 대한 접근을 조절하여 스레드 간의 충돌을 방지하고 데이터의 일관성을 유지하는 것을 의미합니다. 특정 코드 블록을 임계영역(critical section)으로 설정하고, 이 영역에 락(lock)을 취득한 스레드만이 해당 영역의 리소스를 사용할 수 있도록 하는 것입니다. -영어 정리 : Thread synchronization: Ensures that only one thread at a time can access shared resources in multi-threaded programming. It controls access to resources..