Open byunghyunkim0 opened 2 months ago
레지스트리 같은 플랫폼 특화 기능을 사용
JAVA 9은 새로 process API를 추가해 OS 프로세스에 접근가능하게 했다.
// process API private static void infoOfCurrentProcess() { ProcessHandle processHandle = ProcessHandle.current(); ProcessHandle.Info processInfo = processHandle.info(); log.info("PID: " + processHandle.pid()); log.info("Arguments: " + processInfo.arguments()); log.info("Command: " + processInfo.command()); log.info("Instant: " + processInfo.startInstant()); log.info("Total CPU duration: " + processInfo.totalCpuDuration()); log.info("User: " + processInfo.user()); }
네이티브 메서드와 자바 코드 사이의 접착 코드를 작성해야됨 - 귀찮은 작업이고 가독성도 떨어짐
public class NativeExample { public static native int add(int a, int b); }
// NativeExample.c #include <jni.h>
JNIEXPORT jint JNICALL Java_NativeExample_add(JNIEnv *env, jclass cls, jint a, jint b) { return a + b; }
- 자바와 네이티브 코드 연결을 위한 접착 코드 작성 ```java // NativeExample.java static { System.loadLibrary("NativeExample"); }
-
Chapter : 9. 일반적인 프로그래밍 원칙
Item : 66. 네이티브 메서드는 신중히 사용하라
Assignee : byunghyunkim0
🍑 서론
🍑 본론
네이티브 메서드란?
네이티브 메서드의 주요 쓰임새
레지스트리 같은 플랫폼 특화 기능을 사용
JAVA 9은 새로 process API를 추가해 OS 프로세스에 접근가능하게 했다.
네이티브 메서드의 단점
네이티브 메서드와 자바 코드 사이의 접착 코드를 작성해야됨 - 귀찮은 작업이고 가독성도 떨어짐
JNIEXPORT jint JNICALL Java_NativeExample_add(JNIEnv *env, jclass cls, jint a, jint b) { return a + b; }
🍑 결론
네이티브 메서드를 사용해야만 한다면 네이티브 코드는 최소한으로 사용하고 철저히 테스트 해라.
Referenced by
-