• Title/Summary/Keyword: JAVA 언어

Search Result 525, Processing Time 0.026 seconds

A Study on the Pentium Code Generation using Retargetable Code Generation Technique from Bytecode (Bytecode로부터 재목적 코드 생성 기법을 이용한 Pentium 코드 생성에 관한 연구)

  • Jeong, Seong-Ok;Go, Gwang-Man;Lee, Seong-Ju
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.37 no.4
    • /
    • pp.1-8
    • /
    • 2000
  • The massive growth of the internet and the world-wide-web leads us to research the programming languages for the development of applications in heterogeneous, network-wide distributed environments. Java is an object-oriented language for such a environment and the Java programming language environment provides a portable, interpreted, high-performance, simple programming language. Bytecode is an intermediate code for Java language and it enables the development of applications on multiple platform in heterogeneous, distributed networks. But it takes much time to execute Bytecode because of using an interpretation method. In this paper, we design and implement a retargetable code generation system which can be systematically reconfigured to generate code for a variety of distinct target computers. From the system, we realize the code generation system which translates the Bytecode being produced by Java compiler into Pentium target code. We use ACK code generation system to do the work easily.

  • PDF

Constructing Java Vulnerable API List based on Java Access Permission Checking Tree (자바 접근 권한 검사 트리 기반의 자바 취약 API 리스트 생성)

  • Park, Hyo-Seong;Park, Chul-Woo;Lim, Young-Chan;Kim, Ki-Chang
    • Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology
    • /
    • v.5 no.2
    • /
    • pp.289-296
    • /
    • 2015
  • Java is an interpreted language that can run on a variety of platforms, also Java has a number of useful features for network. Due to theses features of Java language, Java is used in various fields. In this paper, we will talk about how the malware that threaten the Java Security Manager of the Java Virtual Machine is using the vulnerability of the Java Virtual Machine. And for corresponding measures, this paper suggest vulnerability analysis method of Java system class by using Java Call Graph and Java Access Permission Checking Tree. By suggesting that, we want to lay groundwork for preventing Java security threats in advance.

An Internet-based Self-Learning Educational System for Efficient Learning of Java Language (효율적인 자바언어 학습을 위한 인터넷기반 자율학습시스템의 구현)

  • Kim Dong-Sik;Lee Dong-Yeop
    • Journal of Engineering Education Research
    • /
    • v.8 no.1
    • /
    • pp.71-83
    • /
    • 2005
  • This paper presents an internet-based self-learning educational system which can be enhancing efficiency in the learning process of Java language. The proposed self-learning educational system is called Java Web Player(JWP), which is a Java application program and is executable through Java Web Start technologies. Also, three important sequential learning processes : concept learning process, programming practice process and assessment process are integrated in the proposed JWP using Java Web Start technologies. This JWP enables the learners to achieve efficient and interesting self-learning since the learning process is designed to enhance the multimedia capabilities on the basis of various educational technologies. Furthermore, internet-based on-line voice presentation and its related texts together with moving images are synchronized for efficient language learning process. Also, a simple and useful Java compiler is included in the JWP for providing language practice environment such as coding, editing, executing and debugging Java source files. Finally, repeated practice can make the learners to understand easily the key concepts of Java language. Simple multiple choices are given suddenly to the learners while they are studying through the JWP and the test results are displayed on the message box. This assessment process is very essential to increase the learner's academic capability.

Design and Implementation of a Java Bytecode-to-SAF Translator for the Ubiquitous Game Platform (유비쿼터스 게임 플랫폼을 위한 Java Bytecode-to-SAF 번역기의 설계 및 구현)

  • Park, Sang-Hoon;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.05a
    • /
    • pp.1512-1515
    • /
    • 2007
  • 본 연구팀은 유비쿼터스 환경에서 다양한 분야의 콘텐츠를 보다 쉽게 개발하고 실행할 수 있는 통합 소프트웨어 개발 솔루션인 유비쿼터스 게임 플랫폼(Ubiquitous Game Platform)을 개발하였다. 유비쿼터스 게임 플랫폼은 C/C++ 언어와 자바 언어를 모두 지원하며, 가상기계 방식이기 때문에 여러 임베디드 기기에서 독립적으로 수행이 가능하다는 장점이 있다. 본 논문에서는 유비쿼터스 게임 플랫폼에서 자바 언어로 작성된 콘텐츠를 실행할 수 있도록 하기 위해 자바 바이트코드를 유비쿼터스 게임 플랫폼의 중간언어 형식인 SAF(Standard Assembly Format)로 변환해주는 Java Bytecode-to-SAF 번역기를 설계하고 구현하였다. Java Bytecode-to-SAF 번역기를 통해 C/C++ 콘텐츠뿐만 아니라 자바 콘텐츠도 하나의 플랫폼에서 실행이 가능해져서 개발자에게 효율적이며, 능률적인 개발 환경을 제공하고, 한번 개발한 콘텐츠를 타 기종으로 이식하기 위한 시간과 비용 소모를 줄여 생산성을 높일 수 있다.

  • PDF

Implementation of the Java Compiler for the Smart Cross Platform (스마트 크로스 플랫폼을 위한 Java 컴파일러의 구현)

  • Son, YunSik;Lee, YangSun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.11a
    • /
    • pp.383-384
    • /
    • 2013
  • 현재 스마트 디바이스 콘텐츠는 각 플랫폼별로 독립적인 프로그래밍 언어와 개발 환경이 존재하기 때문에 다양한 플랫폼에 동일한 콘텐츠를 제공하기위해서는 각 플랫폼에 적합한 방식으로 중복 개발되어야 한다. 스마트 크로스 플랫폼은 이러한 문제점을 해결하기 위한 가상기계 기반 솔루션으로 다양한 개발 언어를 지원하고, 탑재된 모든 플랫폼에 동일한 실행환경을 제공하여 콘텐츠 개발을 용이하게 하고 다른 플랫폼으로의 이식 비용을 절감할 수 있는 장점을 가진다. 본 논문에서는 스마트 크로스 플랫폼에서 Java 프로그래밍언어를 지원하기 위한 컴파일러를 소개한다. 구현된 Java 컴파일러는 Java 콘텐츠를 입력으로 받아 스마트 크로스 플랫폼에서 실행하기 위한 플랫폼 독립적인 스택 기반 가상기계 코드인 SIL을 생성한다.

Java Bytecode-to-SIL Translator using an Abstract Syntax Tree (구문 트리를 이용한 자바 바이트코드에서 SIL로의 번역기)

  • Kim, Young-Koun;Kwon, Hyeok-Ju;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.519-522
    • /
    • 2004
  • 자바는 현재 가장 널리 사용되는 범용 프로그래밍 언어중 하나로 컴파일러에 의해 중간언어인 바이트코드로 변환되며 JVM(Java Virtual Machine)에 의해 실행되는 플랫폼 독립적인 언어이다. SIL(Standard Intermediate Language)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 중간언어로 가상기계인 EVM(Embedded Virtual Machine)에서 실행된다. 본 논문에서는 자바 프로그램을 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하여 자바로 구현된 프로그램이 EVM에서 실행되도록 하는 Bytecode-to-SIL 번역기 시스템을 구현하였다. 그리고 본 번역기 시스템을 다른 플랫폼에 용이하게 설치하기 위한 재목적성(retargetability)을 위해 단일패스(one-pass)을 사용하는 기존의 번역기들과 달리 AST를 이용한 컴파일러 기법을 사용하여 AST가 가지고 있는 정보에 대해 최적화 작업을 수행하여 보다 효과적인 코드 변환을 할 수 있도록 설계하였다.

  • PDF

Development of a HLA Specification 1.3 Compliant Distributed Middleware Java/RTI (HLA 규격 1.3에 적합한 분산 미들웨어 Java/RTI 개발)

  • 엄용섭;박성용;안명수
    • Proceedings of the Korea Society for Simulation Conference
    • /
    • 2002.11a
    • /
    • pp.53-57
    • /
    • 2002
  • 최근들어 분산 시뮬레이션을 위해 미국 국방성에서 제안한 HLA(High Level Architecture)를 산업계에 적용하기 위하여 미들웨어 개발이 활발하다. 주요 응용분야는 게임 및 다자간 회의 시스템, 실시간 제어 시스템 등이다. 본 논문에서는 (주)넷커스터마이즈가 HLA Spec. 1.3 표준안에 기반하여 순수 Java 언어를 사용하여 개발한 미들웨어인 Java/RTI를 소개한다. Java/RTI는 Java 언어만을 사용함으로써 운영체제에 제한을 받지 않고 RTI의 이식이 가능하게 하여 이식성을 크게 향상시켰다 또한, HLA 규격이 요구하는 모든 기능을 자체 개발함으로써 향후 RTI의 성능 및 서비스 확장을 위한 기반을 마련하였으며 실시간 제어 및 VOIP 응용 소프트웨어 개발을 통해 개발 편의성 및 성능이 검증되었다. RTI의 실행 환경을 모니터링 할 수 있는 소프트웨어까지 개발함으로써 소프트웨어의 운용 및 관리 효율성을 높였다. 본 논문에서 소개한 Java/RTI는 군사용 분산 시뮬레이션은 물론 게임, 실시간 제어 소프트웨어 등 다양한 분야에 응용될 수 있으며 현재 팩키지 소프트웨어로 상품화가 추진중에 있다. 또한, 개발된 Java/RTI를 확장하여 실시간 환경에서 QoS(Quality of Service)를 제공하는 성능 측정자 및 자원 관리자를 개발 중에 있다.

  • PDF

Integrated Development Environment for Java Native Methods (자바 네이티브 메소드를 위한 통합 개발 환경)

  • Kim, Sang-Hoon
    • The Journal of the Korea Contents Association
    • /
    • v.10 no.7
    • /
    • pp.122-132
    • /
    • 2010
  • As a result of a growing demand for various mobile devices, the demand for application programs on the devices is on the rise. The Java language that is platform-independent rapidly rose as the best programming language for mobile devices. However, the Java has a problem that does not support platform-dependent features needed by the application. To solve this problem, the JNI technology was introduced by Sun Microsystems. Programmers using the JNI to write native methods need to have a lot of knowledge about the JNI and the internal structure of the JVM. Also, the increased load by using a number of JNI functions may decrease software productivity and quality. Demands for tools writing native method without understanding of JNI are progressively increasing. To develop these tools, it is necessary to translate automatically the differences between Java and C/C++. In this study, I suggested a way to overcome differences between both languages and developed JNI editor that is an integrated develope environment on the basis of this.

Exploiting implicit Parallelism for Single Loops in Java Programming Language (Java 프로그래밍에서 단일 루프 구조의 병렬성 검출)

  • Hwang, Deuk-Yeong;Gwon, O-Jin;Choe, Yeong-Geun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.7
    • /
    • pp.1730-1745
    • /
    • 1998
  • 순차 Java 프로그램을 병렬 시스템에서 실행할 경우 루프는 전체 수행 시간 중 많은 부분을 차지하므로 병렬성 검출의 기본이 된다. 본 논문은 기존에 작성된 단일 루프 구조를 갖는 Java 프로그래밍 언어에서 종속성 분석을 수행하여 묵시적 병렬성을 검출하는 방법을 제안한다. 또한 재구성 컴파일러에 의하여 병렬 코드를 생성하는 방법과 Java 원시 프로그램을 Java 프로그래밍 언어 자체에서 지원하는 다중스레드 기법으로 변환하는 방법을 제안한다. 스레드 문장으로 변환된 프로그램에 대해 루프의 반복계수와 스레드 수를 매개변수로 하여 성능 분석을 하였다. 재구성 컴파일러에 의한 장점은 사용자의 병렬성 검출에 대한 오버헤드를 줄이고, 순차 Java 프로그램에 대한 효과적인 병렬성 검출을 가능하게 한다.

  • 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.