필자는 2022년, 프로젝트 진행을 할 적에 위의 개념을 마치 스쳐가는 인연인것처럼 눈으로만 기억하고 쿨하게 넘겨버렸다.그때의 필자에겐 눈앞에 있는 코드를 구현하는데만 급급했기 때문이다. 그 후로 가끔 마주치는 웹 서버나 WAS를 볼때마다 어색한 우리 사이를 견디지 못
QueryDSL은 하이버 네이트 쿼리 언어(HQL:Hibernate Query Language)의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임워크이다.QueryDSL은 정적 타입을 이용하여 SQL과 같은 쿼리를 생성할 수 있게 해준다.Query 빌더로 JPA의 J
WAS(Web Application Server), 간단하게 DB조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 Application Server다 .HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어이자, 웹 컨테이너(Web
일명 "JVM" 이다.자바를 배우고자 한다면 첫번째로 접하게 되기도 하며, 보통 자바 강의나 책 첫번째 파트에 항상 존재하는 녀석이다.그렇다고 중요성이 와닿지도 않고, 이 녀석을 몰라도 코드만 짤줄 안다면 프로그램은 돌아가기 때문에 무심코 지나치게 되는 존재이기도 하다
이전 포스트에서는 JVM 자체에 대한 소개를 했었다.해서 이번에는 JVM의 주요 부분 중 하나인 메모리 구조에 대해 알아보도록 하자.우선 시작하기에 앞서 간단하게 JVM이 어떻게 동작하는 구조인지 알아보자.JVM의 구조는 크게 Garbage Colltector, Exe
이전 포스트에서 그랬듯 오늘도 JVM 관련 포스트이다.그 중에서 메모리 영역을 관리해주는 GC가 오늘의 주제이다.그럼 바로 알아보자.Garbage Collector. 줄여서 GC다.앞으로 편의상 GC라고 하겠다.GC는 Heap 메모리 영역 중, 유효하지 않은 메모리인
그러하다. 고로 바로 주제에 대해 알아보자.우리가 애용하는 Java.이 친구를 사용하려면 어떤 데이터 형태를 가지고 있는지를 알면 쓸데없이 공간 낭비도 피할 수 있고, 내가 쓰고자 한 데이터 유형에 대해서도 알맞게 사용할 수 있다.각설하고 Java는 데이터 유형이 어떻
Constructor은 영어로 보면 뭔지 모를 수도 있지만,우리나라 말로 생성자를 의미한다.각설하고 바로 각 주제에 대해 알아보자!클래스는 자바에서 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용된다.자바에서는 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여
서로 헷갈리는 단어이다.여기서 더 자세히 설명하면 더 헷갈리니까,바로 분리해서 각각 알아보자.오버로딩은 사전적으로 '과적하다'라는 의미다.자바에서 오버로딩은 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라고 매개변수의 개수 또는 반환 타
서로 헷갈리는 개념이다.고로 간략하게 설명하지 않고 바로 각각에 대해 알아보자.추상 클래스란 Class 앞에 'abstract' 키워드를 사용하여 정의하며, 하나 이상의 추상 메소드를 가지는 클래스를 말한다.추상 메소드를 선언하여 상속을 통해서 하위 클래스에서 반드시
Java에서 String 클래스는 불변성을 갖는다.때문에 변하지 않는 문자열을 자주 사용하는 것은 성능에 좋지 않은 영향을 줄 수 있다.때문에 변경이 자주 일어나는 프로그램에서 String만 사용하게 된다면 효율적인 성능을 기대하기 어렵다.이때 StringBuilder
자바의 예외는 크게 3가지로 나눌 수 있다.체크 예외(Check Exception)에러(Error)언체크 예외(Unchecked Exception)지바의 에러, 예외 관련된 클래스의 계층구조는 위와 같은데, Throwable 클래스를 기준으로 Error, Excepti
먼저 쓰레드에 대해 알아보자!우리는 Java에서 여러가지 일을 동시에 처리하기 위해 Thread를 사용한다.이때 Thread는 프로세스에 종속되어 있어, 우리는 프로세스를 먼저 알아봐야 한다.고로 알아보자.Process는 일반적으로 CPU에 의해 메모리에 올려져 실행중