第一讲 JVM编译过程

一 丶Jvm的安装:

1.下载源代码,并将其修改于龙芯的mips体系相适应;

2.编译前需要的软件包:

Gawk pattern scanning and processing language

m4 GNU macro processor

libasound-dev alsa声音库

libcupsys2-dev 与打印相关的库

libx11-dev X11图形库

二丶编译过程:

(1).设置必要的环境变量,把环境变量的设置写到了脚本文件bootstrap中,在进行编译开始的时候source这个脚本文件即可;

(2)cd到control/make目录下,然后执行命令:#make scsl,开始编译,编译的结果默认在control/build目录中

(3).使用命令:#make clobber 删除编译时产生的中间文件。

三.

通过上面的编译过程即可编译出hotspot虚拟机,即libjvm.so文件,并要备份此文件。

四.

安装完成后,libjvm.so放在/tmp/libjvm.so目录下,可将原来安装的libjvm.so保存下,具体命令为:

#cd /usr/lib/jvm/sun-java/lib/mips32/client

:/usr/lib/jvm/sun-java/lib/mips32/client#java -version

:/usr/lib/jvm/sun-java/lib/mips32/client#cp libjvm.so libjvm.bak

:/usr/lib/jvm/sun-java/lib/mips32/client#cp /tmp/libjvm.so ./

:/usr/lib/jvm/sun-java/lib/mips32/client#java -version

即可显示更新的javaVM的版本。

时间: 2024-10-12 23:22:29

第一讲 JVM编译过程的相关文章

JVM理论:(四/2)编译过程——晚期(运行期)

一.解释器与编译器 当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为"热点代码" .为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称为即时编译器(JIT 编译器). 即时编译器并不是虚拟机必需的部分,但是,即时编译器编译性能的好坏.代码优化程度的高低却是衡量一款商用虚拟机优秀与否的最关键指标之一,它也是虚拟机内中最核心且最能体现虚拟机技术水平的部分. 解释器与编译器两者各有优势: 当程

JVM - 1 - 源文件编译过程

前言 简单的针对JAVA虚拟机(JVM)相关知识做一个总结,从此章开始这是一个系列文章,包括内容有; 1 前端编译,AOT(静态编译),JIT即时编译 2 字节码文件的结构,类加载机制以及运行时内存区域 3 关于对象的创建,内存的分配,访问的定位,判断对象是否可用,内存的回收 4 对象内存分配及垃圾回收策略以及垃圾回收算法 5 JVM执行引擎 6 JVM提供的性能监控与故障处理工作,常用的JVM参数配置 本章内容 注意:编译过程分为两个部分,运行前编译,以及运行时编译,运行前编译是在JVM工作开

JVM类加载过程

JVM类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段.它们开始的顺序如下图所示: 其中类加载的过程包括了加载.验证.准备.解析.初始化五个阶段.在这五个阶段中,加载.验证.准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定).另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通

经典面试题|讲一讲JVM的组成

JVM(Java 虚拟机)算是面试必问的问题的了,而但凡问 JVM 一定会问的第一个问题就是:讲一讲 JVM 的组成?那本文就注重讲一下 JVM 的组成. 首先来说 JVM 的组成分为,整体组成部分和运行时数据区组成部分,一般开发者关注的和面试官问的都是后者,但本文会详细讲解以上两个组成部分. 一.JVM 整体组成 JVM 整体组成可分为以下四个部分: 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库接口

在Unix系统上,从源文件、目标文件、可执行文件的编译过程

是由“编译器驱动”(compiler driver)完成的: unix> gcc -o hello hello.c 在这里,gcc的编译器驱动程序读取源文件hello.c, [cpp] view plaincopy #include <stdio.h> int main() { printf("hello, world/n"); return 0; } 并把它翻译成一个可执行目标文件hello,这个过程是分为四个阶段完成的.如下图所示,执行这四个阶段的程序(预处理器.

uboot主Makefile分析(t配置和编译过程详解)

1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_config  跳转执行mkconfig用来配置并生成config.mk(board/samsung/x210目录下为指定链接地址的与主uboot目录的config.mk不同) autuconfig.mk 2.框图 3.uboot主Makefile分析 3.1.uboot version确定(Make

Android源码下载和编译过程

这是我在编译android源码时整理记录的编译步骤和错误解决方法,期间参考了一些网上的博客和教程. 第一步: 安装ubuntu12.04,分配一盘空间50G,2G内存.如果分配1G内存编译时将报错.(我是在虚拟机中安装ubuntu,分配了50G空间,编译源码需要空间较大,建议分配50G或更多,使用wubi安装最大只能分配30G). 第二步: 安装JDK,此处选用JDK版本为JDK6-6u29 32位,下载链接http://www.oracle.com/technetwork/java/javas

uboot配置和编译过程详解【转】

本文转载自:http://blog.csdn.net/czg13548930186/article/details/53434566 uboot主Makefile分析1 1.uboot version确定(Makefile的24-29行) Makefile代码部分: [plain] view plain copy VERSION = 1 PATCHLEVEL = 30 SUBLEVEL = 4 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHL

C语言真正的编译过程

说实话,很多人做了很久的C/C++,也用了很多IDE,但是对于可执行程序的底层生成一片茫然,这无疑是一种悲哀,可以想象到大公司面试正好被问到这样的问题,有多悲催不言而喻,这里正由于换工作的缘故,所以打算系统的把之前用到的C/C++补一补.这里权且当做抛砖引玉,大神飘过. [总述] 从一个源文件(.c)到可执行程序到底经历了哪几步,我想大多数的人都知道,到时到底每一步都做了什么,我估计也没多少人能够说得清清楚楚,明明白白. 其实总的流程是这样的. [第一步]编辑hello.c 1 #include