Study on Programming by Combining Java with C++ Based on JNI
|
|
- Julius Holland
- 6 years ago
- Views:
Transcription
1 doi: /spr Study on Programming by Combining Java with C++ Based on JNI Tan Qingquan 1, Luo Huachun* 2, Jiang Lianyan 3, Bo Tao 4, Liu Qun 5, Liu Bo 6 Earthquake Administration of Beijing Municipality, No.28 Suzhou Street, Haidian District, Beijing, P.R.China * Corespondent author. He is the chief engineer of Beijing seismic fortification management office. 1 tanqq@bjseis.cn; * 2 luohc@bjseis.cn; 3 jiangly@bjseis.cn; 4 botao@bjseis.cn; 5 liuqun@bjseis.cn; 6 baronliu@bjseis.cn Abstract Java is more and more widely used in software developing field, because of its unique characteristics. However, Java does not work as well as C++ language on some occasions. It is significant to program by combining Java with C++. In this paper, programming by combining Java with C++ based on JNI(Java Native Interface) technology on Windows platform is discussed. The key issues include passing parameters, calling C++ DLLs in Java, calling Java methods in C++, handling exceptions, and so on. In the end, a sample application is presented. Keywords JNI; Java; C++; Combined Programming Introduction Nowadays, Java has been widely used in the field of software development (especially in the field of Web programming). Because Java not only has good cross-platform portability advantage, but also has many characteristics that other programming languages cannot compare with. For example: easy to achieve security programming, easy to realize multi-threaded programming, easy to implement network applications, and so on. However, there is no perfect programming language, Java has many advantages; at the same time, there are some shortcomings: on the one hand, the running efficiency of the code is relatively low. While carrying out certain audio or image processing, complex scientific computing, Java is not the best choice; on the other hand, if the application needs to access certain specific system characteristics or devices, Java will be very cumbersome, and may even be impossible to achieve. But these deficiencies happen to be the advantages of C++. In addition, for applications or libraries that have been implemented with C++, the cost-effective way is to call directly in Java, rather than to rewrite the program. Therefore, it is significant to program by combining Java with C++. Fortunately, the JNI (Java Native Interface) defines a standard naming and calling criteria, so that Java methods can be combined with C++ methods seamlessly. Currently, some of the literature discussed JNI programming, but were basically limited to some specific application examples. This paper will comprehensively study the combined programming of Java and C++ based on JNI, and discuss the key technologies and precautions. In this paper, the C++ methods are implemented on Visual C++ developing platform. Finally, a sample application with source code is achieved and presented by combining Java with C++. Review on JNI JNI is a part of the JDK (Java Development Kit), and JNI provides Java programming interfaces of calling native methods. Therefore, based on JNI, Java code, which is running in the virtual machine, may call C/C++/assembly language code or class libraries. Using APIs provided by JNI, Java virtual machine may be embed in a local application, and all operations on the Java classes or objects can almost all be achieved in the native methods. As a result, seamless integration of Java code with C++ code will be realized. The function of JNI can be expressed in Fig
2 Signal Processing Research (SPR) Volume 5, FIG. 1 SCHEMATIC DIAGRAM OF JNI FUNCTION Implementation on Java and C++ Combined Programming Based on JNI Passing Parameters While programming with Java and C++, it is often needed to pass parameters values. The premise is to establish the mapping relationship between data types. For Java basic types, JNI defines a direct mapping relationship with C++ types, as shown in Table 1. These mapping types are defined in the file of jni.h. Therefore, the including statement of jni.h file will be automatically added to the local C++ header file, which is generated by javah command. The reference types in Java would be accessed by an interface pointer of JNIEnv type as the entry in C++, which will be discussed in following sections. Call C++ DLLs in Java TABLE 1 BASIC TYPES MAPPING BETWEEN JAVA AND C++ Java type C++ type storage byte boolean jboolean 1(unsigned) byte jbyte 1 char jchar 2(unsigned) short jshort 2 int jint 4 float jfloat 4 long jlong 8 double jdouble 8 void void 0 Based on the JNI specification, the DLL files implemented by C++ can be directly called in Java. These are the main steps: Write Java classes codes, implement the statement for native methods and variables, load native shared libraries. Compile the Java classes, generate byte code (*.class). Generate the native method header files (*.h) using javah command. Include the header files in C++ to achieve native method. Compile and link to generate DLL files. Call the native methods defined in DLL files in the Java program. If the native method is nativefun(), the shared library is nativevc.dll, the following Java code is needed in step 1: public native void nativefun( ); static { System.loadLibrary("nativeVC"); } Methods declared by keyword native are native methods, which are declared in Java class, without 15
3 implementation codes. While loading a library file, the extension is unnecessary. It s *.DLL file in Windows system, and *.SO file in Linux system. The system will automatically make a choice. Moreover, this library file should be placed under the directory, which the system will automatically search for. For example, in windows system, the current path and directories defined by environment variable PATH are valid. According to the native methods declared in Java class, the according methods will be obtained in C/C++ header file generated by javah command. Naming rules of the native method in this header file is as follows: Java[_package name]_class name_method name[ function signature]. The package name and function signature are optional. If the native method is declared in a packaged Java class, the package name will be added to the C/C++ native method. If the native method is declared as overloaded function, the function signature is necessary in C/C++ native method. This is automatically completed while compiling by javah. User cannot change the name of the native method, otherwise there will be an exception when the native method is called in Java program. Call Java Methods in C++ Using JNI, almost all of the original operations on the class or object in Java can be implemented in native methods. To create, check and update Java objects in native method, the following policies are generally adopted: first, get access to the class; then get members ID of the class, and finally get access to the member variables or functions according to the class object or ID number. Two types of parameters are automatically added to the native method statement generated by javah: JNIEnv* and jobject (jclass). The first parameter is an interface pointer of JNIEnv type, which points to a function table. Each item of the table corresponds to a JNI function pointer. As a result, the native method can achieve the operations on the class or object located in the Java virtual machine through the JNI functions. If the native method is declared as a static method in the Java, the second parameter type is jclass, which defines a reference to the Java class. In general, jobject is used to represent a reference to a Java instance object, equivalent to the pointer of this in C++. Handling Exceptions JNI provides a set of functions to handle the exception while calling JNI functions. While calling a JNI function, if an exception occurs, it must be disposed promptly. Otherwise, the Java Virtual Machine (JVM) will crash by calling other JNI functions. Generally, the exception is captured and processed by the following steps: First, determine whether an exception occurs by using ExceptionOccurred() function; secondly, take the corresponding treatment according to the abnormal position, or display the exception details by using ExceptionDescribe() function; finally, eliminate the current exception information before calling other JNI functions by using ExceptionClear() function. Java Programming Combined with Other Languages JNI provides an interface for combined programming between Java and C/C++, but Java cannot directly establish communication with VB, Delphi and other programming languages. Developers accustomed to using VB, Delphi and other programming language can implement combined programming with Java by the following method: first, implement the functions or algorithms in DLL files by VB or Delphi; then, achieve Java and C++ combined programming, and call the DLL files in C++ native methods. thus, JNI and C++ language build a bridge for combined programming of Java and other languages, as shown in Fig. 2. Sample Program FIG. 2 SCHEMATIC DIAGRAM OF COMBINED PROGRAMMING OF JAVA AND OTHER LANGUAGES The functionalities of the program are designed as follows: define a string str_java in Java, call C++ native methods in Java, pass the parameter of str_java and display the value of str_java in C ++; conversely, define a string str_vc in C++, call the member function of Java class in C++, pass the parameter of str_vc and display the value of str_vc in Java. The calling procedure is shown in Fig. 3, and the compilation and output results are shown in Fig
4 Signal Processing Research (SPR) Volume 5, FIG. 3 THE CALLING PROCEDURE OF SAMPLE PROGRAM FIG. 4 THE COMPILATION AND OUTPUT RESULTS OF SAMPLE PROGRAM Conclusions In addition to NI technology, there are many other solutions to achieve Java and other languages combined programming, such as, JRI(Java Runtime Interface), J/Direct, RNI(Raw Native Interface), Java/COM integration and CORBA(Common Object Request Broker Architecture), and so on. JNI is the most convenient and common way to use, because JNI is a part of JDK. By using JNI, the combined programing of Java and C++ achieved seamlessly, realizing their complementary advantages. As a result, there are more probabilities to solve some of the complex issues. In real applications, the key points include passing parameters, calling JNI functions and handling exceptions, and so on. Java is cross-platform and portable programing language, but the native code combined with Java is not portable. On different platforms, the native codes must be correspondingly modified and recompiled. In addition, it is easy to make mistakes while calling Java functions in native methods, which reduces the reliability and security of the program. Although the combined programming achieves stronger functionalities, the portability, stability and security of Java will be correspondingly reduced. In real applications, it must be given full consideration in order to achieve better application effect. ACKNOWLEDGMENT This work is financially supported by Beijing Natural Science Foundation ( ), Project of Science for Earthquake Resilience (XH16001, XH15001Y, and XH12002Y), Policy Research Project of China Earthquake Administration (CEA-ZC/ /2016), and Science & Technology Project of Beijing Earthquake Administration (QN08).. REFERENCES [1] Cay S. Horstmann, and Gary Cornell. Core Java 2 Volume II - Advanced Features (Seventh Edition). published by Prentice Hall,
5 [2] Implementing the Java Native Interface to Harden Native Code. Accessed May 25, [3] DONG Wei-wei. Application of JNI technology in the network interaction. Electronic Design Engineering, 24(6), (2016).(in Chinese) [4] XIANG Mo-jun. Using JNI to Establish Communication between Java and C++. Computer Era, 27(12),56-57,( 2009). (in Chinese) [5] REN Jun-wei, and LIN Dong-dai. Research of Platform Independent Programming Using JNI Technology. Application Research of Computers, 22(7), ,(2005). (in Chinese) [6] ZHAO Nan, and HE Guang-yu. Application of JNI Technology on Platform-Independent Power Automatic System. Computer Engineering & applications, 41(17), ,(2005). (in Chinese) [7] WANG Yin-jiang, and LING Li. Application of JNI in Improving Efficiency of Security and Encryption System. Computer Engineering, 30(12),99-101,(2004). (in Chinese) [8] MA Jun-fei. Access system process in Java by JNI technology. Computer Systems & Applications,18(2),46-49,(2005).(in Chinese) [9] FU Jun. Discuss on Application of JNI Technology in Embedded Software Development. Microcontrollers & Embedded Systems, 5(7),12-14,(2005). (in Chinese) [10] TAN Qing-quan, BI Jian-tao, and LIU Qun, Implementation on web-oriented cutting algorithm of remote sensing images based on Java and C+. Computer Systems & Applications, 19(1): , (2010).(in Chinese) Qingquan Tan is now a senior engineer of Beijing Earthquake Administration. He received his PHD degree in Cartography and Geographic Information System from Chinese Academy of Sciences in His research interests include spatial information technology, information management system, and earthquake Huachun Luo is now a associate professor of Beijing Earthquake Administration. He received his MS degree in Geological Structure from Changchun College of Geology in His research interests include Seismology & Geology, and earthquake Lianyan Jiang is now a senior engineer of Beijing Earthquake Administration. Her research interests focus on earthquake Tao Bo is now an engineer of Beijing Earthquake Administration. Her research interests focus on earthquake emergency & rescue. Qun Liu is now a associate professor of Beijing Earthquake Administration. Her research interests focus on earthquake Bo Liu is now an engineer of Beijing Earthquake Administration. His research interests focus on earthquake emergency & rescue. 18
JAVA Native Interface
CSC 308 2.0 System Development with Java JAVA Native Interface Department of Statistics and Computer Science Java Native Interface Is a programming framework JNI functions written in a language other than
More informationLecture 5 - NDK Integration (JNI)
Lecture 5 - NDK Integration (JNI) This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
More informationNDK Integration (JNI)
NDK Integration (JNI) Lecture 6 Operating Systems Practical 9 November 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
More informationCalling C Function from the Java Code Calling Java Method from C/C++ Code
Java Native Interface: JNI Calling C Function from the Java Code Calling Java Method from C/C++ Code Calling C Functions From Java Print Hello Native World HelloNativeTest (Java) HelloNative.c HelloNative.h
More informationPorting Guide - Moving Java applications to 64-bit systems. 64-bit Java - general considerations
Porting Guide - Moving Java applications to 64-bit systems IBM has produced versions of the Java TM Developer Kit and Java Runtime Environment that run in true 64-bit mode on 64-bit systems including IBM
More informationJava/JMDL communication with MDL applications
m with MDL applications By Stanislav Sumbera [Editor Note: The arrival of MicroStation V8 and its support for Microsoft Visual Basic for Applications opens an entirely new set of duallanguage m issues
More informationInvoking Native Applications from Java
2012 Marty Hall Invoking Native Applications from Java Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/java.html Customized Java EE Training: http://courses.coreservlets.com/
More informationSUB CODE:IT0407 SUB NAME:INTEGRATIVE PROGRAMMING & TECHNOLOGIES SEM : VII. N.J.Subashini Assistant Professor,(Sr. G) SRM University, Kattankulathur
SUB CODE:IT0407 SUB NAME:INTEGRATIVE PROGRAMMING & TECHNOLOGIES SEM : VII N.J.Subashini Assistant Professor,(Sr. G) SRM University, Kattankulathur 1 UNIT I 2 UNIT 1 LANGUAGE INTEROPERABILITY IN JAVA 9
More informationDESIGN AND IMPLEMENTATION OF TOURIST WEBGIS BASED ON J2EE
DESIGN AND IMPLEMENTATION OF TOURIST WEBGIS BASED ON J2EE WANG Jizhou, LI Chengming Institute of GIS, Chinese Academy of Surveying and Mapping, No.16, Road Beitaiping, District Haidian, Beijing, P.R.China,
More informationLEVERAGING EXISTING PLASMA SIMULATION CODES. Anna Malinova, Vasil Yordanov, Jan van Dijk
136 LEVERAGING EXISTING PLASMA SIMULATION CODES Anna Malinova, Vasil Yordanov, Jan van Dijk Abstract: This paper describes the process of wrapping existing scientific codes in the domain of plasma physics
More informationResearch on Power Quality Monitoring and Analyzing System Based on Embedded Technology
2010 China International Conference on Electricity Distribution 1 Research on Power Quality Monitoring and Analyzing System Based on Embedded Technology Zhang Hong-tao, Ye Ying, An Qing China Zhoukou Power
More informationRESEARCH ON CROSS PLATFORM DEVELOPMENT MODEL BASED ON QUICK QT Xiaohua Zhang1, a, Bo Huang2, b
6th International Conference on Information Engineering for Mechanics and Materials (ICIMM 2016) RESEARCH ON CROSS PLATFORM DEVELOPMENT MODEL BASED ON QUICK QT Xiaohua Zhang1, a, Bo Huang2, b 1 Department
More informationComputer Aided Drafting, Design and Manufacturing Volume 24, Number 4, December 2014, Page 64
Computer Aided Drafting, Design and Manufacturing Volume 24, Number 4, December 2014, Page 64 CADDM Three Dimensional Modeling of Shaft with Process Structures on CATIA WAN Sheng-lai, WANG Xiao-yu, JIANG
More informationJava TM Native Methods. Rex Jaeschke
Java TM Native Methods Rex Jaeschke Java Native Methods 1999, 2007, 2009 Rex Jaeschke. All rights reserved. Edition: 2.0 (matches JDK1.6/Java 2) All rights reserved. No part of this publication may be
More informationEMBEDDED SYSTEMS PROGRAMMING Android NDK
EMBEDDED SYSTEMS PROGRAMMING 2014-15 Android NDK WHAT IS THE NDK? The Android NDK is a set of cross-compilers, scripts and libraries that allows to embed native code into Android applications Native code
More informationJava Native Interface. Diego Rodrigo Cabral Silva
Java Native Interface Diego Rodrigo Cabral Silva Overview The JNI allows Java code that runs within a Java Virtual Machine (VM) to operate with applications and libraries written in other languages, such
More informationA method of three-dimensional subdivision of arbitrary polyhedron by. using pyramids
5th International Conference on Measurement, Instrumentation and Automation (ICMIA 2016) A method of three-dimensional subdivision of arbitrary polyhedron by using pyramids LIU Ji-bo1,a*, Wang Zhi-hong1,b,
More informationLecture 2 summary of Java SE section 1
Lecture 2 summary of Java SE section 1 presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department of Economic Informatics & Cybernetics www.dice.ase.ro Cristian Toma
More informationKeywords: Cloud computing, ZigBee, Smart home, Security cloud
2016 International Conference on Information Engineering and Communications Technology (IECT 2016) ISBN: 978-1-60595-375-5 Design of the Smart-home Security System based on Cloud Computing Yan Wang 1,a,
More informationLDAP-based IOT Object Information Management Scheme
ISSN 2409-2665 Journal of Logistics, Informatics and Service Science Vol. 1 (2014) No. 1, pp. 11-22 LDAP-based IOT Object Information Management Scheme Li Hai 1*, Fan Chunxiao 1, Wu Yuexin 1, Liu Jie 1,
More informationWorking Paper. Coupling MATSim and UrbanSim: Software design issues. Thomas W. Nicolai, Kai Nagel
Working Paper Coupling MATSim and UrbanSim: Software design issues Thomas W. Nicolai, Kai Nagel TU Berlin, Germany Revision: 1 FP7-244557 20/12/2010 Contents 1 Introduction...3 2 Introducing new methods
More informationLightning Protection Performance Assessment of Transmission Line Based on ATP model Automatic Generation
MATEC Web of Conferences 55, 03001 () DOI: 10.1051/ matecconf/5503001 Lightning Protection Performance Assessment of Transmission Line Based on ATP model Automatic Generation Luo Hanwu 1, Li Mengke 1,
More informationInternational Conference on Information Sciences, Machinery, Materials and Energy (ICISMME 2015)
International Conference on Information Sciences, Machinery, Materials and Energy (ICISMME 2015) ARINC - 429 airborne communications transceiver system based on FPGA implementation Liu Hao 1,Gu Cao 2,MA
More informationVirtual Simulation of Seismic Forward Data Processing Based on LabVIEW
Open Journal of Yangtze Gas and Oil, 2017, 2, 1-9 http://www.scirp.org/journal/ojogas ISSN Online: 2473-1900 ISSN Print: 2473-1889 Virtual Simulation of Seismic Forward Data Processing Based on LabVIEW
More informationThe principle of a fulltext searching instrument and its application research Wen Ju Gao 1, a, Yue Ou Ren 2, b and Qiu Yan Li 3,c
International Conference on Education, Management, Commerce and Society (EMCS 2015) The principle of a fulltext searching instrument and its application research Wen Ju Gao 1, a, Yue Ou Ren 2, b and Qiu
More informationDesign and Implementation of a Multi-Function Data Acquisition System based on Android Platform
2017 International Conference on Computer Science and Application Engineering (CSAE 2017) ISBN: 978-1-60595-505-6 Design and Implementation of a Multi-Function Data Acquisition System based on Android
More informationA Network Disk Device Based on Web Accessing
TELKOMNIKA Indonesian Journal of Electrical Engineering Vol.12, No.6, June 2014, pp. 4387 ~ 4392 DOI: 10.11591/telkomnika.v12i6.5472 4387 A Network Disk Device Based on Web Accessing QunFang Yuan 1, Wenxia
More informationEMBEDDED SYSTEMS PROGRAMMING Android NDK
EMBEDDED SYSTEMS PROGRAMMING 2015-16 Android NDK WHAT IS THE NDK? The Android NDK is a set of cross-compilers, scripts and libraries that allows to embed native code into Android applications Native code
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationCharacter Stream : It provides a convenient means for handling input and output of characters.
Be Perfect, Do Perfect, Live Perfect 1 1. What is the meaning of public static void main(string args[])? public keyword is an access modifier which represents visibility, it means it is visible to all.
More informationJava language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS
Java language Part 1. Java fundamentals Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua What Java is? Programming language Platform: Hardware Software OS: Windows, Linux, Solaris,
More informationResearch and Application of Mobile Geographic Information Service Technology Based on JSP Chengtong GUO1, a, Yan YAO1,b
4th International Conference on Machinery, Materials and Computing Technology (ICMMCT 2016) Research and Application of Mobile Geographic Information Service Technology Based on JSP Chengtong GUO1, a,
More informationLecture 6 - NDK Integration (JNI)
Lecture 6 - NDK Integration (JNI) This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
More informationDesign of Soybean Milk Machine Control System based on STC89C52. Ya-gang SUN, Yue ZHANG, Zhi-gang YANG, Rui-cheng ZHANG and Xiao-wei SHEN
2016 International Conference on Advanced Manufacture Technology and Industrial Application (AMTIA 2016) ISBN: 978-1-60595-387-8 Design of Soybean Milk Machine Control System based on STC89C52 Ya-gang
More informationComputer Life (CPL) ISSN: Simulation and Implementation of Cloud Computing Based on CloudSim
Computer Life (CPL) ISSN: 1819-4818 DELIVERING QUALITY SCIENCE TO THE WORLD Simulation and Implementation of Cloud Computing Based on CloudSim Wenjie Xu a, *, Longye Tang College of Science, Shandong Jiaotong
More informationThe Design of Electronic Color Screen Based on Proteus Visual Designer Ting-Yu HOU 1,a, Hao LIU 2,b,*
2016 Joint International Conference on Service Science, Management and Engineering (SSME 2016) and International Conference on Information Science and Technology (IST 2016) ISBN: 978-1-60595-379-3 The
More informationOn the Expansion of Access Bandwidth of Manufacturing Cloud Core Network
1288 JOURNAL OF SOFTWARE, VOL. 9, NO. 5, MAY 2014 On the Expansion of Access Bandwidth of Manufacturing Cloud Core Network Hongyao Ju Zhejiang Textile & Fashion College, NingBo 315211, P.R.China Email:
More informationPorting mobile web application engine to the Android platform
2010 10th IEEE International Conference on Computer and Information Technology (CIT 2010) Porting mobile web application engine to the Android platform Yonghong Wu, Jianchao Luo, Lei Luo School of Computer
More informationSelected Java Topics
Selected Java Topics Introduction Basic Types, Objects and Pointers Modifiers Abstract Classes and Interfaces Exceptions and Runtime Exceptions Static Variables and Static Methods Type Safe Constants Swings
More informationDesign and Implementation of Full Text Search Engine Based on Lucene Na-na ZHANG 1,a *, Yi-song WANG 1 and Kun ZHU 1
2017 2 nd International Conference on Computer Science and Technology (CST 2017) ISBN: 978-1-60595-461-5 Design and Implementation of Full Text Search Engine Based on Lucene Na-na ZHANG 1,a *, Yi-song
More informationStudy on Jabber Be Applied to Video Diagnosis for Plant Diseases and Insect Pests
Study on Jabber Be Applied to Video Diagnosis for Plant Diseases and Insect Pests Wei Zhang *, JunFeng Zhang, Feng Yu, JiChun Zhao, and RuPeng Luan Agriculture and Forestry Academy of Beijing; Beijing
More informationA Tentative Study on Ward Monitoring System based on Zigbee Technology Jifeng Liang
7th International Conference on Education, Management, Computer and Medicine (EMCM 2016) A Tentative Study on Ward Monitoring System based on Zigbee Technology Jifeng Liang Xi an Fanyi University, Xi an
More informationWriting a Client Application for Genesis II Contributors: Chris Sosa Last Modified: 06/05/2007
Writing a Client Application for Genesis II Contributors: Chris Sosa (sosa@virginia.edu) Last Modified: 06/05/2007 Introduction The purpose of this White Paper is to discuss the use of the University of
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 Easing the Transition from C++ to Java (Part 1) Timothy
More informationWe can also throw Java exceptions in the native code.
4. 5. 6. 7. Java arrays are handled by JNI as reference types. We have two types of arrays: primitive and object arrays. They are treated differently by JNI. Primitive arrays contain primitive data types
More informationDesign and Implementation of Dual-Mode Wireless Video Monitoring System
Sensors & Transducers 2014 by IFSA Publishing, S. L. http://www.sensorsportal.com Design and Implementation of Dual-Mode Wireless Video Monitoring System BAO Song-Jian, YANG Shou-Liang ChongQing University
More informationCS11 Java. Fall Lecture 1
CS11 Java Fall 2006-2007 Lecture 1 Welcome! 8 Lectures Slides posted on CS11 website http://www.cs.caltech.edu/courses/cs11 7-8 Lab Assignments Made available on Mondays Due one week later Monday, 12 noon
More informationTHE EXPLOITATION OF WEBGIS BASED ON ARCGIS SERVER AND AJAX
THE EXPLOITATION OF WEBGIS BASED ON ARCGIS SERVER AND AJAX Xue Lei 1, Li Lin, Longhe Wang 1, Qin Jian 1 1 College of Information and Electrical Engineering, China Agricultural University, Beijing, P. R.
More informationDesign of Bicycle mileage Speed Meter
Journal of Computing and Electronic Information Management ISSN: 2413-1660 Design of Bicycle mileage Speed Meter Xiuwei Fu 1, a 1 College of Information & Control Engineering, Jilin Institute of Chemical
More informationConstruction of SSI Framework Based on MVC Software Design Model Yongchang Rena, Yongzhe Mab
4th International Conference on Mechatronics, Materials, Chemistry and Computer Engineering (ICMMCCE 2015) Construction of SSI Framework Based on MVC Software Design Model Yongchang Rena, Yongzhe Mab School
More informationData Acquisition and Analysis of Distribution Automation System
07 5th International Conference on Computer, Automation and Power Electronics CAPE 07 Data Acquisition and Analysis of Distribution Automation System Yang Chengpeng, a, Zhang Xiaoliang,b, Ren Yong,c,Wang
More informationA liquid level control system based on LabVIEW and MATLAB hybrid programming
2nd Annual International Conference on Electronics, Electrical Engineering and Information Science (EEEIS 2016) A liquid level control system based on LabVIEW and MATLAB hybrid programming Zhen Li, Ping
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, no. 4, September-October 2002 Easing the Transition from C++ to Java (Part 2)
More informationApplication of Wang-Yu Algorithm in the Geometric Constraint Problem
Application of Wang-u Algorithm in the Geometric Constraint Problem 1 Department of Computer Science and Technology, Jilin University Changchun, 130012, China E-mail: liwh@jlu.edu.cn Mingyu Sun 2 Department
More informationLecture 1: Overview of Java
Lecture 1: Overview of Java What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed for easy Web/Internet applications Widespread
More informationJPype Documentation. Release Steve Menard, Luis Nell and others
JPype Documentation Release 0.5.4.5 Steve Menard, Luis Nell and others March 09, 2014 Contents 1 Parts of the documentation 3 1.1 Installation................................................ 3 1.2 User
More informationMulti-dimensional database design and implementation of dam safety monitoring system
Water Science and Engineering, Sep. 2008, Vol. 1, No. 3, 112-120 ISSN 1674-2370, http://kkb.hhu.edu.cn, e-mail: wse@hhu.edu.cn Multi-dimensional database design and implementation of dam safety monitoring
More informationJPype Documentation. Release Steve Menard, Luis Nell and others
JPype Documentation Release 0.6.3 Steve Menard, Luis Nell and others Jun 03, 2018 Contents 1 Parts of the documentation 3 1.1 Installation................................................ 3 1.2 User Guide................................................
More informationC LANGUAGE AND ITS DIFFERENT TYPES OF FUNCTIONS
C LANGUAGE AND ITS DIFFERENT TYPES OF FUNCTIONS Manish Dronacharya College Of Engineering, Maharishi Dayanand University, Gurgaon, Haryana, India III. Abstract- C Language History: The C programming language
More informationA Typical Commercial Application for Kylin Operating System Jia-Qi LI 1,a,*, Xiang-Ke LIAO 1,b and Jun MA 1,c
2017 3rd International Conference on Computer Science and Mechanical Automation (CSMA 2017) ISBN: 978-1-60595-506-3 A Typical Commercial Application for Kylin Operating System Jia-Qi LI 1,a,*, Xiang-Ke
More informationHUMAN-COMPUTER INTERFACE DEVELOPMENT OF WIRELESS MONITORING SYSTEM BASED ON MINIGUI
HUMAN-COMPUTER INTERFACE DEVELOPMENT OF WIRELESS MONITORING SYSTEM BASED ON MINIGUI Zhihua Diao 1, Chunjiang Zhao 1, 2, Xiaojun Qiao 2,*, Cheng Wang 2, Gang Wu 1, Xin Zhang 2 1 2 University of Science
More information1 class HelloWorld 2 { 3 public native void displayhelloworld(); 4 static 5 { 6 System.loadLibrary("hello"); 7 }
JNI Java Native Interface C and C++. JNI and STL Alan Mycroft University of Cambridge (heavily based on previous years notes thanks to Alastair Beresford and Andrew Moore) Michaelmas Term 2012 20 Java
More informationResearch Of Data Model In Engineering Flight Simulation Platform Based On Meta-Data Liu Jinxin 1,a, Xu Hong 1,b, Shen Weiqun 2,c
Applied Mechanics and Materials Online: 2013-06-13 ISSN: 1662-7482, Vols. 325-326, pp 1750-1753 doi:10.4028/www.scientific.net/amm.325-326.1750 2013 Trans Tech Publications, Switzerland Research Of Data
More informationGang Tan, Boston College Lehigh University
An Empirical Security Study of the Native Code in the JDK Gang Tan, Boston College Lehigh University Jason Croft, Boston College Java Security Various holes identified d and fixed [Dean, Felten, Wallach
More informationC and C++ 8. JNI and STL. Alan Mycroft. University of Cambridge (heavily based on previous years notes thanks to Alastair Beresford and Andrew Moore)
C and C++ 8. JNI and STL Alan Mycroft University of Cambridge (heavily based on previous years notes thanks to Alastair Beresford and Andrew Moore) Michaelmas Term 2013 2014 1 / 41 JNI and STL This lecture
More informationResearch on the Application of Digital Images Based on the Computer Graphics. Jing Li 1, Bin Hu 2
Applied Mechanics and Materials Online: 2014-05-23 ISSN: 1662-7482, Vols. 556-562, pp 4998-5002 doi:10.4028/www.scientific.net/amm.556-562.4998 2014 Trans Tech Publications, Switzerland Research on the
More informationAPPLICATION OF JAVA TECHNOLOGY IN THE REGIONAL COMPARATIVE ADVANTAGE ANALYSIS SYSTEM OF MAIN GRAIN IN CHINA
APPLICATION OF JAVA TECHNOLOGY IN THE REGIONAL COMPARATIVE ADVANTAGE ANALYSIS SYSTEM OF MAIN GRAIN IN CHINA Xue Yan, Yeping Zhu * Agricultural Information Institute of Chinese Academy of Agricultural Sciences
More informationNetwork protocol for Internet of Things based on 6LoWPAN
Abstract Network protocol for Internet of Things based on 6LoWPAN Yijun Wang 1,*, Yushan Mei 1 College of Electronic & Information Engineering, Changchun University of Science and Technology Changchun
More informationJNI and STL. Justification
JNI and STL C and C++. JNI and STL Alan Mycroft University of Cambridge (heavily based on previous years notes thanks to Alastair Beresford and Andrew Moore) Michaelmas Term 2013 201 This lecture looks
More informationStudy on the Quantitative Vulnerability Model of Information System based on Mathematical Modeling Techniques. Yunzhi Li
Applied Mechanics and Materials Submitted: 2014-08-05 ISSN: 1662-7482, Vols. 651-653, pp 1953-1957 Accepted: 2014-08-06 doi:10.4028/www.scientific.net/amm.651-653.1953 Online: 2014-09-30 2014 Trans Tech
More informationRealization of Automatic Keystone Correction for Smart mini Projector Projection Screen
Applied Mechanics and Materials Online: 2014-02-06 ISSN: 1662-7482, Vols. 519-520, pp 504-509 doi:10.4028/www.scientific.net/amm.519-520.504 2014 Trans Tech Publications, Switzerland Realization of Automatic
More informationProjektarbeit. Virtualisierung der NAG Bibliotheken
Projektarbeit Virtualisierung der NAG Bibliotheken Jianping Shen Sept. 2004 Betreuer: Prof. Dr. Paul Müller Dipl. Inform. Markus Hillenbrand Fachbereich Informatik AG Integrierte Kommunikationssysteme
More information1 Shyam sir JAVA Notes
1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write
More informationQuestion. 1 Features of Java.
QUESTIONS BANK (CP-II) No Question 1 Features of Java. QUESTIONS BANK (CP-II) ( Using java) QUESTIONS BANK (CP-II) or Java Features:- (1) Java Is Small and Simple Java is modeled after C and C++. The object-oriented
More informationRemote monitoring system based on C/S and B/S mixed mode Kaibing Song1, a, Yinsong Wang2,band Dandan Shang3,c
2nd International Conference on Electronics, Network and Computer Engineering (ICENCE 2016) Remote monitoring system based on C/S and B/S mixed mode Kaibing Song1, a, Yinsong Wang2,band Dandan Shang3,c
More informationDesign and Realization of Agricultural Information Intelligent Processing and Application Platform
Design and Realization of Agricultural Information Intelligent Processing and Application Platform Dan Wang 1,2 1 Institute of Agricultural Information, Chinese Academy of Agricultural Sciences, Beijing
More informationThe Design of Wireless Data Acquisition and Remote Transmission Interface in Micro-seismic Signals
Sensors & Transducers 2014 by IFSA Publishing, S. L. http://www.sensorsportal.com The Design of Wireless Data Acquisition and Remote Transmission Interface in Micro-seismic Signals Huan-Huan BIAN, Yu-Duo
More informationRemote Monitoring System of Ship Running State under Wireless Network
Journal of Shipping and Ocean Engineering 7 (2017) 181-185 doi 10.17265/2159-5879/2017.05.001 D DAVID PUBLISHING Remote Monitoring System of Ship Running State under Wireless Network LI Ning Department
More informationA Training Simulator for PD Detection Personnel
Journal of Power and Energy Engineering, 2014, 2, 573-578 Published Online April 2014 in SciRes. http://www.scirp.org/journal/jpee http://dx.doi.org/10.4236/jpee.2014.24077 A Training Simulator for PD
More informationIntroduction to Java. Lecture 1 COP 3252 Summer May 16, 2017
Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began
More information(C) Global Journal of Engineering Science and Research Management
ANDROID BASED SECURED PHOTO IDENTIFICATION SYSTEM USING DIGITAL WATERMARKING Prof.Abhijeet A.Chincholkar *1, Ms.Najuka B.Todekar 2, Ms.Sunita V.Ghai 3 *1 M.E. Digital Electronics, JCOET Yavatmal, India.
More informationStudy on Digitized Measuring Technique of Thrust Line for Rocket Nozzle
Study on Digitized Measuring Technique of Thrust Line for Rocket Nozzle Lijuan Li *, Jiaojiao Ren, Xin Yang, Yundong Zhu College of Opto-Electronic Engineering, Changchun University of Science and Technology,
More informationA web application serving queries on renewable energy sources and energy management topics database, built on JSP technology
International Workshop on Energy Performance and Environmental 1 A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology P.N. Christias
More informationINDEX. A SIMPLE JAVA PROGRAM Class Declaration The Main Line. The Line Contains Three Keywords The Output Line
A SIMPLE JAVA PROGRAM Class Declaration The Main Line INDEX The Line Contains Three Keywords The Output Line COMMENTS Single Line Comment Multiline Comment Documentation Comment TYPE CASTING Implicit Type
More informationMaster-Slave Node Method of Processing Plane Node SU Zhi-Gang 1,a, WANG Fei 1,b, LI Qing-Hua 1,c,SHANG Wei-Fang 2,d, ZHANG Zi-Fu 1,e
International Conference on Advances in Energy, Environment and Chemical Engineering (AEECE-2015) Master-Slave Node Method of Processing Plane Node SU Zhi-Gang 1,a, WANG Fei 1,b, LI Qing-Hua 1,c,SHANG
More informationA New Method Of VPN Based On LSP Technology
2nd Joint International Information Technology, Mechanical and Electronic Engineering Conference (JIMEC 2017) A New Method Of VPN Based On LSP Technology HaiJun Qing 1, 2 1, 2, ChaoXiang Liang, LiPing
More informationDesign and Application of the Visual Model Pool of Mechanical Parts based on Computer-Aided Technologies
Design and Application of the Visual Model Pool of Mechanical Parts based on Computer-Aided Technologies Xiaoying Dong, Xia Ye, Qinxian Jiang, Xianghua Zhang and Wei Bi School of Mechanical and Automobile
More informationProgramming. Syntax and Semantics
Programming For the next ten weeks you will learn basic programming principles There is much more to programming than knowing a programming language When programming you need to use a tool, in this case
More information1. Java is a... language. A. moderate typed B. strogly typed C. weakly typed D. none of these. Answer: B
1. Java is a... language. A. moderate typed B. strogly typed C. weakly typed D. none of these 2. How many primitive data types are there in Java? A. 5 B. 6 C. 7 D. 8 3. In Java byte, short, int and long
More informationTorque Sensor Data Acquisition System of Motor Test Bench. Based on LabVIEW
International Journal of Research in Engineering and Science (IJRES) ISSN (Online): 2320-9364, ISSN (Print): 2320-9356 Volume 4 Issue 6 ǁ June. 2016 ǁ PP. 01-06 Torque Sensor Data Acquisition System of
More informationComputer Life (CPL) ISSN: Research on the Construction of Network and Information Security. Architecture in Campus
Computer Life (CPL) ISSN: 1819-4818 DELIVERING QUALITY SCIENCE TO THE WORLD Research on the Construction of Network and Information Security Architecture in Campus Zhaoyong Zhou 1, a, Xiaoli Zhang 1, Yuan
More informationData Processing System to Network Supported Collaborative Design
Available online at www.sciencedirect.com Procedia Engineering 15 (2011) 3351 3355 Advanced in Control Engineering and Information Science Data Processing System to Network Supported Collaborative Design
More informationPage 1. Agenda. Programming Languages. C Compilation Process
EE 472 Embedded Systems Dr. Shwetak Patel Assistant Professor Computer Science & Engineering Electrical Engineering Agenda Announcements C programming intro + pointers Shwetak N. Patel - EE 472 2 Programming
More informationEMBEDDED SYSTEMS PROGRAMMING Android NDK
EMBEDDED SYSTEMS PROGRAMMING 2017-18 Android NDK WHAT IS THE NDK? The Android NDK is a set of cross-compilers, scripts and libraries that allows to embed native code into Android applications Native code
More informationResearch on Design and Application of Computer Database Quality Evaluation Model
Research on Design and Application of Computer Database Quality Evaluation Model Abstract Hong Li, Hui Ge Shihezi Radio and TV University, Shihezi 832000, China Computer data quality evaluation is the
More informationA Graphical Interface to Multi-tasking Programming Problems
A Graphical Interface to Multi-tasking Programming Problems Nitin Mehra 1 UNO P.O. Box 1403 New Orleans, LA 70148 and Ghasem S. Alijani 2 Graduate Studies Program in CIS Southern University at New Orleans
More informationInformation Push Service of University Library in Network and Information Age
2013 International Conference on Advances in Social Science, Humanities, and Management (ASSHM 2013) Information Push Service of University Library in Network and Information Age Song Deng 1 and Jun Wang
More informationA Decision Support System Based on SSH and DWR for the Retail Industry
A Decision Support System Based on SSH and DWR for the Retail Industry Chunyang Wang and Bo Yuan Division of Informatics, Graduate School at Shenzhen Tsinghua University Shenzhen 518055, P.R. China tsinglong@163.com,
More informationIntroduction to Java Programming
Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific
More informationAn Agricultural Tri-dimensional Pollution Data Management Platform Based on DNDC Model
An Agricultural Tri-dimensional Pollution Data Management Platform Based on DNDC Model Lihua Jiang 1,2, Wensheng Wang 1,2, Xiaorong Yang 1,2, Nengfu Xie 1,2, and Youping Cheng 3 1 Agriculture Information
More information