프로그래밍 언어/JAVA 23

[개요] Java 직렬화(Serialization) 이해

자바 직렬화(Java Serialization)는 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환하는 것을 말한다. 반대로 스트림에서 데이터를 읽어 객체로 변환하는 것을 역직렬화(deserialization)라 한다. 객체를 파일에 저장하거나 파일에서 꺼내오기 위해서 또는 객체를 네트워크를 통해 전송하기 위해서는 미리 객체를 직렬화(Serialization) 해야한다. 아래 예제는 SerializeDemo.java에서 Serializable한 Employee 클래스를 직렬화 하고, DeserializeDemo.java에서 역직렬화하는 예제이다. 1. java.io.Serializable interface를 상속받은 클래스를 생성한다. 아래에서 transient의 의미는 직렬화시에 제외시..

[예제] 간단한 JNI 예제 작성

[작업 순서]1 C Function을 호출하는 자바 프로그램(HelloJNI.java) 작성 후 .class 생성 2 C 프로그램(HelloJNI.h와 HelloJNI.c) 작성 후 Shared Library 생성 3 테스트. $java HelloJNI 1. C Function을 호출하는 자바 프로그램(HelloJNI.java) 작성 Line 3 Native 동적 라이브러리(Windows에서는 .dll 파일, Linux에서는 .so 파일)를 로딩한다. 위의 예제에서는 libhello.so(Linux) 또는 hello.dll(Winodws)를 로딩한다는 의미이다. Line 6 JNI를 통해 제공되는 함수 선언 2. C 프로그램(HelloJNI.h와 HelloJNI.c) 작성 및 Shared Library ..