Catalogue Search | MBRL
Search Results Heading
Explore the vast range of titles available.
MBRLSearchResults
-
DisciplineDiscipline
-
Is Peer ReviewedIs Peer Reviewed
-
Reading LevelReading Level
-
Content TypeContent Type
-
YearFrom:-To:
-
More FiltersMore FiltersItem TypeIs Full-Text AvailableSubjectPublisherSourceDonorLanguagePlace of PublicationContributorsLocation
Done
Filters
Reset
62
result(s) for
"Java virtual machine."
Sort by:
Clojure programming
\"Clojure programming ... This functional programming language not only lets you take advantage of Java libraries, services, and other JVM resources, it rivals other dynamic languages such as Ruby and Python. With this comprehensive guide, you'll learn Clojure fundamentals with examples that relate it to languages you already know\"--P. [4] of cover.
Remote Method Delegation: a Platform for Grid Computing
2020
While many cluster and grid computing frameworks are available, the task of building secure distributed systems or implementing distributed algorithms continue to be a challenging task due to the inherent distributed nature of such systems with multiple failure modes and security issues. In this paper, we present the design and development of remote method delegation (RMD), which is a secure lightweight grid computing platform with load balancing and code migration. RMD is focused on improving the usability issues that plague related industry solutions. The platform is implemented on the JVM (Java Virtual Machine) and supports the Java and Kotlin programming languages, however, the platform should theoretically work with other JVM languages. RMD was designed to simplify the implementation of distributed algorithms by providing a Kotlin DSL (domain specific language) that allows the programmer to define jobs within dedicated code blocks. Users from around the world can donate their own computing resources by hosting their own job server. RMD is secured by placing all untrusted code within a sandbox environment that prevents potentially malicious actions from taking place. To demonstrate the feasibility of the proposed model, a proof of concept implementation has been constructed with real examples demonstrating the usefulness of the proposed solution.
Journal Article
Evaluating the Java Native Interface (JNI): Leveraging Existing Native Code, Libraries and Threads to a Running Java Virtual Machine
by
Ayapbergenova, Assem
,
Sotiriadis, Stelios
,
Saparkhojayev, Nurbek P
in
Algorithms
,
Compilers
,
Computer science
2018
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.
Journal Article
Evaluating the Java Native Interface (JNI): Data Types and Strings
by
Ayapbergenova, Assem
,
Sotiriadis, Stelios
,
Saparkhojayev, Nurbek P
in
Algorithms
,
C plus plus
,
Disruptive innovation
2018
This article describes how the java native interface (JNI) is a powerful feature of the java platform that started to draw attention in the latter years as an efficient programming framework for building and delivering innovative technological applications based on disruptive technologies such as mobile, Internet of Things and embedded systems. Developers use it to incorporate native code written in programming languages such as C, C++, python etc., into java. JNI is particularly useful when java applications need to access existing native libraries or code blocks written in other languages to increase performance, avoid recoding and expand interoperability between programming languages for processes that reside in the same process. 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.
Journal Article
TCFI4J: A Trust Enhanced Control Flow Integrity in Java Virtual Machine
by
Wang, Zhi Ying
,
Ren, Jiang Chun
,
Wu, Jiang Jiang
in
Computer information security
,
Construction
,
Information systems
2014
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.
Journal Article
A study of the correctness of the execution of a class file with an embedded digital watermark in different environments
by
Krasov, A V
,
Sharikov, P I
,
Volkogonov, V N
in
Digital watermarking
,
Digital watermarks
,
Embedding
2020
In this work, the authors set a goal of carrying out a complex study. Preparation of different types of environments and operating systems of different bit version is made. After that, preparation, creation, and embedding of a digital watermark in a class file of the program module written in Java take place. Creation and embedding of a digital watermark are carried out according to the method, previously developed by the authors and associated with the use of undocumented features of Java virtual machine. After all the steps, we execute the file on various platforms with different presets, and then we check if a digital watermark in a class file is nor overwritten nor destroyed and if the class file itself functions in the same way on all platforms. Among other things, the checks are performed to ensure that the digital watermark meets the previously defined criteria.
Journal Article
Accidental Choices—How JVM Choice and Associated Build Tools Affect Interpreter Performance
by
Lambert, Jonathan
,
Monahan, Rosemary
,
Casey, Kevin
in
Benchmarks
,
Compilers
,
GNU GCC compiler collection
2022
Considering the large number of optimisation techniques that have been integrated into the design of the Java Virtual Machine (JVM) over the last three decades, the Java interpreter continues to persist as a significant bottleneck in the performance of bytecode execution. This paper examines the relationship between Java Runtime Environment (JRE) performance concerning the interpreted execution of Java bytecode and the effect modern compiler selection and integration within the JRE build toolchain has on that performance. We undertook this evaluation relative to a contemporary benchmark suite of application workloads, the Renaissance Benchmark Suite. Our results show that the choice of GNU GCC compiler version used within the JRE build toolchain statistically significantly affects runtime performance. More importantly, not all OpenJDK releases and JRE JVM interpreters are equal. Our results show that OpenJDK JVM interpreter performance is associated with benchmark workload. In addition, in some cases, rolling back to an earlier OpenJDK version and using a more recent GNU GCC compiler within the build toolchain of the JRE can significantly positively impact JRE performance.
Journal Article
Eliminating object reference checks by escape analysis on real-time Java virtual machine
by
Shi, Xiaohua
,
Wang, Wenru
,
Feng, Wei
in
Algorithms
,
Compilers
,
Computer Communication Networks
2019
The real-time specification for Java (RTSJ) makes Java to be a real-time programming language. However, the RTSJ’s memory management system is more complicated than J2SE’s. The assignment rules of RTSJ, which prevent the creation of dangling references, must be checked by real-time Java virtual machines (JVMs) at run-time. These frequent run-time object reference checks introduce significant time overheads and unpredictable execution time, which has great impact on real-time systems. This paper presents an equivalence class based, context sensitive and flow insensitive escape analysis algorithm that effectively eliminates unnecessary run-time reference checkpoints of RTSJ programs. The optimization framework has been implemented in an open-source real-time JVM namely jRate and evaluated by CD
x
, a relative authority real-time Java benchmark suite. The results show that this optimization algorithm eliminates more than 90% static reference checkpoints, removes about 50% run-time reference checkpoints on average , and improves the run-time performance of average 3.13%, max 8.93%.
Journal Article
Optimization Techniques for a Distributed In-Memory Computing Platform by Leveraging SSD
2021
In this paper, we present several optimization strategies that can improve the overall performance of the distributed in-memory computing system, “Apache Spark”. Despite its distributed memory management capability for iterative jobs and intermediate data, Spark has a significant performance degradation problem when the available amount of main memory (DRAM, typically used for data caching) is limited. To address this problem, we leverage an SSD (solid-state drive) to supplement the lack of main memory bandwidth. Specifically, we present an effective optimization methodology for Apache Spark by collectively investigating the effects of changing the capacity fraction ratios of the shuffle and storage spaces in the “Spark JVM Heap Configuration” and applying different “RDD Caching Policies” (e.g., SSD-backed memory caching). Our extensive experimental results show that by utilizing the proposed optimization techniques, we can improve the overall performance by up to 42%.
Journal Article