언어/JAVA

· 언어/JAVA
C언어에서 LinkedList라는 자료구조를 사용하려면 직접 구현해야함 → 자바는 JCF에서 만들어놓은 클래스를 사용하면 됨.💡 직접 구현하는 것과 JCF 사용하는 것 중 무엇이 좋은가?만들어 놓은데는 다 이유가 있다..알고리즘의 속도와 안정성에 있어 자바 언어 개발진들이 수십년에 걸쳐 JVM에 최적화시켜 개량해왔으니 우리는 그걸 가져다 쓰면 된다. 장점인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화 되어 있기에, 사용법을 익히기에도 편리하고 재사용성이 높다데이터 구조 및 알고리즘의 고성능 구현을 제공하여 프로그램의 성능과 품질을 향상관련없는 API 산의 상호 운용성을 제공 (상위 인터페이스 타입을 업캐스팅하여 사용) → 인터페이스 중심으로 사용 → 객체지향적이미 구현되어 있는 API를 제공..
· 언어/JAVA
EOF란? EOF는 End Of File의 약자로, 데이터 소스로부터 더 읽을 수 있는 데이터가없음을 나타내는 용어이다. 알고리즘 문제를 풀 때는 주로 입력값을 얼마나 받을지 명시하지 않을 경우 EOF를 사용함. 아래 문제 같은 경우 EOF 사용하여 문제 해결 https://www.acmicpc.net/problem/11034 11034번: 캥거루 세마리2 여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100) www.acmicpc.net EOF 사용법 Scanner 클래스 사용할 경우 scanner 클래스는 hasNext() 메소드를 사용한다. hasNext()는 입력된 토큰이 있으면 ture를 반환, 아니면 false를 반환..
· 언어/JAVA
Optional을 남용하면 오히려 성능이 저하된다. 1. Optional.get() 호출 전에 Optional 객체가 값을 가지고 있음을 확신 만약 빈 Optional 객체에 get()메소드를 호출한 경우 NosuchElementException이 발생 → isPresent()로 비어있진 않은지 먼저 확인하자 2. 값이 없는 경우, Optional.orElseGet()을 통해 이를 나타내는 객체를 제공할 것 orElse는 객체가 있는 경우에도 파라미터로 전달된 값이 실행되므로 orElseGet으로 객체가 없을 경우에만 실행되도록 하자 3. 값이 없는 경우, Optional.orElseThrow() 를 통해 명시적으로 예외를 던질 것 값이 없는 경우, 기본 값을 반환하는 대신 예외를 던져야하는 경우도 있다..
· 언어/JAVA
JPA로 개발하다가 JpaRepository로 find를 사용해서 객체를 조회하면 Optional로 감싸져서 반환되는걸 볼 수 있다. 왜 Optional로 반환하는게 좋은가? 궁금해서 찾아본 결과 예외 처리에 좋다고 한다. 근데 나는 Optional을 사용할 때랑 안할 때랑 try().. catch()로 예외를 처리해서 뭐가 좋은지 모르겠더라. 그래서 좋은 예외 처리를 찾아보기로 함. 먼저 Optional에 대한 개념에 대해 이해해보자 1. Optional이란? NPE(NullPointerException)은 개발할 때 가장 많이 발생하는 예외 중 하나이다. NPE를 피하려면 null 여부 검사를 해야하는데 null 검사를 해야하는 변수가 많은 경우 코드가 복잡해지고 "번거롭다." java8에서는 Opt..
· 언어/JAVA
예외 계층 Error 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외. 애플리케이션 개발자는 이 예외를 잡으려고 해서는 안된다 상위 예외를 catch로 잡으면 하위 예외까지 함께 잡는다. 따라서 애플리케이션 로직에서는 Throwable 예외도 잡으면 안된다. Exception 애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다. 체크 예외와 언체크예외로 나뉜다. Check Exception 체크 예외는 RuntimeException 클래스를 상속받지 않은 예외 클래스들이다. 체크 예외는 복구 가능성이 있는 예외이므로 반드시 예외를 처리하는 코드를 함께 작성해야 한다. 예외를 처리하기 위해서는 catch 문으로 잡거나 throws를 통해 메소드 밖으로 던질 ..
hapBday
'언어/JAVA' 카테고리의 글 목록