The San Francisco(TM) project establishes a new paradigm for building business applications. The product, targeted for independent software vendors (ISVs), provides a distributed object infrastructure (foundation), co...
详细信息
The San Francisco(TM) project establishes a new paradigm for building business applications. The product, targeted for independent software vendors (ISVs), provides a distributed object infrastructure (foundation), common business objects (CBOs), and business process components (BPCs). Together, they provide a platform-independent business application foundation, ready for extension by ISVs to produce end-customer, business-critical applications. The San Francisco project is written almost entirely in java(TM) and to our knowledge is currently the largest java development effort in the world. This paper provides an overview of the San Francisco project, with emphasis on the java considerations of the product's development, the lessons learned, and our recommendations for future javalanguage maturity.
Combining a flexible data model and distributed objects, they support the sharing of data, visualizations, and user interfaces among multiple data sources, computers, and scientific disciplines.
Combining a flexible data model and distributed objects, they support the sharing of data, visualizations, and user interfaces among multiple data sources, computers, and scientific disciplines.
java is often accused of being too slow for serious programming, especially for scientific problem solving. However, we found that for a large-scale geophysical application, java code compiled with current just-in-tim...
详细信息
java is often accused of being too slow for serious programming, especially for scientific problem solving. However, we found that for a large-scale geophysical application, java code compiled with current just-in-time compilers runs slower than Fortran by a factor of at most 4, on both a shared-memory parallel machine (SGI Origin2000) and a distributed-memory parallel machine (IBM SP/2). The moderate slowdown is easily offset by the following advantages: (a) object-oriented java code is easier to maintain and reuse than Fortran code;(b) java code is fully portable, even among parallel computers with different memory models. Furthermore, better compiler technology Is an the horizon, which will narrow the performance gap even more. (C) 1998 John Whey & Sons, Ltd.
Multiple inheritance is a feature whose worth has been vigorously debated, and even now there is no agreement as to whether a language should include it. java does not have multiple inheritance, but its designers clai...
详细信息
Multiple inheritance is a feature whose worth has been vigorously debated, and even now there is no agreement as to whether a language should include it. java does not have multiple inheritance, but its designers claim that many of the benefits of multiple inheritance can be gained through the use of a new feature, the interface. In this paper we explore the claims of the java designers, and show how the interface may be used to simulate multiple inheritance. We first discuss the benefits of inheritance and multiple inheritance, and then demonstrate how the need for them arises in program development, using an extended example based on a real application. We then present the technique for simulating multiple inheritance, showing how it allows the main benefits of multiple inheritance to be achieved in java. Finally, we discuss the limitations of the approach. In particular, we show how the approach faces difficulties when used with class libraries, such as the java Core API, and we suggest a convention for java class library designers that will mitigate this problem. (C) 2000 Elsevier Science Inc. All rights reserved.
The paper describes a distributed brute-force attack on RC5 cipher using java applets. It introduces a novel model for long-term parallel computing based on the abstraction of solvers with limited lifetime, The associ...
详细信息
The paper describes a distributed brute-force attack on RC5 cipher using java applets. It introduces a novel model for long-term parallel computing based on the abstraction of solvers with limited lifetime, The associated problems and scheduling policy are discussed. The paper comments on the inherent performance problems of the java Virtual Machine and presents performance measurements of the cipher breaking applet for several computing platforms. (C) 1998 John Whey & Sons, Ltd.
The distinct feature of data acquisition for magnetic resonance imaging (MRI) is that the data are sampled in frequency domain instead of spatial domain. Therefore, the acquired data must be inverse Fourier transforme...
详细信息
The distinct feature of data acquisition for magnetic resonance imaging (MRI) is that the data are sampled in frequency domain instead of spatial domain. Therefore, the acquired data must be inverse Fourier transformed to generate images. To apply fast Fourier transform (FFT), the data are usually acquired on rectilinear grids. However, acquiring data on rectilinear grids is not very efficient in MRI. A spiral trajectory, which starts at the origin of the frequency domain and spins out to higher spatial frequency is more efficient and faster than the conventional method. Since the spiral trajectories do not sample on rectilinear grids, raw data must be re-interpolated onto rectilinear grids prior to inverse FFT. This re-gridding process is done using a reconstruction program. When the platforms to run the program grow, the efforts required to maintain the program become prohibitive. This problem can be solved through the platform-independent java programming language. In this paper, we report on our attempt to implement the spiral MRI reconstruction program in java. We show that the performance is not significantly affected and that it is practical to use a platform-independent reconstruction software. (C) 2002 Elsevier Science Ireland Ltd. All rights reserved.
First proposed as a mechanism for enhancing Web content the java(TM) language has taken off as a serious general-purpose programminglanguage. Industry and academia alike have expressed great interest in using the Jav...
详细信息
First proposed as a mechanism for enhancing Web content the java(TM) language has taken off as a serious general-purpose programminglanguage. Industry and academia alike have expressed great interest in using the javalanguage as a programminglanguage for scientific and engineering computations. Applications in these domains are characterized by intensive numerical computing and often have very high performance requirements, in this paper we discuss programming techniques that lead to java numerical codes with performance comparable to FORTRAN or C, the more traditional languages for this field. The techniques are centered around the use of a high-performance numerical library, written entirely in the javalanguage, and on compiler technology. The numerical library takes the form of the Array package for java. Proper use of this package, and of other appropriate tools for compiling and running a java application, results in code that is clean, portable, and fast We illustrate the programming and performance issues through case studies in data mining and electromagnetism.
The importance of the java(TM) platform has shifted from a client-centered paradigm to the server. In particular, the javalanguage has matured into a viable programming model for server applications. Correspondingly,...
详细信息
The importance of the java(TM) platform has shifted from a client-centered paradigm to the server. In particular, the javalanguage has matured into a viable programming model for server applications. Correspondingly, the requirements on the java virtual machine (Jvm) have shifted This paper details the server-specific performance enhancements made to the core Jvm and just-in-time (JIT) compiler, which have allowed the IBM Developer Kits that implement java code for Intel processors to become industry performance leaders. The paper focuses on synchronization implementation and granularity improvements that have greatly increased the scalability of the javalanguage on multiprocessor machines. Focus is also given to memory management, specifically, object allocation, garbage collection, and heap management Details of communication and connection scaling are also provided. Finally, server-specific enhancements to the JIT compiler are discussed. All component enhancements in the paper are explained, and their performance implications are quantified with results from representative multithreaded server workloads. The paper summarizes work from across IBM The authors' specific contributions include the three-tier spin lock, the thread local heap and freelist merge, the dynamic heap growth algorithm, bitwise sweep, compaction avoidance, and the suite of network enhancements.
In recent years, we have witnessed the emergence of different types of multimedia applications, particularly those involving continuous media such as digital audio and video. Improvements in hardware, software and net...
详细信息
In recent years, we have witnessed the emergence of different types of multimedia applications, particularly those involving continuous media such as digital audio and video. Improvements in hardware, software and networking technologies are enabling a wide deployment of these applications, each with its own Quality of service (QoS) requirements. Along with these technological advances, java has emerged as a powerful platform for the development of many desktop applications. In this paper, we first present a review of popular QoS aware standard networking APIs available to developers on both UNIX and Windows systems. We then discuss the design and implementation extensions we made to the java architecture to support QoS over native Asynchronous Transfer Mode (ATM) networks. Our implementation offers java application developers the ability to specify their QoS requirements over ATM networks and simultaneously takes advantage of platform independence provided by java. In addition, we discuss practical performance experiences obtained with Our design in supporting digital video applications running over ATM networks.
Three novel control computation (control flow) obfuscation methods are described for protecting java class files. They are basic block fission obfuscation, intersecting loop obfuscation and replacing goto obfuscation....
详细信息
Three novel control computation (control flow) obfuscation methods are described for protecting java class files. They are basic block fission obfuscation, intersecting loop obfuscation and replacing goto obfuscation. The basic block fission obfuscation splits some chosen basic block(s) into more basic blocks, in which opaque predicates and goto instructions are inserted to make decompiling unsuccessful. The intersecting loop obfuscation intersects two loops and then adds this pattern into programs. The intersecting loop structure should not appear in a java source program or a class file. The replacing goto obfuscation replaces goto instructions with conditional branch instructions. The new methods were tested against 16 decompilers. The study also implemented multi-level exit obfuscation and single-level exit obfuscation for comparison. Both the intersecting loop obfuscation and the replacing goto obfuscation successfully defeated all the decompilers.
暂无评论