HashMap,HashTable, CoucurrentHashMap은 Map 인터페이스의 구현체이다. Map인터페이스를 구현하면 <Key, Value> 형태를 띈다.HashMap,HashTable, CoucurrentHashMap의 특징을 알아보고 차이점을 알아보자
자바 프로그램 실행 환경을 만들어 주는 소프트웨어이다. Java는 OD에 종속적이지 않다는 특징을 가지고 있다. 따라서 OS에 종속 받지 않고 실행되기 위해서는 OS 위에서 JVM이 Java를 실행시킨다.→ 즉, OS에 종속 받지 않고 CPU가 Java를 인식, 실행
JPA는 자바에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음입니다.즉, 실제적으로 구현된 것이 아닌 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크입니다.JPA를 구현한 대표적인 오픈소스로는 Hibernate
조회는 GET, 등록은 POST, 수정은 PUT, 삭제는 DELETE를 이용한다. GET method는 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 메서드입니다.게시글을 읽는다.즉, 데이터를 읽거나(Read), 검색(Retrieve) 할 때
client가 server에 요청하면 sever는 요청에 대한 처리를 한 후 client에 응답한다. 응답후 연결을 해제하는데 stateless라고 한다. http protocol의 특징이다. stateless지속적인 연결로 인한 자원낭비를 줄이기 위해서 연결을 해제한
GC에 대해서 알아보기 전 "stop-the-world"에 대해서 알아보자.stop-the-world란 GC를 실행하기 위해 JVM이 애플리케이션 실행을 멈추는 것이다. stop-the-world가 발생하면 GC를 실행하는 스레드를 제외한 나머지 스레드는 모두 작업을
Webhook(웹훅)이란, 특정 이벤트가 발생하였을 때 타 서비스나 응용프로그램으로 알림을 보내는 기능입니다. Webhook 프로바이더는 해당 이벤트가 발행하면 HTTP POST 요청을 생성하여 callback URL(endpoint)로 이벤트 정보을 보냅니다. 주기적
커널이란소프트웨어가 컴퓨터 시스템에서 수행되기 위해서는 메모리에 그 프로그램이 올라가 있어야 한다. 컴퓨터와 전원을 켜면 운영체제는 이와 동시에 수행되는데 운영체제 자체도 소프트웨어로서 전원이 켜짐과 동시에 메모리에 올라가야 한다. 하지만, 운영체제처럼 규모가 큰 프로
기존 가상화 기술은 하이퍼바이저를 이용해 여러 개의 운영체제를 하나의 호스트에서 생성해 사용하는 방식이다.이러한 여러 개의 운영체제는 가상 머신이라는 단위로 구별되고, 각 가상머신에는 우분투, CentOS 등의 운영체제가 설치되어 사용된다. 이렇게 하이퍼바이저에 의해
예를 들어 현재 서비스에 graphql을 도입하기로 결정했을 때 Controller에 모든 기능을 구현하였다면, Grapqhql API를 구현하는 Controller에 똑같은 기능을 또 다시 구현하여야 합니다.하지만 다음 그림처럼 Service에 기능을 구현하였다면 G
프로세스프로세스는 운영체제로부터 자원을 할당받는 작업의 단위입니다. 즉, 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 라고 할 수 있습니다.할당 받는 시스템 자원CPU 시간운영되기 위해 필요한 주소 공간Code, Data, Stack, Heap의
프로세스가 차지하고 있는 메모리를 살펴보면 크게 Code, Data, Heap, Stack의 영역으로 나누어져 있고 이들 각각을 segment라고 부릅니다. 이렇게 메모리 영역을 나누면 CPU의 연산을 빠르게 하고 메모리 공간의 효율을 좋게 할 수 있습니다.그림에서 제
자바에서 문자열을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder 가 있습니다.연산 횟수가 많아지거나 멀티스레드, Race condition 등의 상황이 자주 발생한다면 각 클래스의 특징을 이해하고 상황에 맞는 적절한 클래스를
MVT 패턴Model: 데이터베이스에 저장되는 데이터를 나타냅니다.View: 실질적으로 프로그램 로직이 동작하여 데이터를 가져오고 처리한 결과를 템플릿에 전달하는 역할을 합니다. 여기서 함수를 정의합니다.Template: 사용자에게 보여지는 UI 부분입니다.MVT 패턴
의존성은 쉽게 말해서 어떤 객체가 사용해야 할 객체라고 할 수 있습니다. 직접 new 등을 써서 만들어 쓰면 의존성을 내가 직접 만들어 쓴다고 할 수 있습니다.위 코드는 OwnerController가 필요한 OwnerRepository의 객체를 직접 생성하는 경우 입니
Spring은 @Autowired 어노테이션을 이용한 다양한 의존성 주입 방법을 제공합니다. @Autowired 어노테이션은 Spring에게 의존성을 주입하라는 지시자 역할로 쓰이는데 생성자, 필드, Setter에 붙일 수 있습니다. > Spring IoC 컨테이너에
스프링 프레임워크는 MVC 패턴을 준수합니다.M(Model) : 어플리케이션의 정보나 데이터, DB 등을 말합니다.V(View) : 사용자에게 보여지는 화면, UI를 말합니다. Model로부터 정보를 얻고 표시합니다.C(Controller) : 사용자의 요청을 처리하고
AOP는 관점지향프로그래밍으로 공통된 부분은 좀 더 쉽게 프로그래밍하는 기법입니다.ex. 클래스에 메서드를 여러 개 구현하고 있는데, 각각 메서드마다 걸리는 실행시간을 알고 싶다.→ 모든 메서드마다 시작 지점의 시간과 끝나는 지점의 시간을 체크해서 확인한다.ex. 각