共查询到20条相似文献,搜索用时 0 毫秒
1.
Accounting for the CPU consumption of applications is crucial for software development to detect and remove performance bottlenecks (profiling) and to evaluate the performance of algorithms (benchmarking). Moreover, extensible middleware may exploit resource consumption information in order to detect a resource overuse of client components (detection of denial-of-service attacks) or to charge clients for the resource consumption of their deployed components. The Java Virtual Machine (JVM) is a predominant target platform for application and middleware developers, but it currently lacks standard mechanisms for resource management.In this paper we present a tool, the Java Resource Accounting Framework, Second Edition (J-RAF2), which enables precise CPU management on standard Java runtime environments. J-RAF2 employs a platform-independent CPU consumption metric, the number of executed JVM bytecode instructions. We explain the advantages of this approach to CPU management and present five case studies that show the benefits in different settings. 相似文献
2.
Resource management is essential to build reliable middleware and to host potentially untrusted software components. Resource accounting allows to study and optimize program performance and to charge users for the resource consumption of their deployed components, while resource control can limit the resource consumption of components in order to prevent denial-of-service attacks. In the approach presented here, program transformations enable resource management in Java-based environments, even though the underlying runtime system may not expose information concerning the resource consumption of applications. We present a fully portable program transformation scheme to enhance standard Java runtime systems with mechanisms for CPU management. We implemented several optimizations in order to reduce the overhead of our CPU accounting scheme. Detailed performance measurements quantify this overhead and show the impact of various optimizations. 相似文献
3.
4.
A bytecode verifier for the Java virtual machine language (JVML) statically checks that bytecode does not cause any fatal
error. However, the present verifier does not check correctness of the usage of lock primitives. To solve this problem, we
extend Stata and Abadi’s type system for JVML by augmenting types with information about how each object is locked and unlocked.
The resulting type system guarantees that when a thread terminates, it has released all the locks it has acquired and that
a thread releases a lock only if it has acquired the lock previously. We have implemented a prototype Java bytecode verifier
based on the type system. We have tested the verifier for several classes in the Java run time library and confirmed that
the verifier runs efficiently and gives correct answers.
相似文献
Naoki KobayashiEmail: |
5.
This article presents a type certifying compiler for a subset of Java and proves the type correctness of the bytecode it generates in the proof assistant Isabelle. The proof is performed by defining a type compiler that emits a type certificate and by showing a correspondence between bytecode and the certificate which entails well-typing. The basis for this work is an extensive formalization of the Java bytecode type system, which is first presented in an abstract, lattice-theoretic setting and then instantiated to Java types. 相似文献
6.
7.
8.
传统的Java程序利用软件Java虚拟机(Java Virtual Machine,JVM)对Java字节码文件进行解释或二次编译后交由本地CPU执行,其运行速度大大受限,而硬件JVM处理器可直接执行Java字节码,因而大幅提高了Java程序的运行速度,所以硬件JVM处理器是突破Java程序性能瓶颈的最有效方法.本文以Jop Java及picoJava为例,根据Java虚拟机的规范分析了硬件JVM处理器中最重要的流水线结构、堆栈结构及操作的实现方式、指令折叠技术和字节码与微码的映射技术,并提出了改进措施. 相似文献
9.
介绍了Alpha工作站Liunx操作系统上一种能实现真正并发的JVM-Lkaffe的设计和实现,并着重介绍了它的线程实现机制,垃圾回收实现机制和异常处理实现机制。 相似文献
10.
The Java Virtual Machine executes bytecode programs that may have been sent from other, possibly untrusted, locations on the
network. Since the transmitted code may be written by a malicious party or corrupted during network transmission, the Java
Virtual Machine contains a bytecode verifier to check the code for type errors before it is run. As illustrated by reported
attacks on Java run-time systems, the verifier is essential for system security. However, no formal specification of the bytecode
verifier exists in the Java Virtual Machine Specification published by Sun. In this paper, we develop such a specification
in the form of a type system for a subset of the bytecode language. The subset includes classes, interfaces, constructors,
methods, exceptions, and bytecode subroutines. We also present a type checking algorithm and prototype bytecode verifier implementation,
and we conclude by discussing other applications of this work. For example, we show how to extend our formal system to check
other program properties, such as the correct use of object locks.
This revised version was published online in August 2006 with corrections to the Cover Date. 相似文献
11.
Alex Villazón Walter Binder Philippe Moret Danilo Ansaloni 《Science of Computer Programming》2011,76(11):1015-1036
Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as Java bytecode instrumentation. Unfortunately, with existing AOP frameworks for Java such as AspectJ, aspects cannot be woven into the standard Java class library. This restriction is particularly unfortunate for aspects that would benefit from comprehensive aspect weaving with complete method coverage, such as profiling or debugging aspects. In this article we present MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes loaded in a Java Virtual Machine, including those in the standard Java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. We validate our approach with three case studies. Firstly, we weave existing profiling aspects with MAJOR which otherwise would generate incomplete profiles. Secondly, we introduce an aspect for memory leak detection that also benefits from comprehensive weaving. Thirdly, we present an aspect subsuming the functionality of ReCrash, an existing tool based on low-level bytecode instrumentation techniques that generates unit tests to reproduce program failures. Our aspect-based tools are concisely implemented in a few lines of code, and leverage MAJOR and CARAJillo for comprehensive aspect weaving and for efficient access to calling context information. 相似文献
12.
Chris Male David J. Pearce Alex Potanin Constantine Dymnikov 《Science of Computer Programming》2011,76(7):587-608
Java’s annotation mechanism allows us to extend its type system with non-null types. Checking such types cannot be done using the existing bytecode verification algorithm. We extend this algorithm to verify non-null types using a novel technique that identifies aliasing relationships between local variables and stack locations in the JVM. We formalise this for a subset of Java Bytecode and report on experiences using our implementation. 相似文献
13.
Java栈是Java虚拟机中运行时数据区的主要组成部分。大部分虚拟机指令的操作都与Java栈中的框架相关联。该文描述了Java栈在Java虚拟机运行中所起的作用,自行设计了一种Java栈的数据结构,提出了一些具有代表性的字节码指令的实现方法。同时总结了Java栈对虚拟机运行效率的影响。 相似文献
14.
掘进机器人仿形截割建模与轨迹仿真研究 总被引:1,自引:0,他引:1
针对掘进机器人掘进过程中,尖峰负荷影响,及切割机构的非平稳振动,引起欠挖和超挖,机器损耗加剧等问题,以悬臂式掘进机巷道自动成形为研究对象,建立了掘进机仿形截割的动态数学模型,推导出截割头运动到半圆拱形巷道边界时,悬臂偏移角和油缸伸长量之间的通用公式,在使用数字液压缸按照所给巷道运动时,通过控制各个油缸伸长量来实现掘进机的自动控制机理。采用MATLAB软件仿真了截割头仿形截割运动过程,取得和实际工况相一致的结果,验证了模型的可行性和优越性,为掘进机器人研究奠定了通用的控制理论基础。 相似文献
15.
王艳华 《电脑与微电子技术》2011,(21):23-26
《程序逻辑技术与应用》是软件技术专业的入门课程,在这门课程中,主要是通过四个学习情境来讲解Java中的逻辑结构与面向对象的思想,在这四个学习情境中,又包含13个子情境,对于不同的学习情境,采用的教学方法也各不相同,最基本的是多媒体教学,并兼有任务驱动、教学做一体化等方式来完成。 相似文献
16.
《程序逻辑技术与应用》是软件技术专业的入门课程,在这门课程中,主要是通过四个学习情境来讲解Java中的逻辑结构与面向对象的思想,在这四个学习情境中,又包含13个子情境,对于不同的学习情境,采用的教学方法也各不相同,最基本的是多媒体教学,并兼有任务驱动、教学做一体化等方式来完成。 相似文献
17.
该文针对中间件WebSphere性能问题的发现与处理进行研究,详细论述了WebSphere应用中性能调优的相关技术与方法,依据该文所论述的方法,可以使中间件WebSphere的性能达到相对最优。 相似文献
18.
This paper proposes a type and effect system for analyzing activation flow between components through intents in Android programs. The activation flow information is necessary for all Android analyses such as a secure information flow analysis for Android programs. We first design a formal semantics for a core of featherweight Android/Java, which can address interaction between components through intents. Based on the formal semantics, we design a type and effect system for analyzing activation flow between components and demonstrate the soundness of the system. 相似文献
19.
20.
针对传统监控取证系统体积大、移动性差、成本高等不足,运用嵌入式技术,视频处理技术及无线网络传输技术,设计了一种基于 ARM9的便携式网络监控取证系统[3]。该系统以 ARM9芯片 S3C2440为硬件平台,以 Linux 操作系统为软件开发平台,将 USB 摄像头采集到的图像数字化后经过 MPEG-4压缩算法的处理,通过构建嵌入式 Web 服务器[2]以及 Java Applet 技术[1],实现了远程监控端通过 IE 浏览器对现场的监控取证,最终形成了一套集视频采集、预处理、存储、显示、传输为一体的便携式视频监控取证终端系统。 相似文献