首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 359 毫秒
1.
俞松  郑骏  杨云 《微处理机》2010,31(1):79-82,85
Java存储模型是Java语言和Java虚拟机研究中的核心关键部分。Java语言规范规定:所有对基本类型的操作,除了对double/long类型的操作之外,都必须是原子级的。Java提供的volatile关键字可以使double/10ng变量实现变量级同步,但仍不能保证线程间同步。针对这些不足,结合实例分析了Java内存模型,syllchmnized方法,引入了硬件原语(CAS),给出了非阻塞算法的同步策略。  相似文献   

2.
Java本地调用接口(Java native interface,JNI)机制被广泛应用在移动应用开发领域.JNI机制中JNI接口函数被用于在本地代码中解析和转换Java端的数据类型和Java对象.然而,JNI接口函数的调用开销影响了程序运行的效率,其复杂的使用规范也是集成与复用第三方本地组件时的主要障碍.提出一种基于跨语言对象迁移策略的复合本地对象模型,能够实现有效减少本地调用程序中的JNI接口函数调用开销和有效利用已有本地组件的目的.详细讨论了复合本地对象的语言特性及其具体实现,并给出跨语言对象迁移规范以及开发实例.在Dalvik虚拟机中实现了该模型,通过实验证明该策略和模型能够有效改善JNI机制的不足.  相似文献   

3.
数据流Java并行程序设计模型的设计、实现及运行时优化   总被引:2,自引:0,他引:2  
刘弢  范彬  吴承勇  张兆庆 《软件学报》2008,19(9):2181-2190
提出了一种具有数据流特征的Java并行程序设计模型,并针对该模型提出了一种基于运行时信息反馈的自适应优化算法,使得运行时系统可以利用数据流程序所暴露出的数据并行性,加速程序的运行.此外,在该模型中加入了数据流多态的概念,扩展了该模型的面向对象特性.在一个实际的开放源码Java虚拟机中实现了上述程序设计模型及优化方法.在实际多核多线程机器上的实验结果表明,所提出的程序设计模型及优化能够充分利用硬件的并行处理能力,显著地提高了程序的性能.  相似文献   

4.
同步开销是影响并行程序性能的一个重要方面,如果同步操作出现在循环中,将会使这种影响进一步扩大.为了降低循环中同步操作的开销,本文提出一种利用即时编译器外提Java程序中循环内同步操作的优化算法,并在实际的Java虚拟机中实现.该算法在保证程序语义不变的前提下,大量减少运行时实际执行的同步操作数量,降低同步开销,并能保证外提变换后同步代码块不会太大而降低程序的并发度.实验结果表明该算法能提高程序的整体性能,并且不降低程序的可扩放性.  相似文献   

5.
在这一讲中,我们将重点介绍Java平台技术,首先介绍Java核心技术Java虚拟机的概貌、结构,然后再说明100%纯Java的概念和纯Java程序应遵循的原则,在本讲的最后,我们将介绍几种主要的Java开发工具和浏览工具。 一、Java虚拟机 上一讲我们已经提到平台无关性是Java最重要的特性,而实现这一特性的基础就是Java虚拟机。因此,了解Java虚拟机的结构和工作方式对进一步理解Java概念十分有益。下面我们将从两个方面介绍Java虚拟机。 1.什么是Java虚拟机 可以说,Java不仅仅是一种语言,更重要是一种区别于传统系统,遵循“网络就是计算机”信条的平台技术。Java平台将面向对象系统扩展成包括程序和数据的网络计算机,而这  相似文献   

6.
谓词抽象是解决软件模型检查中状态空间爆炸的最有效方法之一,针对Java语言面向对象的特性,描述了一种对Java程序语言中间形式的谓词抽象算法,该算法将Java程序抽象成为布尔程序,抽象过程中处理的Java数据结构包括:赋值语句、条件语句、类对象引用、成员方法和方法调用等.用一个Java程序实例说明了该算法的抽象过程和结果.  相似文献   

7.
Java虚拟机是Java程序必不可少的运行环境,并且是Java语言实现跨平台的基础。本文以Java虚拟机的发展历程和使用情况为角度,讨论了Java虚拟机的优点和缺点。  相似文献   

8.
程序理解在软件维护和软件复用中扮演着重要的角色,基于编译技术的程序信息抽取与分析是程序理解辅助工具的主要技术手段.为了降低信息抽取和信息分析的代价,提高程序理解工具的质量和构建效率,本文使用Java文档对象模型作为程序代码结构模型,提出并实现了针对Java代码的信息查询语言JPATH.通过构造JPATH查询表达式,信息抽取与分析程序能够定位感兴趣的元素在代码结构模型中的位置.同时,本文对JPATH做了进一步的扩展,提供了一种对象一关系的查询机制,便于编程人员提取具有特定语义关系的语法对象组合.  相似文献   

9.
10.
胡宏银  姚峰  何成万 《计算机工程与设计》2007,28(10):2291-2293,2296
通过定义存储过程模板,并根据表信息替换模板中的变量,从而生成大量具有类似处理流程的Java存储过程.给出了Update存储过程的生成模板、注册模板以及测试程序模板,并用VBA实现了自动生成Java存储过程的主要方法,还讨论了测试数据的准备、测试及测试结果的确认方法.实践表明,该方法能保证软件的质量、缩短开发周期以及提高软件的可修改性.  相似文献   

11.
This paper presents architecture independent characterization of embedded Java workloads based on the industry standard GrinderBench benchmark which includes different classes of real world embedded Java applications. This work is based on a custom built embedded Java virtual machine (JVM) simulator specifically designed for embedded JVM modeling and embodies domain specific details such as thread scheduling, algorithms used for native CLDC APIs and runtime data structures optimized for use in embedded systems. The results presented include dynamic execution characteristics, dynamic bytecode instruction mix, application and API workload distribution, object allocation statistics, instruction-set coverage, memory usage statistics and method code and stack frame characteristics.  相似文献   

12.
Java just-in-time (JIT) compilers improve the performance of a Java virtual machine (JVM) by translating Java bytecode into native machine code on demand. One important problem in Java JIT compilation is how to map stack entries and local variables to registers efficiently and quickly, since register-based computations are much faster than memory-based ones, while JIT compilation overhead is part of the whole running time. This paper introduces LaTTe, an open-source Java JIT compiler that performs fast generation of efficiently register-mapped RISC code. LaTTe first maps "all" local variables and stack entries into pseudoregisters, followed by real register allocation which also coalesces copies corresponding to pushes and pops between local variables and stack entries aggressively. Our experimental results indicate that LaTTe's sophisticated register mapping and allocation really pay off, achieving twice the performance of a naive JIT compiler that maps all local variables and stack entries to memory. It is also shown that LaTTe makes a reasonable trade-off between quality and speed of register mapping and allocation for the bytecode. We expect these results will also be beneficial to parallel and distributed Java computing: 1) by enhancing single-thread Java performance; and 2) by significantly reducing the number of memory accesses which the rest of the system must properly order to maintain coherence and keep threads synchronized  相似文献   

13.
以操作系统为中心的存储一致性模型--线程一致性模型   总被引:3,自引:0,他引:3  
分布共享存储系统为保证程序的正确执行,必须通过存储一致性模型对共享存储访问顺序加以限制,而现有模型在可扩展性和操作系统级实现方面存在不足。结合多线程的特点,提出了一种以操作系统为中心的线程一致性模型,通过并行程序执行过程中线程状态的变化来观察和限制存储访问事件的正确顺序,有利于系统的可扩展性、一致性维护信息获取的方便性和完备性以及操作系统本身的设计和实现。分别从模型的定义、正确性证明、实现方案和性能分析等几个方面展开了论述。  相似文献   

14.
性能问题一直是Java无法回避的一个弱点。然而造成性能低下的原因除了Java本身的原因外,很多时候是由于应用没有优化地使用Java造成的。虚拟机是Java平台的核心,研究Java虚拟机(Java virtual machine,简称JVM)的关键技术及运行机制,并分析其性能优化措施,使Java在不同的平台上顺利运行,为编程实现JVM或向各种平台移植JVM提供参考。  相似文献   

15.
Java virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM heap. Before the bug that caused the invalid reference can be fixed, its location must be identified. It can be in either the JVM implementation or the native library written in C invoked from Java applications. To help system engineers identify the location, we implemented a feature using page protection that prevents threads executing native methods from referring to the JVM heap. This feature protects the JVM heap during native method execution; if the heap is referred to invalidly, it interrupts the execution by generating a page-fault exception. It then reports the location where the exception was generated. The runtime overhead for using this feature depends on the frequency of native method calls because the protection is switched on each time a native method is called. We evaluated the runtime overhead by running the SPECjvm98, SPECjbb2000, VolanoMark, and JFCMark benchmark suites on a PC with two Intel Xeon® 1.6 GHz processors. The performance loss was less than 2% for the benchmark items that do not call native methods so frequently (104 times per second) and 5%–20% for the benchmark items that do (104–105 times per second). The worst performance loss was 54%, which was recorded for a benchmark item that calls native methods 2.0×106 times per second.  相似文献   

16.
面向对象的存储一致性模型OC   总被引:1,自引:0,他引:1  
提出了一种新的面向对象的存储一致性模型-OC.该模型基于位置一致性(Location Consistency)模型中所描述的偏序关系,从而打破了传统的存储密致性(Memory Coherence)所要求的全局序的限制.该模型是较高的软件层次上的存储模型,结合了现代程序设计中面向对象的特色,可广泛应用到共享存储的编程语言中.我们还论述了OC的主要特性,并将OC与其它存储模型进行了简单的比较.最后在仿真器上对它的行为进行了仿真验证.  相似文献   

17.
JavaSplit is a portable runtime environment for distributed execution of standard multithreaded Java programs. It gains augmented computational power and increased memory capacity by distributing the threads and objects of an application among the available machines. Unlike previous works, which either forfeit Java portability by using a nonstandard Java Virtual Machine (JVM) or compromise transparency by requiring user intervention in making the application suitable for distributed execution, JavaSplit automatically executes standard multithreaded Java on any heterogenous collection of Java-enabled machines. Each machine carries out its part of the computation using nothing but its local standard (unmodified) JVM. Neither the programmer nor the person submitting the program for execution needs to be aware of JavaSplit or its distributed nature. We evaluate the efficiency of JavaSplit on several combinations of operating systems, JVM implementations, and communication hardware.  相似文献   

18.
一种堆栈型Java处理器的流水线设计   总被引:1,自引:1,他引:1  
杨骥  毛峡 《计算机工程与设计》2004,25(12):2357-2359
针对目前嵌入式系统的特点,设计了一种四段流水线的堆栈型Java微处理器核。使用双口RAM作为Java栈,减小了存储资源的消耗。通过硬件在一个时钟周期内直接执行Java虚拟机(JVM)中大多数简单的算术/逻辑指令;通过微代码模拟在若干时钟周期内完成中等复杂指令处理;提供硬件陷阱机制,以支持JVM中非常复杂和面向对象指令的软件仿真。综合硬件资源和运行效率两方面的需求可灵活选择不同的指令实现方式,为Java处理器在FPGA中的移植实现提供方便。  相似文献   

19.
石学锋  陈智  李政道 《计算机工程》2007,33(17):273-274
为了增强MHP机顶盒的网络交互能力,必须构建Java运行环境。该文介绍了Java技术、MHP机顶盒软件结构模型、嵌入式Java虚拟机(JVM)概念以及开源Java虚拟机——Kaffe的软件层次结构,阐述了Kaffe在ALI公司数字电视机顶盒开发平台上移植的实现过程,提出了在嵌入式环境下,Java虚拟机执行引擎的性能优化策略。实际运行结果证明了JVM的移植性和性能优化策略的可行性。  相似文献   

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

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