技术分享 把JVM移植到ARM环境中

开发 后端
对JVM移植到arm环境问题一直很困惑,终于功夫不负有心人,一个偶然的机会发现了把JVM移植到arm环境中方法,这里和大家分享一下,希望对你的学习有所帮助。

本文向大家简单介绍一下如何把JVM移植到arm环境中,主要有其个小步骤,相信通过本文的介绍你对JVM移植的问题的解决方法有深刻的认识。

如何把JVM移植到arm环境中

环境:

OS:ubuntu,scratchbox->arm

我实际移植JVM的步骤:

1,提供linux里面libX打头的那些库,它会提示你在configure的过程中,你根据需要下载并安装,有时候只需要做个连接,因为它需要的是.so,而不是.so.X.X等等,比如ln-slibXtst.so.6.1.0libXtst.so

2,下载jamvm-1.5.1.tar.gz从http://sourceforge.net/project/showfiles.php?group_id=75148/&abmode=1./configure
make
fakerootmakeinstall

3,安装jikes。 

  1. dpkg-buildpackage-fakeroot-uc-b  
  2. dpkg-i../jikes_XXX.deb 

4,下载classpath-0.92.tar.gz从ftp://ftp.gnu.org/gnu/classpath/./configure--with-jikes--enable-jni
make
fakerootmakeinstall
当然如果要保证编译通过的话,你们必须提供jikes工具和mozilla的相关的头文件,也可以通过./configure--with-jikes--enable-jni--disable-plugin来跳过plugin的编译,如果你们不提供web页的插件的话;实际上在第一步环境配置的时候我们提供的环境里面已经有这些相关的类库了,所以如果只是为了开发应用程序的话是,是不需要再编译的这个包的

5,编译的时候记得看readme和install;

6,exportjamvm环境到PATH中;

exportPATH=/usr/local/jamvm/bin:$PATH,这时候可以通过jamvm-version来看版本信息了;

7,classpath里面有许多的examples,比如可以通过jamvmgnu.classpath.examples.swing.Demo来执行示例代码;

一切ok了,绝大部分的java程序是可以跑的了。

后记:

我后来重新做了一遍,发现放在我们的板子上经常会出现这样的一个问题: 

  1. “Cannotcreatesystemclassloader  
  2. Exceptionoccurredwhileprintingexception
  3. (java/lang/NoClassDefFoundError)...  
  4. Originalexceptionwasjava/lang/UnsatisfiedLinkError” 

我把/usr/local/classpath/share/classpath/glibj.zip展开后,重新copy到我的板子的/mnt/tflash上,然后 

  1. cd/usr/local  
  2. ln-s/mnt/tflash/classpathclasspath  
  3. jamvmHelloWorld 

输出 

  1. HelloWolrd!  
  2.  

程序正常运行,说明JVM移植成功。

【编辑推荐】

  1. 解析JVM和JIT诊断技术的用法
  2. JVM内存限制问题解决方案
  3. 揭露MyEclipse JVM内存不足的内幕
  4. 横向对比JVM Server模式和Client模式
  5. Linux和Windows下的Tomcat JVM内存设置 


 

责任编辑:佚名 来源: hi.baidu.com
相关推荐

2011-06-09 11:06:36

JVM

2021-10-14 15:48:28

鸿蒙HarmonyOS应用

2019-12-09 14:13:41

awkPython编程语言

2010-07-27 10:11:04

Flex4

2022-06-21 11:30:22

littleVGL鸿蒙

2011-03-17 17:36:01

iptables嵌入式Linux

2012-05-18 20:30:19

微软 Android ap

2010-09-07 14:05:15

Arm移植pppoe

2015-08-07 09:55:25

Windows安卓iOS移植

2013-03-25 17:16:11

2014-03-18 15:23:58

星际争霸ARM平台

2020-10-19 10:28:58

liteos-a移植STM32MP157

2010-08-12 10:43:36

DB2 SQL移植

2015-05-05 13:57:12

AndroidWindows

2010-04-14 10:41:40

Oracle移植

2010-04-16 15:32:03

Oracle移植

2010-08-11 15:51:45

Flex DataGr

2011-05-12 13:48:07

MySql数据库本地移植

2011-08-05 10:40:54

2010-08-03 10:45:40

Sharepoint
点赞
收藏

51CTO技术栈公众号