Garbage Collection(GC) 이란? JVM(자바 가상 머신)의 Heap 영역에서 필요 없게 된 객체를 삭제해주는 프로세스 객체가 접근 불가능한 상태(Unreachable)가 되었을 때, 메모리가 누적되므로 이를 수거해줌 그럼 이런 의문이 들 수도 있다. 왜 메모리 관리를 해줘야 돼?.. 다음의 예시를 보자 for (i...
interview - operated
프로세스, 스레드 차이 프로세스 운영체제로부터 자원을 할당받는 작업의 단위 프로세스 간의 통신은 IPC(Inter-Process Communication)을 사용 프로세스는 각각 독립된 메모리 영역을 할당받는다. 프로세스 간의 전환...
interview - database
DBMS란 무엇인지, DB를 사용하는 이유 여러 사용자가 DB에 접근해 사용할 수 있도록 하는 소프트웨어를 의미 파일의 데이터 중복, 비일관성, 검색 등의 문제를 해결할 수 있다. DB 특징에 대해 설명 실시간 접근성(Real-Time Accessibilit...
interview - spring
Spring이란? 자바 오픈소스 프레임워크 중 하나이다. 스프링 컨테이너로 자바 객체를 관리하며 DI와 IoC를 통해 결합도를 낮출수 있다. AOP를 통해 공통 기능을 분리하여 관리할 수 있다. Spring DI/IoC 동작방식 스프링 프레임워크는 느슨한 ...
interview - network
OSI 7계층이란? 네트워크에서 통신이 일어나는 과정을 단계별로 나눈 것 물리계층 전기적, 물리적 세부 사항을 정의하는 계층 리피터, 허브 데이터링크 같은 ...
interview - java
Java 특징 객체지향 프로그래밍 언어 기본 자료형을 제외한 모든 요소가 객체로 표현 JVM에서 동작하기 때문에 운영체제에 독립적 GC를 통한 자동 메모리 관리 다중 상속이나 타입에 엄격하며, 제약이 많음 클래스,겍채,인스턴스 차이 ...
chapter7 - 병렬 데이터 처리와 성능
Java7 이전 데이터 컬렉션을 병럴로 처리하기가 어려웠음 1) 데이터를 서브파트 분할 2) 분할된 서브파트를 각각의 스레드로 할당 3) 의도치 않은 race condition이 발생하지 않도록 적절한 동기화 작업 4) 부분 결과를 합침 Java7 이후 fork/join 프레임워크 제공 더 쉽게 병렬화를 수행하며 ...
chapter5 - 스트림 활용
5.1 필터링 5.1.1 프레디케이트로 필터링 filter 메서드는 프레디케이트를 인수로 받아서 프레디케이트와 일치하는 모든 요소를 포함하는 스트림을 반환한다. List<Dish> vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .colle...
chapter4 - 스트림 소개
스트림이란 무엇인가? 스트림은 Java 8 API에 새로 추가된 기능이다. 스트림을 이용하면 선언형(데이터를 처리하는 임시 구현 코드 대신 질의로 표현하는 방법)으로 컬렉션 데이터 처리가 가능하다. 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 기존코드 -> 스트림 사용 예제 기존 코드 ...