This paper presents a new static type system for multi-threaded programs;any well-typed program in our system is free of data races. Our type system is significantly more expressive than previous such type systems. In...
详细信息
This paper presents a new static type system for multi-threaded programs;any well-typed program in our system is free of data races. Our type system is significantly more expressive than previous such type systems. In particular, our system lets programmers write generic code to implement a class, then create different objects of the same class that have different protection mechanisms. This flexibility enables programmers to reduce the number of unnecessary synchronization operations in a program without risking data races. We also support default types which reduce the burden of writing the extra type annotations. Our experience indicates that our system provides a promising approach to make multithreaded programs more reliable and efficient.
This article introduces AJACS (Another java Constraint programming System), a toolkit for Concurrent Constraint programming implemented in the javalanguage. It comes as a successor to our previous work in implementin...
详细信息
The typical implementations for parametric polymorphism in object oriented programminglanguages are space consuming, in that new binary code is created as new instantiations of parametric types are used. Recently, it...
详细信息
A problem that often has to be solved by compilers for functional languages targeting the java Virtual Machine is the elimination of tail calls. This paper explains how we solved it in our Funnel compiler and presents...
详细信息
We present HalfToner, an educational tool for comparing the result of applying halftoning algorithms to gray scale images. This tool alows a visual comparison of techniques and the effect their parameters have on the ...
详细信息
Proprietary de facto standards are seldom formalized. This paper examines a case, the java(tm) Technology of Sun Microsystems, where this was attempted. Sun approached the ISO/IEC JTC1 standards body and later the ECM...
详细信息
Proprietary de facto standards are seldom formalized. This paper examines a case, the java(tm) Technology of Sun Microsystems, where this was attempted. Sun approached the ISO/IEC JTC1 standards body and later the ECMA standards consortium to formalize java. It withdrew both times· In this paper, I examine what motivated Sun's actions. A conceptual framework is applied that distinguishes two levels of coordination in standardization: 'technology-oriented compatibility control' and 'orchestration of market orientation'. Sun's actions addressed both levels. It initially used standardization to focus attention on java(tm) and increase confidence in an open, stable java specification process. But it turned to proprietary 'compatibility control' in reaction to standards politics and developments in the market.
The proceedings contains 23 papers from the ACM 2001 java Grande/ISCOPE Conference. Topics discussed include: object-based collective communication in java;supporting dynamic parallel object arrays;core semantics of m...
详细信息
ISBN:
(纸本)1581133596
The proceedings contains 23 papers from the ACM 2001 java Grande/ISCOPE Conference. Topics discussed include: object-based collective communication in java;supporting dynamic parallel object arrays;core semantics of multithreaded java;a scalable, robust network for parallel computing and integration and application of the TAU performance system in parallel java environments.
This paper discusses the motivation for a simple package designed to incorporate user interactivity into a first course in computer science. The package enables novice programmers to build programs with GUI-like inter...
详细信息
ISBN:
(纸本)1581133294
This paper discusses the motivation for a simple package designed to incorporate user interactivity into a first course in computer science. The package enables novice programmers to build programs with GUI-like interactivity while maintaining good design principles. An advantage of this package is that it is easy to implement using the Swing class. Therefore, it can be used as a case study to illustrate java features.
Single superclass inheritance enables simple and efficient table-driven virtual method dispatch. However, virtual method table dispatch does not handle multiple inheritance and interfaces, This complication has led to...
详细信息
Single superclass inheritance enables simple and efficient table-driven virtual method dispatch. However, virtual method table dispatch does not handle multiple inheritance and interfaces, This complication has led to a widespread misimpression that interface method dispatch is inherently inefficient. This paper argues that with proper implementation techniques, java interfaces need not be a source of significant performance degradation. We present an efficient interface method dispatch mechanism, associating a fixed-sized interface method table (IMT) with each class that implements an interface. Interface method signatures hash to an IMT slot, with any hashing collisions handled by custom-generated conflict resolution stubs. The dispatch mechanism is efficient in both time and space. Furthermore, with static analysis and online profile data, an optimizing compiler can inline the dominant target(s) of any frequently executed interface call. Micro-benchmark results demonstrate that the expected cost of an interface method call dispatched via an IMT is comparable to the cost of a virtual method call. Experimental evaluation of a number of interface dispatch mechanisms on a suite of larger applications demonstrates that, even for applications that make only moderate use of interface methods, the choice of interface dispatching mechanism can significantly impact overall performance. Fortunately, several mechanisms provide good performance at a modest space cost.
The connection of Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP) allows java developers to create portable, graphical, networked applications for a variety of PDAs and mobil...
详细信息
The connection of Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP) allows java developers to create portable, graphical, networked applications for a variety of PDAs and mobile phones. Nonetheless, this portability has not completely eliminated the need for many of the elements of traditional cross-development, including library management, remote debugging, and usability testing.
暂无评论