java for high performance and distributed computing- Mbarker

java for high performance and distributed computing-...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Java for High Performance and Distributed Computing Mark A. Baker, Aamir Shafi, and Matthew Grove University of Reading, UK {[email protected]} Abstract The Java language first came to public attention in 1995; very soon after it was being speculated that Java may be a good language for parallel and distributed computing. Its core features, including being objected oriented and platform independence, as well as having built-in network support and threads, has encouraged this view. Today, Java is being used in almost every type of computer-based system, ranging from sensor networks to high performance computing platforms, and from enterprise applications through to complex research-based simulations. In this paper we first explore the pros and cons of Java for High Performance and Distributed Computing. Then we outline some software that is actively being used to support high-performance and distributed applications. 1. Introduction Java [1] is a modern, object-oriented language based on open, public standards. Objects allow a degree of modularity, which makes them easier to understand and maintain, also the paradigm makes it possible to distribute code with a consistent, public API, while keeping the implementation details private. The core Java API is extensive and includes standard packages for threads, sockets, Internet access, security, graphics, sound, and other useful functions. This means, for example, that Java programs which use these standard packages, can execute unchanged on heterogeneous platforms. 1.1 The Pros and Cons of Java The Advantages of Java One of the reasons that Java has been taken up so rapidly is it overall simplicity. No programming language is particularly simple, but Java is considered a simple and easy to use object-oriented language when compared to other popular languages, such as C++ or C. Partially modelled on C++, Java has replaced the complexity of multiple inheritance with a structure called an interface, and also has eliminated the use of pointers, which removes the possibilities of a multitude of errors. In Java, memory management is automatic, and many errors, such as buffer overflows, and stray pointers are impossible. Another reason why Java is considered simpler than C++ is because Java uses automatic memory allocation and garbage collection, whereas C++ requires the programmer to allocate memory and reclaim memory. Java is considered more reliable, as it has integrated exception handling, which deals with error conditions systematically and forces the programmer to take the necessary action to handle errors. Exception handlers can be written to catch a specific exception such as number format exception, or an entire group of exceptions by using a generic exception handler. Any exception not specifically handled within a Java program are caught by the Java run time environment itself. C has essentially no runtime error checking and memory allocation/retrieval is manual Java has a mature security model, which has been
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 10

java for high performance and distributed computing-...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online