Java

· Java
🖥️ 1. Java에서의 Deque 소개Deque는 "double ended queue"의 약자로, 양쪽 끝에서 요소를 추가하거나 제거할 수 있는 선형 컬렉션입니다. Java에서는 Deque 인터페이스를 통해 이 구조를 정의하고 있으며, 이는 java.util 패키지 안에 위치해 있습니다.기본 작동 원리Deque 인터페이스는 요소를 두 개의 끝에 추가하거나 제거할 수 있게 해주므로, 스택이나 큐의 기능을 모두 구현할 수 있습니다. 이러한 특성 덕분에 매우 유연한 데이터 구조로서 다양한 상황에서 활용될 수 있습니다.스택처럼 사용할 때는 push(), pop(), peek() 메서드를 사용하고,큐처럼 사용할 때는 addLast(), removeFirst(), peekFirst() 등을 사용합니다.추가 메소..
· Java
📚 Java 컬렉션 정렬 방법Java에서 다양한 컬렉션 타입별로 기본 정렬과 사용자 지정 정렬(커스텀 정렬)을 수행하는 방법을 살펴보겠습니다. 각 데이터 구조의 특성을 이해하고 적절한 정렬 방식을 선택하는 것이 중요합니다.🗂️ 배열기본 정렬Arrays.sort() 메소드를 사용하여 배열의 요소를 자연 순서대로 정렬합니다.import java.util.Arrays;public class Main { public static void main(String[] args) { int[] numbers = {5, 3, 8, 1}; Arrays.sort(numbers); System.out.println(Arrays.toString(numbers)); // 출력: [1..
· Java
개발을 하면서 대충 알고는 있지만 정확히 알지 못한다는 느낌이들어 정리를 해보려고 합니다. 🛠️ 빌드(Build), 컴파일(Compile), 및 실행(Run) 이해하기 자바 개발 과정에서 중요한 세 가지 단계인 빌드, 컴파일, 실행에 대해 알아보겠습니다. 🔨 컴파일(Compile) 컴파일은 자바 소스 코드(.java 파일)를 바이트코드(.class 파일)로 변환하는 과정입니다. 이는 javac 컴파일러를 사용하여 수행됩니다. // Hello.java public class Hello { public static void main(String[] args) { System.out.println("Hello, World!"); } } 컴파일 명령어: javac Hello.java 🏗️ 빌드(Build) 빌드..
· Java
💡 자바에서 serialVersionUID 사용 이유와 예시 자바 직렬화에서 중요한 역할을 하는 serialVersionUID에 대해 알아보겠습니다. 자바 직렬화는 객체를 바이트 스트림으로 변환하는 과정이며, 이는 객체를 파일, 데이터베이스, 메모리 등에 저장하거나 네트워크를 통해 객체를 전송할 때 필요합니다. serialVersionUID는 직렬화된 객체를 역직렬화할 때 클래스의 버전을 확인하는 데 사용되는 고유 식별자입니다. 📌 serialVersionUID란? serialVersionUID는 직렬화된 객체가 클래스의 버전과 호환되는지 확인하기 위해 사용되는 고유한 버전 번호입니다. 클래스가 Serializable 인터페이스를 구현하면, JVM은 해당 클래스에 대한 serialVersionUID 값을..
· Java
Java에서 엑셀 업로드 기능을 구현하려면 Apache POI 라이브러리를 사용할 수 있습니다. POI는 Microsoft Office 파일 형식 (예: XLSX, XLS)을 조작하기 위한 Java 라이브러리입니다. 다음은 POI를 사용하여 Java에서 엑셀 업로드 기능을 구현하는 방법입니다. 0. POI 라이브러리를 다운로드하고 프로젝트에 추가합니다. POI는 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 프로젝트에 추가할 수 있습니다. org.apache.poi poi 5.0.0 위 의존성은 POI 라이브러리의 메인 모듈인 poi를 추가하는 것입니다. 만약 필요한 경우, 추가적인 모듈도 의존성에 추가할 수 있습니다. 예를 들어, .xlsx 파일을 처리하기 위해서는 poi-ooxml ..
· Java
자바와 이클립스는 깔려있다는 전제하에 설명을 하겠다. 1. Project 생성 create new Spring Starter Project 선택 내용 입력(Type은 Maven, Packaging은 War, java Version은 11, 나머지는 원하는 이름으로 설정하면 된다.) Spring Boot Version은 꼭 2번대로 해줘야 한다. 3번대로 하게되면 java version이 17번으로 고정이 되어 컴파일이 되지 않는다... 이것때문에 매우 오랜 삽질을 했다. 간단한 테트를 위한 프로젝트 이므로 Spring Web 정보만 추가를 해준다. 2. dependency 추가 수정 시 자동 재기동시켜주는 기능과 jsp 사용을 위한 dependency를 pom.xml에 추가한다. org.springfra..
· Java
JAVA Generic(제네릭)에대해 알아보던 중 Generic에 넣을 수 있는 타입과 그렇지 못한 타입이 있다는것을 알게되어 정리를 해보려고 한다. Generic에대해 궁금하다면 아래의 링크 클릭 Primative Type는 말 그대로 자바에서 기본으로 제공해 주고있는 타입이다. 기본형 타입(Primitive type) 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다. 기본값이 있기 때문에 Null이 존재하지 않는다. 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용한다. 실제 값을 저장하는 공간으로 스택(Stack)메모리에 저장된다. 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. 주로 문법상의 에러가 많다. 예를..
TeaHuiLee
'Java' 카테고리의 글 목록