본문 바로가기
반응형

Java & Spring14

[Sprign Boot] Java와 Gradle 버전 맞추기 저는 Java 8을 사용 중입니다.인텔리제이에서 스프링 부트 3.2.5 프로젝트를 생성한 뒤,openjdk 22를 다운받아 Gradle 8.7로 빌드를 시도했으나 실패하고 말았습니다.에러 메시지의 내용은 다음과 같습니다. A problem occurred configuring root project 'blogdemo'.Could not resolve all artifacts for configuration ':classpath'. Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.5. Required by: project : > org.springframework.boot:org.springframework.boot.grad.. 2024. 5. 23.
[Java] 자료구조 - 트리(Tree) 만들기 1. 트리란 그래프는 정점과 간선으로 이루어져 있습니다. 정점들이 간선으로 연결되어 있는 그래프를 연결 그래프라고 합니다. 만약 한 정점에서 출발해 다시 자기 자신으로 돌아올 수 있는 경로가 있다면 사이클이 존재한다고 합니다. 트리는 사이클이 없는 연결 그래프입니다. 위 그림과 같이 트리는 자료를 계층적으로 표현하고자 할 때 사용됩니다. 각 노드는 상위 노드와 연결되어 있고, 부모-자식 관계를 가지며 같은 레벨에 있는 노드들은 형제라고 부릅니다. 자식이 최대 2명인 트리를 이진 트리라고 하며, 이진 트리가 가장 기본적인 트리의 형태라고 할 수 있습니다. 2. Java로 이진 트리 구현하기 트리에서 하나의 노드는 하나의 데이터 공간과, 왼쪽 자식에 대한 링크, 오른쪽 자식에 대한 링크를 가집니다. Tree.. 2022. 10. 8.
[Java] 자료구조 - LinkedList 1. LinkedList 연결 리스트는 각 요소가 사슬처럼 서로 연결되어 있는 형태의 자료구조를 말합니다. 배열처럼 미리 준비된 공간에 원소를 집어넣는 것이 아니라 그 때 그 때 메모리를 할당하여 기존의 원소와 연결하는 방식이므로 공간 활용 및 삽입, 삭제에 있어서 유리합니다. // 삽입, 삭제 연산 시간 - O(1) 하지만 배열처럼 인덱스를 이용하여 바로 원소에 접근할 수 없고 시작 지점부터 타고 타고 이동해서 원하는 원소에 접근할 수 있다는 것이 단점입니다. // 탐색 시간 - O(n) 연결 리스트에는 리스트의 시작점을 가리키는 포인터 (first)가 필요합니다. 그리고 각 원소들은 값을 저장하는 공간과, 다음 원소에 대한 주소를 저장하는 공간이 필요합니다. C에서는 노드를 data 필드와 link .. 2022. 9. 28.
[Java] 자료구조 - 큐(Queue) 1. 큐란 선입선출(First In First Out, FIFO) 방식의 자료구조입니다. 먼저 들어간 놈이 먼저 나온다는 뜻입니다. 21 32 13 24 54 16 즉, 위의 큐에서 삭제를 하면 21이 제거되고 새로운 값 16을 추가하면 54의 오른쪽에 저장됩니다. 2. Java 라이브러에서의 큐 Java에서는 Queue 인터페이스를 제공하고 있고, 이를 구현하는 클래스로는 AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQueue, LinkedList, LinkedTransferQueue, Priorit.. 2022. 9. 22.
[Java] 람다식 안에서 변수를 사용하는 방법 1. 문제점. 다음은 입력받은 두 문자열이 아나그램(한 단어에서 알파벳의 순서만 바꾼 것, 예: god dog)에 해당하는지 검사하는 간단한 프로그램입니다. 해쉬맵에 각 문자와 개수를 저장한 뒤, 해쉬맵이 서로 일치하는지 검사합니다. 이 때 해쉬맵이 서로 일치하는지 판단하기 위해 forEach 메소드를 사용했습니다. 그리고 내부에 람다식을 넣어 hm1의 값과 hm2의 값이 서로 일치하지 않으면 result 를 false로 변경해주려 했습니다. 딱히 이상할 것이 없어보이는 코드인데 빨간 줄이 똭! Variable used in lambda expression should be a final or effectively final. 라고 하네요. 람다식 내부에서는 final 이거나 effectively fin.. 2022. 9. 16.
java) 예외 처리 1. 예외란 무엇인가 Error와 Exception은 Throwable의 서브클래스입니다. Error는 시스템상의 중대한 오류이며 Exception은 프로그래머가 의도하지 않았던 돌발적인 상황, 즉 예외를 말합니다. Exception은 다시 RuntimeException과 그 밖의 예외로 나눌 수 있습니다. RuntimeException은 실행시 발생하는 예외로, 컴파일러가 확인하지 않는 unchecked exception 입니다. RuntimeException이 아닌 예외들은 모두 checked exception 입니다. 컴파일러가 처리 여부를 확인하므로 코드에서 반드시 처리되어야 합니다. java에서는 예외도 객체로 취급하므로 예외를 만들고 주고받으면서 노는 것이 가능합니다. 2. 예외를 처리하는 방.. 2021. 12. 13.
반응형