• Title/Summary/Keyword: Java Native Interface

Search Result 31, Processing Time 0.022 seconds

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

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

Java2OPC Gateway: OPC Access in Various Platform (Java2OPC Gateway: 다양한 플랫폼에서의 OPC 접근)

  • Yoo, Dae-Sung;Sim, Min-Suck;Park, Sung-Ghue;Park, Jae-Hee;Kim, Jong-Hwan;Yi, Myoung-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.1323-1326
    • /
    • 2004
  • 본 연구에서는 OPC(OLE for Process Control)가 마이크로소프트의 COM(Component Object Model)과 DCOM(Distributed COM) 기술을 사용함으로써 윈도우즈 플랫폼에서 클라이언트 어플리케이션이 개발되어 져야 하는 제약을 해결하기 위하여 Java2OPC Gateway를 제안한다. Java2OPC Gateway는 프로세스 컨트롤 장비와 연결된 OPC 서버쪽과 통신하는 클라이언트의 기능과 다양한 플랫폼에서 프로세스 데이터에 접근하기 위한 자바 어플리케이션과 통신하는 서버의 기능을 가진다. 클라이언트 모듈은 C로 작성되고 서버 모듈은 Java로 작성되어 클라이언트 모듈과 서버 모듈은 JNI(Java Native Interface)로 연결 된다.

  • PDF

Java Android & C Android (Java 안드로이드 & C 안드로이드)

  • Lee, Ho-Suk
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06d
    • /
    • pp.32-34
    • /
    • 2012
  • 현재 Android 에서는 대부분 Java 언어로 응용 프로그램을 개발한다. 그러나 C 언어로 응용 프로그램을 개발해야 하는 경우도 많다. Android 에서 C 언어로 응용 프로그램을 개발하기 위해서는 NDK(Native Development Kit) 를 설치해서 사용해야 한다. Android 시스템에서 Linux 커널은 Android Runtime Java 프로세스만을 부팅한다. 그러나 만약 Android 에서 C 프로세스를 부팅한다면 C 언어로 직접 응용 프로그램을 개발할 수 있다. 본 논문은 Android 시스템에서 Android C 프로세스를 부팅시키는 간단한 방법을 제시한다. 그리고 적합한 C/C++ GUI(Graphic User Interface) 라이브러리와 응용 라이브러리를 확보하거나 또는 개발하여 설치한다면, 현재의 Java Android 를 C Android 로 변환시키게 된다.

An Empirical Study of Diversity and Interoperability of Programming Languages (프로그래밍 언어의 다원성과 상호운영성의 실증적 분석)

  • Ko, Bongsuk;Lee, Byeongcheol
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.5
    • /
    • pp.304-309
    • /
    • 2017
  • Programmers use multiple languages to reuse legacy code best suited to their problems. However, it is quite challenging to develop error-free multilingual programs because new types of bugs occur since misunderstanding about language interfaces such as Java Native Interface (JNI) and Python/C. There is a considerable amount of research to overcome multilingual program bugs and errors but these researches have less consideration about substantiality of programming languages, language interfaces, and bugs to evaluate their analyses and tools. In this paper, we have identified and establish substantiality of multilingual programming research with empirical study about diversity and interoperability of programming languages in Ubuntu software ecosystem based on real-world statistical data.

Research 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.10c
    • /
    • pp.530-535
    • /
    • 2007
  • 내장형 자바의 성능 향상을 위해 바이트코드를 기계어 코드로 미리 번역하여 내장형 시스템에 설치하는 Ahead-of-Time Compile(AOTC)가 많이 사용되고 있으나 수행 중에 동적으로 다운로드 되는 바이트코드를 수행하기 위해서는 기존의 해석기도 함께 사용되어야 한다. 이 경우 일부 자바 메소드는 AOTC에 의해 처리되고 일부 메소드는 해석기에 의해 수행되는 하이브리드 수행 환경이 된다. 이러한 환경에서 해석기 메소드가 AOTC 메소드를 호출하거나 AOTC 메소드가 해석기 메소드를 호출하는 경우 호출 오버헤드가 커서 성능을 저하시킬 수 가 있다. 본 연구에서는 AOTC에서 사용 가능한 두 가지 호출 인터페이스인 Java Native Interface(JNI)와 Compiled Native Interface(CNI)에 대해 하이브리드 수행 환경에서의 호출 오버헤드와 성능을 평가하고 각각의 장단점에 대해 논의한다. 그리고 두 호출 인터페이스의 장점을 살릴 수 있는 새로운 호출 인터페이스를 제안하고자 한다.

  • PDF

Implementation of Face Detection System on Android Platform for Real-Time Applications (실시간 응용을 위한 안드로이드 플랫폼에서의 안면 검출 시스템 구현)

  • Han, Byung-Gil;Lim, Kil-Taek
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.8 no.3
    • /
    • pp.137-143
    • /
    • 2013
  • This paper describes an implementation of face detection technology for a real-time application on the Android platform. Java class of Face-Detection for detection of human face is provided by the Android API. However, this function is not suitable to apply for the real-time applications due to inadequate detection speed and accuracy. In this paper, the AdaBoost based classification method which utilizes Local Binary Pattern (LBP) histogram is employed for face detection. The face detection module has been developed by C/C++ language for high-speed image processing, and this module is included to the Android platform using the Java Native Interface (JNI). The experiments were carried out in the Java-based environment and JNI-based environment. The experimental results have shown that the performance of JNI-based is faster than Java-based method and our system is well enough to apply for real-time applications.

A Java Virtual Machine for Sensor Networks (센서 네트워크를 위한 자바 가상 기계)

  • Kim, Seong-Woo;Lee, Jong-Min;Lee, Jung-Hwa;Shin, Jin-Ho
    • Journal of Institute of Control, Robotics and Systems
    • /
    • v.14 no.1
    • /
    • pp.13-20
    • /
    • 2008
  • Sensor network consists of a large number of sensor node distributed in the environment being sensed and controlled. The resource-constrained sensor nodes tend to have various and heterogeneous architecture. Thus, it is important to make its software environment platform-independent and reprogrammable. In this paper, we present BeeVM, a Java operating system designed for sensor networks. BeeVM offers a platform-independent Java programming environment with its efficiently executable file format and a set of class APIs for basic operating functions, sensing and wireless networking. BeeVM's high-level native interface and layered network subsystem allow complex program for sensor network to be short and readable. Our platform has been ported on two currently popular hardware platforms and we show its effectiveness through the evaluation of a simple application.

Java Preprocessor for Integration of Java and C (자바와 C 언어 결합을 위한 자바 전처리기)

  • Yi, Chang-Hwan;Oh, Se-Man
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.4
    • /
    • pp.537-547
    • /
    • 2007
  • According evolution of computer technology, computers execute complex and several tasks. Because of the complexity of program and restriction of programming language, applications are implemented using one more programming language. But it is no general methodology for using several languages and implementing it. This paper classified usages of programming language integration and methodology for implements programming languages integration through HLID(Heterogeneous Language Integration Degree) for solving above problem. And using HLID, it designed and implemented Java Preprocessor that improvement JNI-current implementation for integration between object-oriented language Java and procedural language C.

  • 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