首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
Java虚拟机中类装载器的实现   总被引:4,自引:0,他引:4  
王立冬  张凯 《计算机应用》2002,22(11):107-109
描述了类装载器的功能并对其进行了分类,提出了一种Java虚拟机类装载器的实现,设计了一种方法区中类文件的数据结构,同时指出了类装载器实现中的重点和难点,最后总结了类装载器对Java虚拟机运行效率的影响。  相似文献   

2.
随着Internet的迅猛发展,Internet编程语言Java愈来愈成为计算机行业的焦点,本文在简述了Java的主要特点后,重点对Java最关键的技术--虚拟机进行了深入的探讨。  相似文献   

3.
刘敏 《共创软件》2002,(3):51-53,64
本文通过查看一个精心构造的类结构的运行输出和使用javap工具查看实际生成的Java字节码(bytecode),向Java程序员展示了一个类在运行时是如何构造生成的?按照Java规范,一个类实例的构造过程是遵循以下顺序的。  相似文献   

4.
Java栈是Java虚拟机中运行时数据区的主要组成部分。大部分虚拟机指令的操作都与Java栈中的框架相关联。该文描述了Java栈在Java虚拟机运行中所起的作用,自行设计了一种Java栈的数据结构,提出了一些具有代表性的字节码指令的实现方法。同时总结了Java栈对虚拟机运行效率的影响。  相似文献   

5.
王朝坤 《计算机教育》2011,(11):48-51,60
针对编译原理教学实际,在分析和修改工业级开源编译器实现代码的基础上,提出一个基于Java的编译原理课程案例教学过程,结合Java这种日益普及的面向对象程序设计语言,这种教学过程在编译原理课程教学方面取得良好效果。  相似文献   

6.
本文在研究kaffe[1]的基础上,吸收kaffe虚拟机的主要思想,用C语言作为开发语言,采用了及时编译器作为执行引擎,实现了一种Windows平台下的Java虚拟机。然后对实现过程中的一些关键技术如class文件验证、及时编译器、垃圾收集器、线程同步和线程调度等做了分析。  相似文献   

7.
首先归纳了通过WWW从Internet上下载一段不可信任的可执行代码在本地机器上运行时可能造成的各种危害,接着重点介绍了Java系统防止这些危害的机制及实现方法,随后分析陈春效果,最后讨论了进一步的改进方法。  相似文献   

8.
本文研究了Java技术在嵌入式领域应用中所存在的系统占用资源较多和程序执行效率较低两个关键性难题。在研究国内外目前应用于嵌入式Java虚拟机中的各种性能优化技术和尚待解决的问题的基础上,尝试从对垃圾回收方式改进和虚拟机内部结构改造两方面对两个难题提出了解决的新方法。结合在垃圾回收和虚拟机内部结构方面的改进,本文搭建了一个新的改进型嵌入式Java虚拟机。  相似文献   

9.
本文简单地介绍了Java的起源,详细地阐明了Java的本质和主要特性,说明了Java为理想的网络编程语言环境的原因,通过与C++在文法方面的比较解释了Java易学易用,功能强大的理由,文章最后给了一个简单的Java程序。  相似文献   

10.
Java字节码的水印嵌入   总被引:5,自引:0,他引:5  
通过Internet发布的Java程序正面临着严重的未授权使用,这是因为Java源代码被编译成可重用的class文件,而这些class文件很容易就被反编译成Java源文件。提出一种在Java的class文件中嵌入数字水印的技术,它可以有效地保证开发者对该程序的版权。该水印嵌入对程序的使用者来说是透明的,而对程序的开发者来说,可以轻易地找出未经授权的非法的程序使用。  相似文献   

11.
驱动程序的不稳定是造成操作系统内核崩溃的主要原因,该文采用类型安全的Java语言开发Linux设备驱动程序以提高系统的稳定性,并分析驱动模型的结构、内核态Java虚拟机(JVM)的设计以及Java驱动程序的编写。USB网卡的测试验证了Java驱动在提高系统稳定性上的优势。  相似文献   

12.
Java虚拟机中异常机制实时性的研究及实现   总被引:1,自引:0,他引:1       下载免费PDF全文
异常处理机制是程序设计语言的重要特征之一。讨论了对Java异常处理进行实时性改造的可行性和具体方法,并且在Linux平台上,实现了对开源Java虚拟机SableVM中异常处理机制的实时性改造。实验结果表明改进后的虚拟机在异常捕获时间趋于线性的同时,异常表查询效率也得到了提高。  相似文献   

13.
非增量式Java虚拟机(JVM)垃圾回收算法的内存开销较大。为此,提出一种基于栈式分配策略的JVM增量式垃圾收集算法。对Java栈帧进行改造使其支持存储对象,改进增量式收集器中堆空间的划分、引用跟踪方式,以减少垃圾收集带来的不确定性暂停。实验结果表明,该算法能有效减少暂停的频率和时长,提高运行速度。  相似文献   

14.
This paper presents a compilation framework that allows executable code to be shared across different Java Virtual Machine (JVM) instances. Current compliant JVMs for servers are burdened with large memory footprints (because of the size of the increasingly complicated compilers) and high startup costs, while compliant JVMs for embedded devices typically rely on interpretation. This paper describes a quasi-static approach that allows execution of a read-only version of the code, enabling compiled Java binaries to be embedded in ROM in an embedded environment or shared across multiple applications in a server environment. We have implemented this approach in the Quicksilver quasi-static compiler for the Jikes RVM (Jikes Research Virtual Machine). On the SPECjvm98 benchmark suite, our approach gives writable memory space savings of between 82–89% over that of our previous (non-sharable, non-ROMable) quasi-static approach, while delivering performance that is typically within 1–7% of that approach, and is competitive with the performance of the Jikes RVM adaptive optimization system.  相似文献   

15.
This paper presents a novel profiling approach, which is entirely based on program transformation techniques in order to enable exact profiling, preserving complete call stacks, method invocation counters, and bytecode instruction counters. We exploit the number of executed bytecode instructions as profiling metric, which has several advantages, such as making the instrumentation entirely portable and generating reproducible profiles. These ideas have been implemented as the JP tool. It provides a small and flexible API to write portable profiling agents in pure Java, which are periodically activated to process the collected profiling information. Performance measurements point out that JP causes significantly less overhead than a prevailing tool for the exact profiling of Java code.  相似文献   

16.
为了对Java虚拟机(JVM)进行测试,开发人员通常需要手工设计或利用测试生成工具生成复杂的测试程序,从而检测JVM中潜在的缺陷。然而,复杂的测试程序给开发人员定位及修复缺陷带来了极高的成本。测试程序约简技术旨在保障测试程序缺陷检测能力的同时,尽可能的删减测试程序中与缺陷检测无关的代码。现有研究工作基于Delta调试在C程序和XML输入上可以取得较好的约简效果,但是在JVM测试场景中,具有复杂语法和语义依赖关系的Java测试程序约减仍存在粒度较粗、约简效果较差的问题,导致约简后的程序理解成本依然很高。因此,针对具有复杂程序依赖关系的Java测试程序,本文提出一种基于程序约束的细粒度测试程序约简方法JavaPruner。首先在语句块级别设计细粒度的代码度量方法,随后在Delta调试技术上引入语句块之间的依赖约束关系来对测试程序进行约简。以Java字节码测试程序为实验对象,通过从现有的针对JVM测试的测试程序生成工具中筛选出具有复杂依赖关系的50个测试程序作为基准数据集,并在这些数据集上验证JavaPruner的有效性。实验结果表明,JavaPruner可以有效删减Java字节码测试程序中的冗余代码。与现有方法相比,在所有基准数据集上约减能力平均可提升37.7%。同时,JavaPruner可以在保障程序有效性及缺陷检测能力的同时将Java字节码测试程序最大约简至其原有大小的1.09% ,有效降低了测试程序的分析和理解成本。  相似文献   

17.
Java语言有着独特的工作原理,这是由于Java引入的虚拟机(JVM)以及垃圾回收机制等功能所带来的.一切JavaEE应用都是基于JVM的,这些工作原理具体是如何工作,带来了怎样的便利,本文做出了比较详细的解答.  相似文献   

18.
李娜  刘俊辉 《计算机工程》2011,37(15):52-54
提出一种适用于实时性环境的Java虚拟机垃圾收集算法。该算法通过对增量式收集器中堆空间划分方式和引用跟踪进行改进,以减少垃圾收集时带来的不确定性暂停,并且该算法可以指定用户在一个时间段内进行垃圾收集,以便使应用程序暂停时间达到最短,从而适用于实时性环境。实验结果表明,该算法能有效减少垃圾收集时暂停的频率和时长。  相似文献   

19.
The accurate measurement of the execution time of Java bytecode is one factor that is important in order to estimate the total execution time of a Java application running on a Java Virtual Machine. In this paper we document the difficulties and solutions for the accurate timing of Java bytecode. We also identify trends across the execution times recorded for all imperative Java bytecodes. These trends would suggest that knowing the execution times of a small subset of the Java bytecode instructions would be sufficient to model the execution times of the remainder. We first review a statistical approach for achieving high precision timing results for Java bytecode using low precision timers and then present a more suitable technique using homogeneous bytecode sequences for recording such information. We finally compare instruction execution times acquired using this platform independent technique against execution times recorded using the read time stamp counter assembly instruction. In particular our results show the existence of a strong linear correlation between both techniques.  相似文献   

20.
徐丽  张昱  陈意云 《计算机工程》2005,31(8):82-83,150
描述了Perl解释器的框架,介绍其后端虚拟机(Perl VM)的工作机理,给出了PVM所用到的栈,数据类型以及操作码函数(PP Code)在Java中的设计和实现,并陈述了在此移植中的几个关键问题及其解决方法。  相似文献   

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

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