Back End/Java

    반응형
Back End/Java

[Java] 자바 버전, 어떤걸 설치해야 할까? 버전별 차이와 특징 (11, 17, 21, 25)

자바를 설치할때 어떤 버전을 설치해야 할 지 고민이 될 것이다. 이때, 고려해야 하는것이 아래의 두 가지 이다. LTS 버전인지언제 까지 지원하는지 LTS 버전이란?LTS(Long-Term Support) 는 장기 지원 버전이라는 말로, 일반 버전과 달리 장기간에 걸쳐 보안 업데이트와 버그 수정을 보장받을 수 있다. 현재의 Java 버전은 아래와 같다. LTS 버전만 확인해보면 Java 8, 11, 17, 21, 25 버전 대상임을 알 수 있다. 하지만 너무 과거의 버전은 지원 만료 기간이 더 다가올 뿐더러, 최신 버전의 주요 기능을 사용할 수 없다는 단점이 있다. 25 버전은 현재 출시 전이기 때문에 가장 최신 버전인 21 버전을 설치하는 것이 좋을 것 같다. 만약 이전 버전을 사용하는 프로..

Back End/Java

Bean 생성 메커니즘과 순환 참조 (Circular Dependency) 탐구하기

순환참조란?두 개 이상의 객체가 서로를 참조하여 끊을 수 없는 고리를 만드는 상황이다. 가비지 컬렉터 (Garbage Collector) 가 더 이상 사용되지 않는 객체라고 판단하지 못해서 메모리에서 해제하지 못하는 문제가 발생할 수 있다. 결국, 메모리 누수로 이어질 수 있다.주로 객체들이 서로를 필요로 하는 복잡한 관계를 가질 때 발생한다. Spring Bean 생성 메커니즘Spring IoC 컨테이너는 Bean 을 생성하고 관리하기 위해 체계적인 단계가 있다. 순환 참조는 이 과정에서 두 개 이상의 Bean 이 서로의 생성을 기다리며 무한 대기 상태에 빠질 때 발생한다. Bean 의 생성 과정 1. 정의(Definition)가장 먼저, Spring 컨테이너는 Bean을 어떻게 만들어야 하는지에 대..

Back End/Java

entityManagerFactory 오류 해결하기, Gradle Build Clean 실행하는 방법

빌드를 실행하는데 자꾸 entityManagerFactory 오류가 발생했다. 억울한게, Entity 추가한 것도 없고 나는 그저 순박하게 Dto 만 추가했을 뿐이라구 .... 그리고 추가한 코드를 전부 주석처리하고 실행해도 계속 에러가 발생했다.Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unsatisfied dependency expressed through method 'entityManagerFactory' parameter 0: Error crea..

Back End/Java

[Java] BigInteger 연산 (더하기, 빼기, 나누기, 곱셈)

덧셈  add뺄셈 subtract곱셈 multiply나눗셈 divideimport java.math.BigInteger;public class BigIntegerExample { public static void main(String[] args) { BigInteger bigInt1 = new BigInteger("123456789012345678901234567890"); BigInteger bigInt2 = new BigInteger("987654321098765432109876543210"); BigInteger sum = bigInt1.add(bigInt2); // 덧셈 BigInteger difference = bigInt1.subt..

Back End/Java

[Java] 반복문 제어하기 (break, continue)

breakbreak문은 자신이 포함된 가장 가까운 반복문을 벗어난다. 주로 if 문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다.   continue반복이 진행되는 도중에 continue 문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다. For 문의 경우 증감식으로, while문과 do - while 문의 경우 조건식으로 이동한다.   break 과 continue 의 차이continue 문은 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행한다는 점이 break 문과 차이가 있다. public class BreakContinueExample { public static void main(String[] args) { System.out.println("..

Back End/Java

[Java] 난수 구하기 (Math.random)

난수를 얻기 위해서는 Math.random() 을 이용해야 한다.이 메서드는 0.0과 1.0 사이의 범위에 속하는 하나의 double 값을 반환한다. 0.0  ex) 1과 3 사이의 정수를 구하길 원한다면, 1. 각 변에 3을 곱한다.0.0 * 3  2. 각 변을 int 형으로 반한다.(int) 0.0  3. 각 변에 1을 더한다.0 + 1   위와 같이 식을 변환해가며 값의 범위를 조절하면 된다.

Back End/Java

[Java] 알고리즘 필수 문법 BufferedReader, BufferedWriter 사용하기

BufferedReaderBufferedReader 은 Scanner 과 같은 기능이다. 다만 속도 측면에서 훨씬 빨라 속도가 중요한 알고리즘에서 필수적으로 사용된다.작성해야 할 코드는 더 많지만 시간과 메모리 측면에서 훨씬 효율이 좋다.   BufferedReader 사용법BufferedReader 의 인스턴스를 생성해준다. 아래와 같이 생성해주면 된다.BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 그리고 readLine을 이용해 String으로만 값을 받아온다.String a = br.readLine(); // String Enter 줄마다 값으로 인식해, 여러개의 값이 한 줄에 있을 경우 StringTokeniz..

Back End/Java

[Java] Redis 이용하여 email 이메일 인증 서비스 구현하기

사용 기술JavaMavenSpring BootLocal  Reids 설치Mac 의 Local 환경에서 설치해서 아래 블로그의 도움을 받았습니다.https://herojoon-dev.tistory.com/170 Mac에서 Redis(레디스) 설치하기목표 Mac OS에서 Redis 설치하기 Mac OS에서 Redis 실행 Redis 실행 상태 확인 Redis CLI를 이용해서 Redis 사용해보기 해보기 1. Mac OS에서 Redis 설치 // Homebrew(Mac OS용 패키지 관리자) 설치 여부 확인 brew --versioherojoon-dev.tistory.com   코드 구현pom.xmlDependency '' not found 에러 해결법은 아래 글처럼 해결했습니다.https://skylarc..

Back End/Java

자바 객체지향 - 인터페이스와 다형성

인터페이스인터페이스 설명 보러가기https://skylarcoding.tistory.com/253 자바 객체지향 - 인터페이스 implements인터페이스추상 메서드의 집합구현된 것이 전혀 없는 설계도이다. 껍데기 (모든 멤버가 public) interface 인터페이스이름 { public static final 타입 상수이름 = 값 ; public abstract 메서드이름 (매개변수목skylarcoding.tistory.com  다형성다형성 설명 보러가기https://skylarcoding.tistory.com/251 자바 객체지향 - 다형성다형성이란조상 타입 참조 변수로 자손 타입 객체를 다루는 것 * 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. 있는 기능을 안 쓰는 건 괜찮은데, ..

Back End/Java

자바 객체지향 - 인터페이스 implements

인터페이스추상 메서드의 집합구현된 것이 전혀 없는 설계도이다. 껍데기 (모든 멤버가 public) interface 인터페이스이름 { public static final 타입 상수이름 = 값 ; public abstract 메서드이름 (매개변수목록);} 상수에서의 public staitc final, 메서드의 public abstract 는 생략이 가능하다.interface PlayingCard { // 상수 public static final int SPADE = 4; final int DIAMOND = 3; static int HEART = 2; int CLOVER = 1; // ( public static final ) int CLOVER = 1; // ..

    반응형
Lar
'Back End/Java' 카테고리의 글 목록