Hardware support for atomic execution can both greatly simplify the implementation of existing speculative compiler optimizations and enable new ones. Given current technology trends, this hardware and software cooper...
详细信息
Hardware support for atomic execution can both greatly simplify the implementation of existing speculative compiler optimizations and enable new ones. Given current technology trends, this hardware and software cooperation is a compelling approach such optimizations can simultaneously improve single-thread performance and reduce power consumption in both sequential and multithreadedapplications.
The javalanguage and platform provide a base for distributed computing that changes several conventional assumptions. In particular, the java Virtual Machine allows a group of java-enabled machines to be treated as a...
详细信息
The javalanguage and platform provide a base for distributed computing that changes several conventional assumptions. In particular, the java Virtual Machine allows a group of java-enabled machines to be treated as a homogeneous group rather than a heterogeneous group, despite possible differences in the machine architectures and underlying operating systems. java also makes it possible to safely and dynamically load code in a running java process. Together, these features allow a system to invoke methods on remote objects, which can move code associated with language-level objects from the calling process to the process called and vice versa. Combining these qualities with a language-centric design not only significantly simplifies traditional RPC systems, it adds functionality that was previously not possible. We designed java Remote Method Invocation (RMI) to support pure-java distributed objects in a seamless manner. RMI allows calls to be made between java objects in different virtual machines, even on different physical machines.
A prototype persistence system based on the nitrO reflective system demonstrates that computational reflection is a suitable technique for dynamically and transparently adapting any application's persistence attri...
详细信息
A prototype persistence system based on the nitrO reflective system demonstrates that computational reflection is a suitable technique for dynamically and transparently adapting any application's persistence attributes, following the separation-of-concerns principle. Because computational reflection offers the runtime customization of language semantics, it lets developers combine programminglanguage and database management systems into a single computational model.
The last issue''s installment of this department presented an overview of xmland its potential for computational science. In this issue, we''ll explore what you need to do toincorporate XML directly in...
详细信息
The last issue''s installment of this department presented an overview of xmland its potential for computational science. In this issue, we''ll explore what you need to do toincorporate XML directly into your application. Our exploration involves the use of a standardparser to automatically build object trees entirely from application-specific classes. Thisdiscussion very much focuses on object-oriented programminglanguages such as java and Python, butit can work for non-object-oriented languages as well. The ideas in this article provide a glimpseinto our Natural XML research project. All the code examples in this article appear in full athttp://***/projects/cise/ code/march_april_2004.
In java, an interface specifies public abstract methods and associated public constants. Conformance of a class to an interface is by name. We propose to allow structural conformance to interfaces: any class or interf...
详细信息
In java, an interface specifies public abstract methods and associated public constants. Conformance of a class to an interface is by name. We propose to allow structural conformance to interfaces: any class or interface that declares or implements each method in a target interface conforms structurally to the interface, and any expression of the source class or interface type can be used where a value of the target interface type is expected. We argue that structural conformance results in a major gain in flexibility in situations that require retroactive abstraction over types. Structural conformance requires no additional syntax and only small modifications to the java compiler and optionally, for performance reasons, the virtual machine, resulting in a minor performance penalty. Our extension is type-safe: a cast-free program that compiles without errors will not have any type errors at run time. Our extension is conservative: existing java programs still compile and run in the same manner as under the original language definition. Finally, structural conformance works well with recent extensions such as java remote method invocation. We have implemented our extension of java with structural interface conformance by modifying the java Developers Kit 1.1.5 source release for Solaris and Windows 95/NT. We have also created a test suite for the extension.
This paper investigates the possibility of using java as a language for digital signal processing We compare the performance of the fast Fourier transform using java interpreters, compilers, and native execution. To c...
详细信息
This paper investigates the possibility of using java as a language for digital signal processing We compare the performance of the fast Fourier transform using java interpreters, compilers, and native execution. To characterize the javalanguage as a platform for signal processing, we have implemented a traditional FFT algorithm in both C and java and compared their relative performances. Additionally, we have developed a Tensor algebra FFT library in both Matlab and java. Each of the Tensor libraries has been coded to exploit the characteristics of the source language, Our results indicate that the latest Sun Solaris 2.6 java platform can provide performance within 20% to 60% of optimized C code on short FFT computations. On longer FFT computations, java is about a factor of 2 to 3 times less efficient than optimized C code. We expect this gap to narrow with better compiler technology and direct execution on java processors such as the DELFT-java multithreaded processor. (C) 1998 John Wiley & Sons, Ltd.
This paper discusses how the aspects unique to the java programming language can be combined with complementary and unique aspects of other languages such as C and Fortran, This combining of the strong features of Jav...
详细信息
This paper discusses how the aspects unique to the java programming language can be combined with complementary and unique aspects of other languages such as C and Fortran, This combining of the strong features of java, such as portability and platform independence, with packages and legacy codes written in traditional languages such as C and Fortran results in a program blend which exhibits portability and speed not realizable by arty of these languages individually. One area where this confluence of previously disparate language features has strong potential is in the area of distributed, concurrent computing over heterogeneous platforms and across local network and filesystem boundaries - the setting addressed within this paper. Also addressed in this paper are the pivotal aspects of the java bytecode representation of a class object which makes the porting of shared libraries across network boundaries, filesystems, and architectures possible. (C) 1998 John Wiley & Sons, Ltd.
We have introduced a formal model (high-level operational machine) of asequential java-like program in the style of abstract state machines. An algebraic model of anobject class of an object-oriented programming langu...
详细信息
We have introduced a formal model (high-level operational machine) of asequential java-like program in the style of abstract state machines. An algebraic model of anobject class of an object-oriented programminglanguage has been elaborated with this aim. As aresult, the denotational semantics of the basic class components (fields, constructors, and methods)has been defined for the subsequent use for interpreting expressions and statements. This is thedenotational part of the approach suggested. The transition of our machine from one state to anotheris the operational part of the approach. The use of the formal operational machine made it possibleto get a high level of abstraction, which cannot be obtained in a pure operational approach, andsimplicity of mapping, which cannot be obtained in a pure denotational approach based on the use ofsome universal mathematical structures as denotations. Each object in our machine possesses a stateand a unique identity. An object identity is represented by a reference that is an element of aspecial reference sort. The state is represented by a number of instance variables, whose values canbe updated. These variables are naturally defined in the model as functions on the sets ofreferences undefined on the value null. The object state can be observed or updated by a method thatis a state-dependent function. The result of an updating method is an update set, which is awell-defined mathematical structure. Therefore, the semantics of such a method is given by a set offunctions producing update sets. The state is an implicit parameter for all method declarations andan implicit result for state updating methods, like in java and other object-oriented pro- gramminglanguages. This also allowed us to make the declaration methods similar to their declarations injava-like languages. We have shown that our model supports all important aspects of java-likelanguages, namely, inheritance, overloading, overriding, and late binding. Because of la
The advantages of a separate undergraduate course emphasizing computer simulations are discussed. Also discussed are the advantages of java and the timeliness of integrating aspects of computational physics into the u...
详细信息
The advantages of a separate undergraduate course emphasizing computer simulations are discussed. Also discussed are the advantages of java and the timeliness of integrating aspects of computational physics into the undergraduate curriculum so that the curriculum reflects the way physics is currently done. (C) 2000 Elsevier Science B.V. All rights reserved.
As a consultant, I\'ve worked with many different programminglanguages over the years. However, I don\'t think I\'ve ever found a language I liked as well as C (and, by extension, C++). However, while I p...
详细信息
As a consultant, I\'ve worked with many different programminglanguages over the years. However, I don\'t think I\'ve ever found a language I liked as well as C (and, by extension, C++). However, while I prefer C++, I still see features in other languages that I wish were in C++. Another language I frequently use is java. Nevertheless, most of the things I like about java have nothing to do with the language itself. I do like java\'s library and several of its ancillary tools, and one of my favorites is the javadoc tool. This program snatches comments from source code and automatically generates HTML documentation. Since I write lots of libraries for other developers, this is a great convenience. With javadoc, you can generate collateral documentation from comments in yur code with almost no extra effort.
暂无评论