java 354

[Querydsl] Querydsl 적용 방법

implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api"spring 3.x 버전부터는 다음과 같이 build.gradle에 추가해주면 된다.의존성을 추가해주면 하단 사진과 같은 Q객체들이 생성된다.사용 방식은 대표적으로 두가지이다.1. Custom 인터페이스를 만들어 사용하는 방식public interfac..

Spring/Querydsl 2024.09.02

쓰레드, 동기, 쓰레드풀, Runnable, Callable, Future

쓰레드란? 프로세스 내에서 실제로 작업을 수행하는 주체이다.프로세스의 코드에 정의된 절차에 따라 실행되는 특정한 수행 경로이다. Code, Data, Heap는 다른 쓰레드와 공유하며 pc, stack는 각각의 쓰레드가 독립적으로 가지고 있다.따라서 프로세스 변경 시에 일어나는 컨텍스트 스위칭 비용보다 낮은 비용으로 사용이 가능하다. 장점짧은 시간동안 여러 작업을 번갈하 수행함으로써 동시에 여러 작업이 수행되는 것처럼 보이게 되는 장점이 있다. 공유 자원을 이용하기 때문에 컨텍스트 스위칭 비용이 저렴하다는 장점이 있다.다만, 프로세스의 성능이 단순하게 쓰레드의 개수에 비례하여 올라가는 것은 아니다. 단점하나의 쓰레드에 문제가 발생해 공유된 자원을 잘못 건드리면 전체 프로세스가 영향을 받게된다.Contex..

지식 정리/JAVA 2024.07.04

Request Header 직접 읽기 및 파일 읽기

Request Header 직접 읽기- Request Header을 직접 읽어 파싱하는 과정을 통해 원하는 작업을 진행할 수 있다.try (InputStream in = connection.getInputStream(); OutputStream out = connection.getOutputStream()) { BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8")); 이 코드를 한번 분석해보자. InputStream, InputStreamReader, BufferedReader순으로 작성되어 있다.각각의 역할은 다음과 같다. ●InputStream Stream이라는 것에 대해 먼저 이해를 해야한다.스트림이란..

지식 정리/JAVA 2024.07.03