首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Ghahramani  B. Pauley  M.A. 《Computer》2003,36(9):109-111
Java programs are executed by a Java virtual machine (JVM), which interprets intermediate compiled bytecode that is nominally platform independent. Although early versions of Java interpreted unoptimized bytecode in a relatively unsophisticated manner, recent developments including static analysis, just-in-time compilation, JVM optimization, and instruction-level optimizations have improved execution efficiency. Consequently, Java is now competitive with C and C++ for some applications and on some platforms. Despite Java's increasing popularity, there is a lingering perception that deficiencies in the language make it unsuitable for high-performance computing. In this paper we address some of those deficiencies and discuss the suitability of using Java in a distributed environment.  相似文献   

2.
Static Single Assignment (SSA) form is often used as an intermediate representation during code optimization in Java Virtual Machines. Recently, SSA has successfully been used for bytecode verification. However, constructing SSA at the code consumer is costly. SSA-based mobile code transport formats have been shown to eliminate this cost by shifting SSA creation to the code producer. These new formats, however, are not backward compatible with the established Java class-file format. We propose a novel approach to transport SSA information implicitly through structural code properties of standard Java bytecode. While the resulting bytecode sequence can still be directly executed by traditional Virtual Machines, our novel VM can infer SSA form and confirm its safety with virtually no overhead.  相似文献   

3.
基于Java的WebGIS实现技术研究   总被引:1,自引:0,他引:1  
简要分析了当今WebGIS的各种实现技术,提出基于Java的WebGIS的体系结构,分别从运行在浏览器端的Java程序Applet,运行在Web服务器端的Java程序Servlet和通过JDBC访问数据库三个方面对基于Java的WebGIS实现技术进行深入的探讨。最后,简要分析了基于Java的WebGIS的特点和问题。  相似文献   

4.
为能以硬件方式直接执行CISC结构的Java字节码,设计并实现适用于32位嵌入式实时Java平台的JPOR-32指令集。分析Java虚拟机规范中各Java字节码的功能和实现原理,设定执行每条指令时信号和数据在Java处理器数据通路上的变化,采用微指令方式执行复杂指令,简单指令直接执行,从而使JPOR-32的指令集具有RISC特性。实验结果验证了指令集的正确性及其最坏情况执行时间(WCET)的可预测性。  相似文献   

5.
动态语言可以利用程序运行时获取的动态信息,指导程序进行各种优化。但是,现有的Java虚拟机没有将运行过程中收集的信息有效利用,而是在运行结束后直接丢弃,下一次执行程序的时候重新监测、收集、优化需要的信息。基于HotSpot虚拟机提出一种动静结合的自适应优化方法,将运行过程中优化对象迭代搜索到的最佳参数或者信息保存到资源库中;能够从资源库中学习获得适合当前程序的最佳参数或选项,可有效地利用运行过程中积累的数据;资源分析是静态且离线的,不占用应用程序运行的开销;迭代学习的过程中,通过避免冗余实例入库以及从库中剔除噪声实例,保证资源库学习过程的精度与效率。实验表明,该框架对指导Java虚拟机在不同的平台上自适应优化具有一定的实用性。  相似文献   

6.
一种用于硬实时Java处理器的类转换器设计及实现   总被引:1,自引:0,他引:1  
通过分析Class文件处理过程及其中影响实时性的操作,提出一种用于硬实时Java处理器的类转换器,它读取标准Class文件,处理并生成适合Java处理器直接执行的内存映像文件.由于装载、连接过程中大量操作(如符号引用的解析)都由类转换器提前处理完毕,使得Java处理器操作大为简化.同时,由于所有影响Java处理器实时性的操作也由类转换器提前处理,Java处理器最坏情况执行时间(Worst Case Execution Time)完全可预测.  相似文献   

7.
网络虚拟仪器的通讯技术研究   总被引:4,自引:2,他引:4  
网络技术拓展了虚拟仪器的使用范围,使之能通过局域网或Internet实现远程测控的功能,构成网络化虚拟仪器。文章就网络化虚拟仪器中的网络通讯技术进行了研究,提出了一种混合结构的网络模型;对嵌入式测试服务器进行了设计,解决两个服务器重构的问题;用LabVIEW和Java分别对客户端虚拟仪器进行了设计,并解决了网络通讯中的数据重组和数据移植问题。  相似文献   

8.
Java-enabled wireless devices are preferred for various reasons. For example, users can dynamically download Java applications on demand. The dynamic download capability supports extensibility of the mobile client features and centralizes application maintenance at the server. Also, it enables service providers to customize features for the clients. In this work, we extend this client-server collaboration further by offloading some of the computations (i.e., method execution and dynamic compilation) normally performed by the mobile client to the resource-rich server in order to conserve energy consumed by the client in a wireless Java environment. In the proposed framework, the object serialization feature of Java is used to allow offloading of both method execution and bytecode-to-native code compilation to the server when executing a Java application. Our framework takes into account communication, computation, and compilation energies to decide where to compile and execute a method (locally or remotely), and how to execute it (using interpretation or just-in-time compilation with different levels of optimizations). As both computation and communication energies vary based on external conditions (such as the wireless channel state and user supplied inputs), our decision must be done dynamically when a method is invoked. Our experiments, using a set of Java applications executed on a simulation framework, reveal that the proposed techniques are very effective in conserving the energy of the mobile client.  相似文献   

9.
This paper describes JaRec, a portable record/replay system for Java. It correctly replays multi‐threaded, data‐race free Java applications, by recording the order of synchronization operations, and by executing them in the same order during replay. The record/replay infrastructure is developed in Java, and does not require a modification of the Java Virtual Machine (JVM) if it provides the JVM Profiler Interface (JVMPI). If the JVM does not support JVMPI, which is used for intercepting the loaded classes, only a minor modification to the JVM is required in order to run the system. On ystems with limited memory resources, JaRec can be executed in a distributed fashion. This also makes it suitable to aid debugging of multi‐threaded applications on embedded systems. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

10.
本文讨论了使用Java在Web上执行数据处理程序的主要问题,描述基于Web的并行计算的思想,在给出Internet上执行程序的例子中,讨论了在这种环境中使用Java的可行性潜力,提出了基于Web的并行计算需要解决的问题,最后简要研究并行计算模型的实例JET平台。该系统可以使用Java小应用程序及一系列服务器在Web上执行并行程序。它解决本文提出的一些问题,并且允许基于Web与基于集群的计算结合起来。  相似文献   

11.
Java has begun to open up new possibilities for accessing applications on the Web. With Java, developers can write applications as applets and insert them into Web pages. The user can then retrieve and execute them with local computing resources. We show how developers can use this feature to create a network computing platform that lets Web users share applications not specifically devised for network use, including those that are computationally intensive. With our approach, the network is not involved as long as the user executes operations on the graphical interface, which is executed locally on the client. Only when users require some computational response from the server do they need to access it. Access is straightforward; authorized users can access the application from any node connected with the Internet as long as they have a Java-enabled Web browser. We have used used one such network computing platform to port an existing tool and develop a new application  相似文献   

12.
设计并实现一种针对32 bit嵌入式实时Java平台的类预处理器,通过把标准class文件转换成适合Java处理器——Jpor32直接执行的内存映像,将在运行时动态装载和解析class的工作交由类预处理器提前完成,从而消除影响运行时实时性的一些操作,并降低Java处理器的设计复杂性。  相似文献   

13.
Java由于其简单、面向对象、独立于硬件体系结构、安全等特点在各种应用领域内获得广泛的应用,但在很多情况下其运行性能仍有待提高.优化Java应用的运行性能成为当前业界迫切要解决的问题和当前研究的热点.本文简要回顾了当前在Java性能优化方面的最新研究成果,对其中的关键技术进行了深入探讨,并结合作者的经验提出对未来发展的一些看法.  相似文献   

14.
Happens-before memory model (HMM) is used as the basis of Java memory model (JMM). Although HMM itself is simple, some complex axioms have to be introduced in JMM to prevent the causality loop, which causes absurd out-of-thin-air reads that may break the type safety and security guarantee of Java. The resulting JMM is complex and difficult to understand. It also has many anti-intuitive behaviors, as demonstrated by the “ugly examples” by Aspinall and Ševˇcík [1]. Furthermore, HMM (and JMM) specifies only what execution traces are acceptable, but says nothing about how these traces are generated. This gap makes it difficult for static reasoning about programs. In this paper we present OHMM, an operational variation of HMM. The model is specified by giving an operational semantics to a language running on an abstract machine designed to simulate HMM. Thanks to its generative nature, the model naturally prevents out-of-thin-air reads. On the other hand, it uses a novel replay mechanism to allow instructions to be executed multiple times, which can be used to modelmany useful speculations and optimization. The model is weaker than JMM for lockless programs, thus can accommodate more optimization, such as the reordering of independent memory accesses that is not valid in JMM. Program behaviors are more natural in this model than in JMM, and many of the anti-intuitive examples in JMM are no longer valid here. We hope OHMM can serve as the basis for new memory models for Java-like languages.  相似文献   

15.
This paper proposes two approaches to managing concurrency in Java using a guarded region abstraction. Both approaches use revocation of such regions—the ability to undo their effects automatically and transparently. These new techniques alleviate many of the constraints that inhibit construction of transparently scalable and robust concurrent applications. The first solution, revocable monitors, augments existing mutual exclusion monitors with the ability to dynamically resolve priority inversion and deadlock, by reverting program execution to a consistent state when such situations are detected, while preserving Java semantics. The second technique, transactional monitors, extends the functionality of revocable monitors by implementing guarded regions as lightweight transactions that can be executed concurrently (or in parallel on multiprocessor platforms). The presentation includes discussion of design and implementation issues for both schemes, as well as a detailed performance study to compare their behavior with the traditional, state‐of‐the‐art implementation of Java monitors based on mutual exclusion. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

16.
传统的Java程序利用软件Java虚拟机(Java Virtual Machine,JVM)对Java字节码文件进行解释或二次编译后交由本地CPU执行,其运行速度大大受限,而硬件JVM处理器可直接执行Java字节码,因而大幅提高了Java程序的运行速度,所以硬件JVM处理器是突破Java程序性能瓶颈的最有效方法.本文以Jop Java及picoJava为例,根据Java虚拟机的规范分析了硬件JVM处理器中最重要的流水线结构、堆栈结构及操作的实现方式、指令折叠技术和字节码与微码的映射技术,并提出了改进措施.  相似文献   

17.
It is a major challenge for a Java JIT compiler to perform single-precision floating-point operations efficiently for the x86 processors. In previous research, the double-precision mode is set as the default precision mode when methods are invoked. Sophisticated approaches then use heuristic approaches to optimization by considering the trade-offs between roundings and mode switches. However, this convention introduces redundant mode switches across method boundaries. Furthermore, methods that include both single- and double-precision operations cannot switch the mode, even if single-precision operations are dominant. We propose a new approach to these problems. We eliminate redundant mode switches by ignoring the default precision mode and calling a method in the same precision mode as the caller. For methods that include both single- and double-precision methods, we reduce the overhead of rounding by isolating code segments of a given method that should be executed in the single-precision mode. We implemented our approach in IBM's Just-in-Time compiler, and obtained experimental results demonstrating that, in SPECjvm98, it consistently shows the best performance in any configuration of benchmark programs, inline policies, and processor architectures compared with previous research approaches. Copyright © 2004 John Wiley & Sons, Ltd.  相似文献   

18.
19.
逃逸分析(escape analysis)是一种可以有效减少Java程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法.此前绝大多数逃逸分析的实现都基于一个所谓"封闭世界(closed world)"的前提:所有可能被执行的方法在做逃逸分析前都已经得知,并且,程序的实际运行不会改变它们之间的调用关系.但当真实的Java程序运行时,这样的假设并不成立.Java程序拥有的许多特性,例如动态类加载、调用本地函数以及反射程序调用等等,都将打破所谓"封闭世界"的约定.这样的真实运行环境被称为"开放世界".在开放世界中,实现逃逸分析将面临许多重要的问题,例如,能否正确、全面地捕捉动态载入的类和方法,并分析它们与原有程序的关系;逃逸分析算法的复杂性是否能够得以控制,以保证即时编译器的重新分析时间不会过长,等等.提出一个新的逃逸分析架构,它可以有效地处理上述开放世界所面临的问题.该分析架构将增量分析Java程序,动态捕获新载入和调用的类及方法,同时,在复杂性和精度之间进行权衡,正确、有效地降低程序的运行负载.该分析架构已经在Intel的开放式Java虚拟机系统ORP中实现,经过实际测试,可以有效地消除一些主要基准测试程...  相似文献   

20.
Java语言至今已成为最受欢迎的编程语言之一,由于其平台无关性、执行的安全性以及垃圾收集等特性而得到广泛应用,受到众多的IT企业及开发者的支持。然而,与诸如C/C++这类语言比起来,Java语言的运行性能在很多情况下还有待提高,优化Java应用性能的课题就成为当前业界迫切需要解决的问题和研究的热点。本文从优化Java字节码的角度切入,介绍一款在其上进行优化和变换的框架,并展示相关应用的例子。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号