• Title/Summary/Keyword: JNI 코드

Search Result 13, Processing Time 0.024 seconds

Mixed-mode execution environment using the JNI (JNI를 사용한 혼합형 실행 환경)

  • Kim Sang-Hoon
    • The Journal of Information Technology
    • /
    • v.5 no.4
    • /
    • pp.35-44
    • /
    • 2002
  • The tradeoff of Java's portability is the inefficiency of interpretation. Also, the standard Java class library may not support the platform-dependent features needed by your application. Several solutions have been proposed to overcome these problems, such as JNI, JIT, off-line bytecode compilers. In this paper, we present an mixed-mode execution model which Java virtual machine executes together with native code. This execution model and its translator preserves the ability to dynamically load bytecode, and reduce the difficulties of JNI usages. Our system is more efficient than JIT, and helps programmer to write C implementation for the native method without the concept of JNI.

  • PDF

Translation of Java Bytecode into C code with the JNI (자바 바이트코드로부터 JNI를 사용한 C 코드의 변환)

  • 권혜은;김상훈
    • The Journal of Information Technology
    • /
    • v.4 no.1
    • /
    • pp.1-7
    • /
    • 2001
  • The well-known tradeoff of Java's portability is the inefficiency of its basic execution model, which relies on the interpretation of an virtual machine. Many solutions have been proposed to overcome this problem, such as just-in-time(JIT) and offline bytecode compilers. However, JIT compiler can not avoid the overhead of runtime. since it translate bytecode into native code at runtime. And, pure offline bytecode compiler limits the ability of dynamic class loading. In this paper, we present an approach which preserves the ability to dynamically load bytecode, and is more efficient than JIT. In contrast to existing bytecode-to-C translator using the old NMI, our translator maintain complete compatibility and portability through using the Java Native Interface(JNI) standard. We have designed and implemented an translator for converting bytecode to C code with JNI.. named MyJNItool.

  • PDF

C2JNI: An Embedded C to JNI Translator (C2JNI: 내장 C 언어에서 JNI 코드를 생성하는 변환기)

  • 유재우;최종명;김영철
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.11
    • /
    • pp.1551-1559
    • /
    • 2004
  • Java, a platform independent object-oriented programming language, is widely used, however it should be integrated with JNI to use system services or to reuse legacy systems. Though JNI provides the standard APIs which allow Java to be combined with C/$C^{++}$, it is very hard and cumbersome for developers to use JNI APIs. In order to address this problem, we introduce a translator named C2JNI, which converts the embedded C program into a JNI compatible C program. With C2JNI, developers can Integrate Java and C programs without JNI APIs, and it will reduce the complexity caused by JNI APIs.

Java and C/C++ Mixed Programming (자바와 C/C++의 혼합 프로그래밍)

  • Kim, Sang-Hoon
    • Journal of Korea Multimedia Society
    • /
    • v.13 no.10
    • /
    • pp.1514-1524
    • /
    • 2010
  • The standard Java class library does not support the platform-dependent features needed by the application. Therefore, the Java application including the platform -dependent features must supplement the required features by invoking native functions using JNI. The native language programmer has to explicitly specify how to connect to various Java objects and later to disconnect from them. In this paper, I suggest a way to avoid these annoying works. The native method in the pure java class can not contain a native code block. By providing a native code block for the native method, it is possible for programmer to write a native code without being aware of JNI. To achieve this, I introduced the native class that is a java class on the native environment, and made it possible to interchange data by placing an arbitrator between the java class and the native class.

Using Java Objects in C through the JNI Function Calls (JNI 잠수 호출을 통한 C에서의 자바 객체 사용)

  • 이창환;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.04b
    • /
    • pp.340-342
    • /
    • 2002
  • JNI는 자바와 네이티브 코드간에 상호 연동을 위해서 사용되는 인터페이스이고, JNI를 이용하면 C에서 자바 객체를 사용할 수 있다 C에서 자바 객체에 대한 연산을 하기 위해서는 객체 연산의 종류에 따른 일정한 JNI 함수 호출 패턴을 이용해야 한다. 사용자가 직접 자바에 대한 연산을 기술하는 경우, 사용자는 복잡한 함수 호출 패턴을 익히고 패턴에 필요한 정보를 직접 입력해야 하며, 패턴의 잘못된 기술과 올바르지 않은 정보의 입력에 따른 오류 발생할 가능성이 높은 문제점이 있다. 본 논문에서는 자바에서 점(".") 연산자를 사용하여 객체에 대해 연산하는 것처럼 C에서도 점 연산자를 사용하여 자바 객체에 대한 연산할 수 있는 방법을 제안하고 구현하였다. 제안된 방법은 점 연산자를 사용한 자바 객체에 대한 연산을 같은 의미를 가지는 여러 JNI 함수 호출로 변환하는 것으로, 사용자가 직접 기술해서 발생하는 여러 문제점을 제거하여 사용의 복잡성과 오류 생성의 발생 가능성을 줄이는 장점을 가지고 있다.

  • PDF

Implementation of Android-Based Applications that can Select Motion Gestures In Up, Down, Left, and Right Directions (안드로이드 기반 상하좌우 방향의 동작 제스처를 선택할 수 있는 응용 프로그램 구현)

  • Yeong-Nam Jeon
    • The Journal of the Korea institute of electronic communication sciences
    • /
    • v.18 no.5
    • /
    • pp.945-952
    • /
    • 2023
  • In this paper, GRS chip driven JNI code application SW design based on Android platform was designed and fabricated as motion gesture frame module based on Android platform. The serial data reception module design proposed by the application-based network support API technology was designed with Android-based module design, Android-based module implementation, and Android-based function module implementation design. The data information of the sensor could be checked through Android applications such as classes of serial communication drivers, libraries, and frameworks for receiving data from wireless communication devices through Android OS applications. In addition, applications in Android implement application SW that can judge motion gestures in four directions using Java.

MPEG-1 Media Player supporting Streaming Service on Embedded Linux (내장형 리눅스 홈서버에서의 스트리밍 MPEG-1 재생기)

  • 정재일;김미영;신용경;김상욱
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10b
    • /
    • pp.205-207
    • /
    • 2001
  • 본 논문은 홈 네트워크 환경에서 스트리밍 데이터를 재생하는 MPEG-1 미디어 재생기를 구현한다. 이것은 실시간 운영체제인 내장형 리눅스 상에서 구현하였으며 실시간 응용 프로그램의 일관성과 호환성을 유지하기 위하여 자바 기반의 JNI 언어를 사용한다. JNI는 C언어와 같은 네이티브 코드와 자바 사이의 연동을 가능하게 하는 인터페이스이다. 이렇게 구현된 홈서버용 MPEG-1 미디어 재생기는 사용자에게 홈 네트워크 환경에서 홈서버에 저장되어 있는 멀티미디어 데이터 재생은 물론이고 외부에서 제공되는 멀티미디어 데이터를 실시간으로 서비스 받을 수 있도록 한다.

  • PDF

Design and Implementation of Bytecode-to-C Converter (Bytecode-to-C 변환기의 설계 및 구현)

  • 권혜은;김상훈
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04a
    • /
    • pp.52-54
    • /
    • 2001
  • 자바프로그램이 사용하는 바이트코드는 자바가상머신을 통해 플랫폼에 독립적인 특징을 갖는다. 이러한 장점은 인터프리터를 통해 실행되므로 실행속도의 저하와 플랫폼에 의존적인 작업이 어려운 문제점등을 가진다. 이러한 문제점을 보완하기 위한 기술로 JIT 컴파일러와 JNI 기술이 사용된다. 본 논문에서는 JIT 컴파일러가 가지는 실행속도의 향상과 JNI 프로그램의 편리한 작성에 도움을 주고, JVM에 독립적인 번역기를 설계하고 구현하였다. 번역기는 클래스파일을 읽어들여 이 프로그램을 위한 스텁 자바프로그램과 C 프로그램을 생성하고, 기존 C 컴파일러를 사용하여 번역하고 최적화 시키는 과정으로 이루어진다.

A Study on Acoustic Echo Cancellation Based of Android Platform (안드로이드 플랫폼 기반의 음향 반향 제거 기술에 대한 연구)

  • Park, Hung-Bog;Seo, Jung-Hee
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2012.07a
    • /
    • pp.345-346
    • /
    • 2012
  • 다양한 모바일 디바이스에서는 스피커와 마이크로폰의 자체에서 발생하는 반향(Echo)에 대한 문제점이 제시되어 녹음할 때 생기는 에코를 제거하기 위한 알고리즘 연구의 필요성이 증대되고 있다. 따라서 본 논문은 적응 신호 처리에 기반한 음향 반향 제어 알고리즘을 안드로이드 플랫폼 기반의 JNI를 이용한 설계 방법을 제안한다. 적응 반향 제거 애플리케이션은 일반적인 LMS 적응 필터를 적용하여 사운드에서 반향을 제거하고 FIR 필터를 사용하여 사운드의 웨이브폼에 FIR 필터를 적용한다. 안드로이드 플랫폼 기반의 JNI(Java Native Interface)를 이용한 설계는 기존에 사용되는 소스 코드를 재활용하고 프로그래밍을 쉽게하도록 도와준다.

  • PDF

Evaluation of Call Overheads Between Java Ahead-of-Time Compiler and Interpreter (자바 Ahead-of-Time 컴파일러와 해석기 간의 호출 오버헤드 평가)

  • Kim, Ik-Hyun;Jung, Dong-Heon;Oh, Hyung-Sk;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.06c
    • /
    • pp.521-526
    • /
    • 2007
  • 내장형 자바의 성능 향상을 위해 바이트코드를 기계어 코드로 미리 번역하여 내장형 시스템에 설치하는 Ahead-of-Time Compile(AOTC)가 많이 사용되고 있으나 수행 중에 동적으로 다운로드 되는 바이트코드를 수행하기 위해서는 기존의 해석기도 함께 사용되어야 한다. 이 경우 일부 자바 메소드는 AOTC에 의해 처리되고 일부 메소드는 해석기에 의해 수행되는 하이브리드 수행 환경이 된다. 이러한 환경에서 해석기 메소드가 AOTC 메소드를 호출하거나 AOTC 메소드가 해석기 메소드를 호출하는 경우 호출 오버헤드가 커서 성능을 저하시킬 수 가 있다. 본 연구에서는 AOTC에서 사용 가능한 두 가지 호출 인터페이스인 Java Native Interface(JNI)와 Compiled Native Interface(CNI)에 대해 하이브리드 수행 환경에서의 호출 오버헤드와 성능을 평가하고 각각의 장단점에 대해 논의한다.

  • PDF