scholarly journals JINDY: A java library to support invokedynamic

2014 ◽  
Vol 11 (1) ◽  
pp. 47-68 ◽  
Author(s):  
Patricia Conde ◽  
Francisco Ortin

Java 7 has included the new invokedynamic opcode in the Java virtual machine. This new instruction allows the user to define method linkage at runtime. Once the link is established, the virtual machine performs its common optimizations, providing better runtime performance than reflection. However, this feature has not been offered at the abstraction level of the Java programming language. Since the functionality of the new opcode is not provided as a library, the existing languages in the Java platform can only use it at the assembly level. For this reason, we have developed the JINDY library that offers invokedynamic to any programming language in the Java platform. JINDY supports three modes of use, establishing a trade-off between runtime performance and flexibility. A runtime performance and memory consumption evaluation is presented. We analyze the efficiency of JINDY compared to reflection, the MethodHandle class in Java 7 and the Dynalink library. The memory and performance costs compared to the invokedynamic opcode are also measured.

Author(s):  
Stelios Sotiriadis ◽  
Oladotun Omosebi ◽  
Assem Ayapbergenova ◽  
Nurbek P. Saparkhojayev

This article aims to explore JNI features and to discover fundamental operations of the Java programming language, such as arrays, objects, classes, threads and exception handling, and to illustrate these by using various algorithms and code samples. The authors also investigate the JNI Invocation API that allows native applications to interact with the Java Virtual Machine (JVM). They focus on attaching native threads to a running JVM and on leveraging existing native code using one-to-one mapping and shared stubs.


2014 ◽  
Vol 513-517 ◽  
pp. 1477-1484
Author(s):  
Song Zhu Mei ◽  
Yong Cheng ◽  
Jiang Chun Ren ◽  
Zhi Ying Wang ◽  
Jun Ma ◽  
...  

Along with the developing of information technology, Java platform a plays more and more important role in building enterprise information system. Especially after the cloud computing emerged, Java applications are used as kinds of services to provide the users some function. Users use these services remotely, and the applications should give the users some trust evidence. Control-flow integrity endows the software the ability to show the applications' behaviors conform to the users' expectations. But the Java virtual machine's memory organization is different from physical machine and hinders the application of CFI. This paper gives out the a novel way to enforce the control flow integrity to the Java applications based on the memory organization of the Java virtual machine. The method presented in this paper can provide the user information about an applications behavior, and significantly improve the security of a Java application.


Author(s):  
Stergios Papadimitriou

JShellLab is an easy to use MATLAB-like environment for the Java Virtual Machine (JVM). It implements scientific scripting based on the JShell Application Programming Interface (API) of modern Java. The paper illustrates that JShellLab can significantly facilitate and simplify the development of complex computational demanding scientific software at the JVM. The novelty at the JShellLab is that it completely hides the complexity and the intricate dependencies of optimized scientific software. As an example, the demanded field of deep learning is exploited. Specifically, the implementation of effective practical deep learning-based systems using the JShellLab environment and the Deeplearning4j Java library is considered.


2021 ◽  
Vol 16 (Number 1) ◽  
pp. 25-37
Author(s):  
Noradila Nordin

This research aims to explore the effectiveness of learning Java programming language using online-based learning compared to traditional-based learning towards undergraduate students in Universiti Utara Malaysia (UUM). Similar types of learning materials in the form of slides, notes and books are used with additional forms of assessments to substitute the final exam. The main difference is in the learning approaches which have been switched to online based via various platforms depending on the suitability and preference of the students. This research focuses on identifying and analyzing certain aspects from the students’ perceptions, which are the students’ (1) learning preference; (2) learning engagement; (3) learning assessment, and in terms of their overall (4) satisfaction towards the learning process. This research uses a quantitative approach through the questionnaire as the survey instrument, involving 31 students. The data is analyzed using descriptive statistics (percentage frequency distribution, mean, and standard deviation). Findings show that despite using online-based learning, 48.39% obtained marks above 80% in Lab Test 2, which is doubled compared to the previous test, Lab Test 1, 25.81%. This indicates that while students prefer traditional-based learning, they are able to perform better through online-based learning.


2015 ◽  
Vol 24 (03) ◽  
pp. 1541001 ◽  
Author(s):  
Johannes Wettinger ◽  
Uwe Breitenbücher ◽  
Frank Leymann

Leading paradigms to develop, deploy, and operate applications such as continuous delivery, configuration management, and the merge of development and operations (DevOps) are the foundation for various techniques and tools to implement automated deployment. To make such applications available for users and customers, these approaches are typically used in conjunction with Cloud computing to automatically provision and manage underlying resources such as storage and virtual servers. A major class of these automation approaches follow the idea of converging toward a desired state of a resource (e.g. a middleware component deployed on a virtual machine). This is achieved by repeatedly executing idempotent scripts to reach the desired state. Because of major drawbacks of this approach, we discuss an alternative deployment automation approach based on compensation and fine-grained snapshots using container virtualization. We perform an evaluation comparing both approaches in terms of difficulties at design time and performance at runtime. Moreover, we discuss concepts, strategies, and implementations to effectively combine different deployment automation approaches.


Sign in / Sign up

Export Citation Format

Share Document