본문 바로가기

GD's IT Lectures : 기초부터 시리즈/자바(JAVA) 기초부터 ~47

[자바(JAVA)] 자바 서블릿 28. 자바 서블릿 자바 서블릿은 동적인 웹 페이지를 생성하기 위한 자바 기반의 서버 측 프로그래밍 기술입니다. 이를 이용하여 클라이언트의 요청에 대해 동적인 결과를 생성하고 웹 애플리케이션을 개발할 수 있습니다. 28.1. 서블릿 개요 서블릿은 웹 애플리케이션 서버에서 실행되며, 웹 애플리케이션과 웹 서버 사이의 통신을 처리합니다. 서블릿은 자바로 작성되어 있으며, 자바 웹 애플리케이션에서 사용될 수 있습니다. 서블릿은 HTTP 요청을 처리하고, HTML, JSON 등의 동적인 컨텐츠를 생성하여 웹 페이지를 동적으로 생성합니다. 28.2. 서블릿 생명주기 서블릿은 서버가 시작될 때, init() 메소드를 호출하여 초기화하고, 서버가 종료될 때, destroy() 메소드를 호출하여 자원을 해제합니다. 클.. 2023. 4. 30.
[자바(JAVA)] 자바와 웹 프로그래밍 27. 자바와 웹 프로그래밍 27.1. 웹 프로그래밍 개요 자바를 이용한 웹 프로그래밍은 서버 측에서 데이터를 처리하고 클라이언트에게 HTML, CSS, JavaScript 등의 정적 리소스와 함께 동적으로 생성된 데이터를 제공하는 방식이다. 이를 위해 자바에서는 웹 애플리케이션을 구현하는 여러 가지 기술과 프레임워크를 제공하고 있다. 27.2. HTTP 프로토콜 및 웹 서버 HTTP(Hyper Text Transfer Protocol)는 웹 브라우저와 웹 서버 간에 데이터를 주고받기 위한 통신 프로토콜이다. 자바에서는 웹 서버를 만들기 위해 서블릿(Servlet)과 JSP(Java Server Pages)를 사용할 수 있다. 또한, 여러 가지 웹 서버 프레임워크와 라이브러리를 사용하여 간단하게 웹 서버.. 2023. 4. 30.
[자바(JAVA)] 자바와 XML 처리 25. 자바와 XML 처리 XML(Extensible Markup Language)은 데이터 저장과 전송에 매우 유용한 형식으로, 다양한 분야에서 사용되고 있습니다. 자바에서 XML을 처리하기 위해서는 다양한 방법이 제공됩니다. 25.1. XML 개요 XML은 계층적인 구조를 가지고 있으며, 태그와 속성을 사용하여 데이터를 기술합니다. 데이터는 자유롭게 정의될 수 있기 때문에 많은 분야에서 사용되고 있습니다. 25.2. DOM 파싱 DOM(Document Object Model)은 XML 문서를 메모리에 트리 구조로 저장하는 방법입니다. 메모리에 로딩된 XML 문서를 수정하거나 탐색하는데 용이합니다. 하지만 대용량의 XML 파일을 처리할 경우 메모리 부담이 크기 때문에 성능 문제가 발생할 수 있습니다. .. 2023. 4. 30.
[자바(JAVA)] 자바 네이티브 인터페이스 (JNI) 24. 자바 네이티브 인터페이스 (JNI) 24.1. JNI 개념 및 목적 자바 네이티브 인터페이스(JNI, Java Native Interface)는 자바 언어와 네이티브(C/C++) 언어 간의 상호 작용을 위한 인터페이스입니다. JNI를 사용하면 자바 애플리케이션에서 C/C++ 함수를 호출하거나 C/C++ 애플리케이션에서 자바 클래스 및 메서드를 호출할 수 있습니다. 이를 통해 자바의 플랫폼 독립성을 유지하면서도 하드웨어의 특성을 활용하는 네이티브 코드를 사용할 수 있습니다. 24.2. JNI 프로그래밍 방법 JNI를 사용하여 자바와 C/C++ 코드를 연동하는 과정은 크게 3단계로 구성됩니다. 자바에서 JNI를 사용할 수 있는 클래스를 작성합니다. C/C++ 코드에서 JNI 함수를 사용하여 자바 클래.. 2023. 4. 28.
[자바(JAVA)] 메모리 관리와 가비지 컬렉션 23. 메모리 관리와 가비지 컬렉션 23.1. 메모리 관리 개념 자바에서 메모리 관리는 JVM(Java Virtual Machine)이 담당합니다. JVM은 기본적으로 힙(Heap) 영역에서 객체를 관리합니다. 힙 영역은 크게 영구(Permanent) 영역, 노출(Young) 영역, 그리고 노출 영역의 서바이버(Survivor) 영역과 테넌트(Tenured) 영역으로 나눠집니다. 객체가 생성되면 노출 영역에 할당되고, 시간이 지남에 따라 서바이버와 테넌트 영역으로 이동하게 됩니다. 23.2. 가비지 컬렉션 동작 원리 가비지 컬렉션(GC)은 더 이상 사용되지 않는 객체를 자동으로 회수하여 메모리를 관리하는 프로세스입니다. GC는 JVM에 의해 실행되며, 객체가 더 이상 참조되지 않을 때 메모리를 회수합니다.. 2023. 4. 28.
[자바(JAVA)] 자바 어노테이션 22. 자바 어노테이션 22.1. 어노테이션 개념 어노테이션(Annotation)은 자바 소스 코드에 메타데이터를 추가하는 방법으로, 주석과 비슷한 역할을 합니다. 어노테이션은 컴파일러에게 정보를 제공하거나, 런타임에 코드 동작을 변경하거나, 프레임워크에서 코드를 처리하는 데 사용됩니다. 어노테이션은 '@' 기호와 함께 사용되며, 컴파일 또는 런타임에 처리할 수 있습니다. 22.2. 기본 어노테이션 자바에서는 몇 가지 기본 어노테이션을 제공합니다. @Override: 메소드가 부모 클래스의 메소드를 오버라이드 한다는 것을 나타냅니다. @Deprecated: 해당 요소가 더 이상 사용되지 않음을 나타냅니다. @SuppressWarnings: 특정 경고를 무시하도록 컴파일러에 지시합니다. @Functiona.. 2023. 4. 28.