728x90 Programming/Java9 Java의 객체 직렬화 : 외부화와 차이점 Java의 객체 직렬화 Java의 객체 직렬화는 객체의 상태를 바이트 스트림으로 변환하는 프로세스로, 이를 통해 객체를 쉽게 파일에 저장하거나 네트워크를 통해 전송하거나 데이터베이스에 유지할 수 있습니다. 역직렬화 프로세스는 바이트 스트림에서 객체를 재구성합니다. java.io.Serialized 인터페이스는 클래스가 직렬화될 수 있음을 나타내는 데 사용되는 마커 인터페이스입니다. 클래스가 '직렬화 가능'을 구현하면 해당 인스턴스는 Java에 내장된 직렬화 메커니즘을 사용하여 직렬화 및 역직렬화될 수 있습니다. 객체 직렬화를 사용하는 이유 1. 지속성: 나중에 검색할 수 있도록 객체 상태를 파일이나 데이터베이스에 저장하기 위해 객체를 직렬화합니다. 2. 통신: 네트워크 통신을 위해 개체를 직렬화하여 응용.. 2024. 1. 14. JAVA의 개발 디자인 패턴들 : 싱글턴, 팩토리 메소드 Singleton Pattern 클래스에 인스턴스가 하나만 있는지 확인하고 이에 대한 전역 액세스 지점을 제공합니다. public class Singleton { private static Singleton instance; private Singleton() { // Private constructor to prevent instantiation } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 사용 예 Singleton singleton = Singleton.getInstance(); Factory Method Pattern 객체를 생성하기 위.. 2024. 1. 10. JAVA 8의 주요기능 : 람다, Stream Java 8에는 Java 코드의 표현성, 가독성 및 유연성을 향상시키기 위한 몇 가지 중요한 기능과 향상된 기능이 도입되었습니다. Java 8에 도입된 두 가지 주요 기능은 람다 표현식과 Stream API입니다. 람다 식 람다 표현식은 단일 메서드 인터페이스(기능 인터페이스)의 인스턴스를 표현하는 간결한 방법을 소개합니다. 익명 함수 생성을 허용하여 코드의 가독성과 유연성을 향상시킵니다. Syntax (parameters) -> expression 예 // Traditional anonymous class Runnable runnable1 = new Runnable() { @Override public void run() { System.out.println("Hello, world!"); } }; /.. 2024. 1. 9. JVM의 주요기능 JVM(자바 가상 머신): JVM(Java Virtual Machine)은 JRE(Java Runtime Environment)의 필수 부분이며 Java 바이트코드 실행을 담당합니다. 이는 기본 하드웨어의 플랫폼 독립적인 추상화를 제공하므로 Java 프로그램이 호환 가능한 JVM 구현이 있는 모든 장치 또는 운영 체제에서 실행될 수 있습니다. JVM의 주요 기능: 1. 로드 및 적합성 확인: JVM은 컴파일된 Java 바이트코드를 클래스 파일에서 메모리로 로드하고 바이트코드의 무결성을 확인합니다. 2. 실행: JVM은 바이트코드를 호스트 시스템의 네이티브 기계어 코드로 해석하거나 컴파일하여 실행합니다. 3. 메모리 관리: JVM은 힙 및 스택 관리를 포함하여 Java 프로그램에 대한 메모리 할당 및 할당.. 2023. 12. 30. 이전 1 2 3 다음 728x90