일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 인터뷰
- AtomEditor
- 맥북 초보
- 기술면접
- jsx 문법
- react state
- 백준
- 맥북 사용법
- 리액트
- node.js
- React
- Node.js Express
- 아톰에디터
- 생활코딩
- mysql
- 백준 알고리즘
- 맥북 팁
- 백준 단계별로 풀어보기
- 자바 기술면접
- 맥북 유용한 앱
- Java tech interview
- 맥북 필수 앱
- react jsx
- 자바 영어면접
- 자바 개발자
- Express middleware
- 알고리즘
- 자바 면접
- tech interview
- React props
- Today
- Total
목록자바 기술면접 (29)
song.log
- 정의 스레드의 상태는 크게 6가지로 분류됩니다. NEW : 스레드가 생성되었지만, 아직 start() 메소드가 호출되지 않은 상태입니다. RUNNABLE : 스레드가 실행 가능한 상태로, 실행되기 위해 대기하고 있는 상태입니다. BLOCKED : 스레드가 실행 가능한 상태가 아니며, 다른 스레드가 락을 획득하여 실행될 때까지 대기하고 있는 상태입니다. WAITING : 스레드가 다른 스레드가 특정 작업을 완료할 때까지 대기하고 있는 상태입니다. TIMED_WAITING : 스레드가 다른 스레드가 특정 작업을 일정 시간 동안만 기다리고 있는 상태입니다. TERMINATED : 스레드가 실행을 마친 상태입니다. 이후에는 다시 시작될 수 없습니다. 스레드의 상태 변화는 스레드 스케줄러의 결정에 의해 이루어..
- 정의 멀티스레딩 : 여러 개의 스레드가 동시에 실행되는 것을 말합니다. 이를 통해 프로그램의 성능이 향상되며 여러 작업을 동시에 처리할 수 있습니다. 스레드 간의 통신을 하기위해서는 wait(), notify(), notifyAll()과 같은 메서드를 사용할 수 있습니다. wait() 메서드는 스레드가 대기 상태로 들어가도록 하고, notify() 메서드는 대기 중인 스레드 중 하나를 다시 실행 가능한 상태로 바꿔줍니다. 마지막으로 notifyAll()은 모든 대기 중인 스레드를 다시 실행 가능한 상태로 변경하는 메서드 입니다. 위 메서드들은 Object 클래스에 정의되어 있기에 자바의 모든 객체는 wait(), notify(), notifyAll() 메서드를 사용할 수 있습니다. - 영어 정리 : ..
- 정의 프로세스 : 운영체제에서 할당하는 작업의 단위로 독립적인 메모리 공간을 할당받아 실행됩니다. 프로세스는 각자의 주소 공간과 데이터 스택을 가지며, 다른 프로세스의 변수나 자료에 직접 접근할 수 없습니다. 각가의 프로세스는 독립적으로실행되기 때문에, 하나의 프로세스에서 문제가 발생하더라도 다른 프로세스에는 영향을 미치지 않습니다. 스레드 : 하나의 프로세스 내에서 실행되는 여러 실행 흐름의 단위입니다. 스레드는 프로세스의 주소 공간을 공유하며, 데이터 스택과 PC레지스터만 따로 가지고 있습니다. 즉, 같은 프로세스 내에서 여러개의 스레드가 동시에 작업을 수행할 수 있습니다. - 영어 정리 : Process : An instance of a program that is being executed b..
- 정의 예외(Exception) : 프로그램의 정상적인 흐름 중 발생할 수 있는 오류 상황입니다. 예외는 일반적으로 입력 데이터의 문제, 프로그래밍 오류 또는 사용 불가능한 시스템 리소스 등으로 인해 발생합니다. 예외는 복구 가능하며, 프로그램은 예외를 catch하여 오류를 처리하고 실행을 계속할 수 있습니다. 오류(Error) : 프로그램 실행 중 발생할 수 있는 심각한 문제입니다. 에러는 일반적으로 프로그램이 제어할 수 없는 문제(예: 하드웨어 장애, 리소스 고갈 또는 JVM의 심각한 버그)로 인해 발생합니다. 에러는 일반적으로 복구할 수 없으며, 프로그램은 처리하지 않고 즉시 종료해야 합니다. - 공통점 Throwable 클래스의 하위 클래스라는 것. - 영어 정리 : Exception : An ..
- 정의 String : 문자열을 나타내는 클래스입니다. 불변적 성질로 한 번 생성한 객체의 값은 변경할 수 없습니다. 수정을 필요로 하는 작업을 하게 되면 새로운 객체를 생성하고 메모리를 할당하여 이전 객체의 내용을 복사하는 과정을 거쳐야 하기 때문에 비효율적입니다. StringBuffer : 문자열을 나타내는 클래스라는 것은 String과 같지만 StringBuffer은 가변적이여서 값의 수정이 가능합니다. 기존의 문자열 배열을 직접 수정할 수 있기 때문에 여러 번의 수정이 필요할 경우 효율적으로 사용할 수 있습니다. - 영어 정리 : String: A class that represents a sequence of characters as a string. It has the property of ..
- 정의 기본 데이터 유형 : 언어 자체에서 제공하는 기본적인 데이터 유형. 참조 데이터 유형 : 클래스나 인터페이스를 사용하여 생성된 객체. - 종류 기본 데이터 유형 : byte, short, int, long, float, double, char, boolean 참조 데이터 유형 : Byte, Short, Integer, Long, Float, Double, Character, Boolean (래퍼 클래스) - 메모리 할당 방식 기본 데이터 유형 : 스택 메모리 영역에 직접 값을 저장 참조 데이터 유형 : 힙 메모리 영역에 객체 생성 후 스택 메모리에 래퍼 클래스 객체의 주소만 저장 - 영어 정리 : Primitive data types are basic data types provided by J..
- 정의 인터페이스 : 메서드의 선언만 있고, 구현은 없는 추상적인 클래스의 일종입니다. 인터페이스는 구현을 담당하는 클래스들 사이의 규칙을 정의하는데 사용됩니다. 인터페이스를 구현하는 클래스는 인터페이스에서 선언된 메서드들을 반드시 구현해야 하며, 이를 통해 다형성과 코드의 재사용성을 높일 수 있습니다. 추상클래스 : 하나 이상의 추상 메서드를 포함하는 클래스입니다. 추상 메서드는 구현이 없는 메서드로, 하위 클래스에서 반드시 구현되어야 합니다. 추상클래스는 미완성된 클래스이기 때문에 인스턴스를 생성할 수 없습니다. 대신, 추상클래스를 상속받는 하위 클래스에서 추상 메서드를 구현하고 인스턴스를 생성할 수 있습니다. 또한, 추상클래스는 일반 메서드와 변수를 포함할 수 있으며, 이들은 하위 클래스에서 직접..
- 정의 내부 클래스(inner class) : 다른 클래스 내부에 선언된 클래스입니다. 내부 클래스는 자신을 감싸는 외부 클래스의 변수와 메서드에 직접 접근할 수 있습니다. 키워드 : 클래스 내부에 선언된 클래스, 패키지 간소화, 캡슐화 강화, 직관적인 가독성 익명 클래스(anonymous class) : 이름이 없는 내부 클래스로, 클래스 정의와 동시에 인스턴스를 생성하는 방식입니다. 주로 인터페이스나 추상 클래스를 상속받아 사용됩니다. 익명 클래스는 한 번만 사용될 때 유용하며, 코드의 간결성을 높이는 데 도움을 줍니다. 키워드 : 클래스 정의와 객체화를 동시 처리, 일회성 사용, 익명 클래스 끝엔 세미콜론, 오버라이딩한 메소드만 사용가능 - 영어 정리 : Inner class : a class t..