Java 13

JAVA | JVM(Java Virtual Machine)이란? JVM의 작동원리

JVM이란 무엇인가?JVM은 Java 애플리케이션을 실행하기 위한 가상 기계입니다. 직역하면 '자바를 실행하기 위한 가상 컴퓨터'라고 할 수 있습니다.이 가상 컴퓨터는 Java 프로그램이 운영체제(OS)와 독립적으로 실행될 수 있도록 도와줍니다. Java의 플랫폼 독립성과 JVMJava의 가장 큰 특징 중 하나는 OS에 종속되지 않는다는 점입니다. 이는 Java 프로그램이 다양한 운영체제에서 동일하게 동작할 수 있다는 의미입니다. 하지만, 이를 실현하기 위해서는 운영체제와 Java 프로그램 사이에서 중개 역할을 하는 무언가가 필요합니다. 이 역할을 수행하는 것이 바로 JVM입니다.  JVM은 CPU가 JAVA 프로그램을 인식하고 실행할 수 있도록 하는 가상 컴퓨터입니다. 실제 컴퓨터처럼 Java 애플리케..

Java 2024.08.21

Java | 정적 팩토리 메서드(Static Factory Method)

정적 팩토리 메서드(Static Factory Method) 클래스의 인스턴스를 생성하고 반환하는 정적 메서드 입니다. 주로 생성자 대신 사용되며, 객체 생성 로직을 숨기고 객체 생성을 유연하게 다룰 수 있게 합니다. 이러한 정적 팩토리 메서드는 해당 클래스의 이름을 갖지 않아도 되며, 호출할 때마다 새로운 객체를 생성할 필요가 없을 때 특히 유용합니다. 메서드 생성 public class MyClass { // 생성자 대신 사용되는 정적 팩터리 메서드 public static MyClass createInstance() { // 객체 생성 로직 return new MyClass(); } } 위의 생성된 메서드를 활용하여 객체 생성 MyClass instance = MyClass.createInstanc..

Java 2024.03.04

Java | Document Class / Element Class / Jsoup 크롤링 예제 코드

Document 및 Element 클래스는, XML 문서를 다루기 위한 DOM(Document Object Model) API에 속하는 클래스입니다. 1. Document 클래스 Document 클래스는 XML 문서의 전체 구조를 나타냅니다. Document 객체는 XML 문서의 루트 엘리먼트에 대한 진입점이며, 해당 문서의 전체 트리 구조를 포함합니다. 2. Element 클래스 Element 클래스는 XML 문서에서 특정 엘리먼트를 나타냅니다. Element 객체는 XML 문서의 특절 엘리먼트에 대한 정보를 포함하며, 이 엘리먼트의 하위 엘리먼트, 속성 등을 다룰 수 있습니다. 보통 XML 문서를 파싱할 때, XML 문서의 구조를 Document로 읽어오고, 그 다음에 원하는 정보 추출을 위하여, E..

Java 2024.02.29

Java | TrustManager이란? / SSL 인증서 없이 https 통신

TrustManager란? Java에서 SSL/TLS 연결에서 서버의 인증서를 검증하는 데 사용되는 인터페이스입니다. SSL/TLS 연결은 데이터의 암호화 및 보안 통신을 위해 사용되며, 서버의 인증서를 신뢰할 수 있는 것으로 확인하는 것이 중요합니다. TrustManager를 사용하면 클라이언트 애플리케이션이 서버의 인증서를 검증하고, 서버가 신뢰할 만한지 여부를 결정할 수 있습니다. TrustManager는 보통 X509 형식의 디지털 인증서에 대한 신뢰 관리를 담당합니다. X509TrustManager 인터페이스 TrustManager 인터페이스의 하위 인터페이스로, X509 디지털 인증서를 처리합니다. checkClientTrusted 및 checkServerTrusted 메소드를 제공하여 클라이..

Java 2024.02.29

Java | JSONObject 클래스란?

JSONObject? JSON 형식의 데이터를 표현하는 Java 클래스입니다. JSON(JavaScript Object Notation)은 경량의 데이터 교환 형식으로, 사람이 읽고 쓰기도, 기계가 분석하고 생성하기도 쉽습니다. JSONObject는 주로 자바에서 JSON 데이터를 다룰 때 사용됩니다. import org.json.JSONObject; public class JSONObjectExample { public static void main(String[] args) { // JSON 객체 생성 JSONObject jsonObject = new JSONObject(); // 키-값 쌍 추가 jsonObject.put("name", "John"); jsonObject.put("age", 25);..

Java 2024.02.29

Java | HttpRequestHandler란?

HttpRequestHandler Interface? Apache HttpComponents 에서 제공하는 HTTP 서버에서 사용되는 Handler Interface 입니다. public interface HttpRequestHandler { void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException; } handle 메서드를 살펴보면, HTTP 요청을 처리하는 로직을 구현해야합니다. 클라이언트의 요청을 받아 어떻게 응답할지를 정의합니다. request : 클라이언트로부터 받은 HTTP 요청 객체입니다. response : 서버에서 클라이언트로 응답을 보낼 때 사용하..

Java 2024.02.29

Java | 클래스, 객체, 메소드, 생성자(Class, Object, Method, Constructor)

velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 2023년 2월 21일 - https://velog.io/@yujin-17/TIL-18.-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EA%B0%9D%EC%B2%B4 클래스(Class)란 객체를 생성하기 위한 템플릿입니다. 실제로 사용하기 위해서는 이 클래스를 기반으로 객체를 생성해야합니다. 이 과정을 인스턴스화라고 합니다. 객체는 모든 인스턴스를 대표하는 일반적인 용어입니다. 인스턴스는 특정 클래스로부터 생성된 객체입니다. 인스턴스화는 'new' 키워드를 사용하여 클래스의 생성자를 호출하여 객체를 생성하는 것입니다. // 클래스의 정의 Class MyClass { // 클래스의 멤버와 메서드 정의 가..

Java 2024.01.31

Java | 반목문 while, do-while, 이름붙은 반복문

velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 2023년 2월 14일 - https://velog.io/@yujin-17/TIL-11.-%EC%9E%84%EC%9D%98%EC%9D%98-%EC%A0%95%EC%88%98-%EB%A7%8C%EB%93%A4%EA%B8%B0-while-break-continue while문 while (조건식) { 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장; } 실행순서 조건식 조건식이 참일 경우 문장 수행 조건식이 거짓이 될 때 까지 반복 do-while do { 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장; } while (조건식) ; 실행순서 처음 한번은 무조건 실행 조건식 조건식이 참일 경우 문장 수행 조..

Java 2024.01.12

Java | 반복문

velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 2023년 2월 14일 - https://velog.io/@yujin-17/TIL-10.%EB%B0%98%EB%B3%B5%EB%AC%B8 for문 for (초기화; 조건식; 증감식) { 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장; } 실행순서 초기화 조건식 조건식이 참일 경우 문장 수행 증감식 조건식이 거짓이 될 때 까지 반복 // 초기화 시 변수 2개 사용 가능합니다. // 단 타입이 같아야함! for(int i = 1, j = 100; i

Java 2024.01.12

Java | 조건문

velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 2023년 2월 14일 - https://velog.io/@yujin-17/TIL-9.-Java-%EC%A1%B0%EA%B1%B4%EB%AC%B8%EA%B3%BC-%EB%B0%98%EB%B3%B5%EB%AC%B8 if문 if (조건식) { 조건식의 결과가 참일 때 실행하고자 하는 문장; } if (조건식) { 조건식의 결과가 참일 때 실행하고자 하는 문장; } else { 조건식의 결과가 거짓일 때 실행하고자 하는 문장; } if (조건식1) { 조건식1의 결과가 참이리 때 실행하고자 하는 문장; } else if (조건식2) { 조건식2의 결과가 참일 때 실행하고자 하는 문장; } else { 조건식1의 결과도 거짓이고, ..

Java 2024.01.12