Academia.eduAcademia.edu

Java Language

description838 papers
group55 followers
lightbulbAbout this topic
Java Language is a high-level, object-oriented programming language developed by Sun Microsystems, designed for portability across platforms through the use of the Java Virtual Machine (JVM). It emphasizes code reusability, security, and robustness, making it widely used for building applications ranging from mobile devices to enterprise-level systems.
lightbulbAbout this topic
Java Language is a high-level, object-oriented programming language developed by Sun Microsystems, designed for portability across platforms through the use of the Java Virtual Machine (JVM). It emphasizes code reusability, security, and robustness, making it widely used for building applications ranging from mobile devices to enterprise-level systems.

Key research themes

1. How is Java adopting functional programming paradigms through lambda expressions and what are the challenges in API and developer ecosystem adaptation?

This research theme investigates the adoption and integration of functional programming features, primarily lambda expressions introduced in Java 8, within Java’s core and third-party APIs. It addresses how these new paradigms affect API design, developer practices, and ecosystem readiness. Understanding this transition elucidates the functional programming uptake within Java’s largely object-oriented ecosystem, the rationale behind adaptation decisions, and the practical implications for developers.

Key finding: This study provides empirical evidence that only 9 out of the top 50 popular Java APIs have adopted support for lambda expressions, indicating conservative tendencies of major APIs in upgrading to Java 8+. It categorizes... Read more

2. What are the effective educational approaches and tools for teaching Java programming, particularly object-oriented programming (OOP) and computational thinking at various learner levels?

This theme explores pedagogical strategies and tooling for Java programming education, with a focus on novices, primary school children, and students learning complex concepts such as OOP and computational thinking (CT). It includes the evaluation of programming environments, instructional sequencing, and visualization tools that impact learning performance, attitude, and conceptual understanding.

Key finding: The textbook advocates a foundational teaching approach beginning with procedural programming basics progressing towards object-oriented programming and advanced topics such as threads and GUIs. This staged approach contrasts... Read more
Key finding: The study uniquely investigates primary school children’s ability to learn Java, a text-based language usually taught at university level, employing a bespoke Story-Writing-Coding environment to facilitate engagement.... Read more
Key finding: This experimental research demonstrates that the use of the Jeliot3 program visualization tool significantly improves short-term student performance in object-oriented Java programming, yielding higher scores compared to... Read more

3. How are Java Virtual Machine (JVM) implementations, tools, and infrastructure evolving to optimize performance, interoperability, and heterogeneous computing?

This research area focuses on the technical evolution of JVM internals, build processes, and runtime frameworks to enhance bytecode execution performance, enable interoperability across multiple languages, and integrate heterogeneous hardware acceleration. It addresses optimization challenges in compilation toolchains, explores cross-language code portability, and evaluates the applicability of Java in high-performance and embedded contexts like space missions.

Key finding: By benchmarking six OpenJDK versions and varying GNU GCC compiler releases (5.5.0 to 10.3.0), this paper reveals that compiler choice and build toolchain integration materially influence JVM interpreter performance across... Read more
Key finding: Examining TornadoVM's heterogeneous code generation on JVM, this work identifies core challenges impeding cross-language portability caused by JVM memory management and device heap limitations. The authors propose a... Read more
Key finding: Analyzing Java RTSJ implementations in space mission embedded systems, the study highlights the applicability of Java for real-time control in robotic explorers under constraints like memory management via non-heap memory... Read more

All papers in Java Language

Gostaria de agradecer a todos os que, de uma forma direta ou indireta, contribuiram para que fosse possível atingir o final desta minha caminhada. Em primeiro lugar não posso deixar de prestar o meu profundo agradecimento ao Professor... more
Traditionally, parallel programs have been developed in Fortran and C. However, the extraordinary success of the Java language has raised an impressive hype among the community of software programmers, in such a way that it seems quite... more
Grid portals provide the scientific community with familiar and simplified interfaces to the Grid and Grid services, and it is important to deploy grid portals onto the SciDAC grids and collaboratories. The goal of this project is the... more
This study proposes a multi-pass compiler with code optimized abstract syntax tree based on a subset of C# as the source and C constructs as the target, with the view to enhancing the understanding of compiler design, which conceptually... more
We propose a method which allows us to develop tableaux modulo theories using the principles of superdeduction, among which the theory is used to enrich the deduction system with new deduction rules. This method is presented in the... more
We propose a formal and mechanized framework which consists in verifying proof rules of the B method, which cannot be automatically proved by the elementary prover of Atelier B and using an external automated theorem prover called Zenon.... more
Data mining deals with the discovery of hidden knowledge, unexpected patterns and new rules from large database, Basically it is concerned with the analysis of data and the use of software techniques for finding patterns in sets... more
Canica is an integrated development environment for the Java Modeling Language (JML), a formal behavioral interface specification language for Java. The JML distribution includes several support tools, such as a syntax checker, a... more
This paper presents Java language from an object-oriented software construction perspective. It explains the implications of banning generics and multiple inheritance of classes, and explores the patterns and the idioms used by the Java... more
Code coverage information is widely used to address problems in software development and maintenance phase. Software undergoes changes at all stages of the software development process and in maintenance life cycle. As subsequent versions... more
10 r vg { gt vg $z e{ eg F{ ¥ £p sr vg 0 32 0 w e vg f Fg { gt w )x f F vx yr v| ¶t | £x y{ e{ eg ¥ £¥ ¤g 0 st 10 g $z s¹ r vp sr t d f Fg r 6g f $ª ¼ gz 40 r 65 vg qr vr vx z e w )g qr ¸¥ ¤| £f F| £t 70 g qr ¬ 8 92 { ¥ £p sr vg e 10 r vg... more
Decompiling is often used in conjunction with recovering lost source code, or in reverse-engineering code when we do not have access to the source. Here we describe a novel use: places where accurate position reporting, even in the... more
GPSS has been used for years to teach simulation. Different tools following the GPSS syntax exist. Usually these tools can be used to construct simulation models helping in the teaching of simulation. However no available framework is... more
Dynamic networks-spontaneous, self-organizing groups of devices-are a promising new computing platform. Writing applications for such networks is a daunting task, however, due to their extreme variability and unpredictability, with many... more
La ciudad de Guayaquil, Ecuador, es conocida sobre todo por su aspecto comercial, por encima del turístico. De hecho, arquitectónicamente hablando y salvo ciertas estructuras, la ciudad no destaca por poseer un centro histórico... more
The power of languages is rooted in composition. An infinite number of sentences can be composed from a finite set of generative rules. The more uniformly the rules apply, the more valid compositions there are. Hence simpler rules give... more
We present GJ, a design that extends the Java programming language with generic types and methods. These are both explained and implemented by translation into the unextended language. The translation closely mimics the way generics are... more
We describe the use and implementation of mixins in the Animorphic Smalltalk system, a high performance Smalltalk virtual machine and programming environment. Mixins are the basic unit of implementation, and are directly supported by the... more
A novel approach to the runtime visualization and analysis of object-oriented programs is presented and illustrated through a prototype system called JIVE: J ava I nteractive V isualization E nvironment. The main contributions of JIVE... more
The subject of my Master Thesis in Computer Science has been to write a compiler which implements the OpenMP specification for C, and generates C code using POSIX threads (a.k.a. pthreads) to implement the parallelism. I first approached... more
We describe an extension to the Java language, Handi-Wrap, that supports weaving aspects into code at runtime. Aspects in Handi-Wrap take the form of method wrappers, which allow aspect code to be inserted around method bodies like advice... more
Teaching a new programming language in CS1 requires the instructor to make several important decisions regarding sequencing of topics. In teaching Java, the basic decisions center around how to perform input and output, when to teach the... more
We propose a Globally Asynchronous Locally Synchronous language DSystemJ for designing dynamic distributed systems. DSystemJ, an extension of the reactive asynchronous SystemJ language, enhances it with dynamic creation and process... more
The lack of direct support for multidimensional arrays in Java TM has been recognized as a major deficiency in the language's applicability to numerical computing. The typical approach to adding multidimensional arrays to Java has been... more
One glaring weakness of Java for numerical programming is its lack of support for complex numbers. Simply creating a Complex number class leads to poor performance relative to Fortran. We show in this paper, however, that the combination... more
This paper presents an object oriented framework for task scheduling. This framework can be used in domains such as Process-centred Software Engineering Environments, Workflow Management Systems or Project Management Systems. The... more
MPJ Express is a thread-safe Java messaging library that provides a full implementation of the mpiJava 1.2 API specification. This specification defines a MPI-like bindings for the Java language. We have implemented two communication... more
Successful programming languages change as they age. They tend to become more complex, and eventually some features become outdated or are rarely used. Programming tools for these languages become more complex as well, since they have to... more
This dissertation is concerned with efficient compilation of our Java-based, highperformance, library-oriented, SPMD style, data parallel programming language: HPJava.
-Muitos alunos apresentam dificuldades na compreensão e desenvolvimento de algoritmos. Para tentar ajudar esses alunos foi criado o ambiente SICAS, um ambiente de trabalho individual baseado na animação e simulação de algoritmos. Neste... more
Key management comprises a set of methods to support aspects related to keys in cryptographic purposes. Important features related to key management are: generation, distribution, backup, and storage of the keys involved in secure... more
In this paper we review the essence of the Grid-Idea. Specifically, we explore the changing definition of the Grid and follow its evolution over the past decade. This evolution is motivated by the gradual expansion of management issues... more
Many scientific simulations and experiments require the coordination of numerous tasks posed by interdisciplinary research teams. Grids can provide access to the necessary high-end resources to conduct such tasks. The complex tasks and... more
A~tract-The current development of the World Wide Web (W3), the globally interlinked hypermedia network of text, pictures and images, presents unique opportunities for education. The distributed nature of the W3, and the ease with which... more
Due to the successful development of the Internet, the course of distributed systems has received great attention by many universities and colleges in their computer science curricula. A comprehensive distributed system course involves... more
This article describes the transposition of cartographic concepts to virtual reality (VR) applications. Versions of cartographic maps can be created by using Generalization. These versions can be implemented for VR applications using... more
This paper describes Janet package-highly expressive Java language extension that enables convenient creation of powerful native methods and efficient Java-to-native code interfaces. Java native interface (JNI) is a low-level API that is... more
Java is growing in appropriateness and usability for high performance computing. With this increasing adoption, issues relating to combining Java with existing codes in other languages become more important. The Java Native Interface... more
This paper describes Janet package-highly expressive Java language extension that enables convenient creation of powerful native methods and efficient Java-to-native code interfaces. Java native interface (JNI) is a low-level API that is... more
The main goal of the research proposed in this document is to reduce the cost of developing and maintaining large software applications. Our approach augments existing object-oriented languages with a small number of domain-independent... more
In object-oriented languages, aspects can be defined by generalizing the idea of a class to that of a mixin. Mixins, which can be implemented as generic types, become aspects when they contain code for multiple classes. In this chapter,... more
In this paper we present StarFish, a highly-available geographically-dispersed block storage system built from commodity servers running FreeBSD, which are connected by standard high-speed IP networking gear. StarFish achieves high... more
Este trabalho apresenta a descrição do projeto de um conjunto de ferramentas que se aplica às tarefas de gerenciamento de materiais didáticos apresentados no ambiente WWW. A proposta deste trabalho está centrada no desenvolvimento de... more
En las ciudades de América Latina las desigualdades urbanas se sostienen por el sistema económico, el Estado y la sociedad civil. Si comprendemos el urbanismo como el diseño, la construcción, el uso y la gestión del espacio urbano, es... more
In this paper we present some experiences with the use of the conjugate gradient and GMRES iterative methods for the solution of large sparse systems of equations as recently implemented in ADINA and ADINA-F for structural and fluid flow... more
Download research papers for free!