阅读更多

60顶
2踩

编程语言

原创新闻 BicaVM:基于JavaScript的JVM

2011-11-22 12:49 by 资深编辑 luiang1018 评论(71) 有23714人浏览
用JavaScript编写一个Java虚拟机,这个想法怎么样?你会不会认为很疯狂呢?

由于效能问题,到目前为止,用JavaScript编写JVM似乎是非常困难的。可是你要知道,JavaScript引擎速度已经大大提升了。也正因为如此,一位超级大牛,Artur Ventura,决定用JavaScript来编写一个标准的Java虚拟机,而且他已经快完成了。


Artur在他的博客中很好地解释了这一动机。他认为Web浏览器应该有一个虚拟机,使其能够运行所有的语言,而不是只能编译JavaScript。Artur同时指出,这样做还有一个好处,即利用JVM方式,你可以得到一个全自动的沙盒环境,并且你可以简单地将JVM发送到服务器,即实现浏览器的独立持久性。

在经历了六个月的奋战后,Artur用JavaScript编写的Java虚拟机——BicaVM终于出炉,它可以运行60%的Byte Code。当然,它还没有经过优化,但是已可运行在iPad和iPhone上,同时它还支持一个DOM的JNI接口。

BicaVM虚拟机的代码可以通过GitHub获得。了解更多信息可以访问Artur Ventura的博客

Via  i-programmer
  • 大小: 5.1 KB
60
2
评论 共 71 条 请登录后发表评论
71 楼 wv1124 2011-12-01 11:52
NodeJs也是类似的在服务器端运行的js,因为它比其它解释型的语言更高效
70 楼 mingliang_luo 2011-11-27 14:18
这也没什么牛的,类似google gwt的实现,你也可以参数gwt写出一个jvm虚拟机来,呵呵
69 楼 yawei 2011-11-25 23:23
其实这哥们完全就是因为不爽ios不支持java而已。
68 楼 jiangyingji 2011-11-25 22:39
zwllxs 写道
弱弱的问下,java通过native调用,能操作本地资源,这个,javascript能做到??用js开发的虚拟机,运行在上面的程序,能操作硬件,文件,获取本机信息么?
简单的说,运行java要装载class,js怎么装载呢?
求真相




class文件的载入,看下源码吧,有的。

如果让他随便调用本地方法,那就不安全了。。。
67 楼 黑白两相望 2011-11-25 14:18
super_monkey 写道
大家冷静 大牛发话了 快看


http://www.cnblogs.com/cping1982/archive/2011/11/23/BicaVM.html

  赫然发现 自己被帖子的作者 批评了 ...
66 楼 super_monkey 2011-11-25 13:05
大家冷静 大牛发话了 快看


http://www.cnblogs.com/cping1982/archive/2011/11/23/BicaVM.html
65 楼 yutianzzu 2011-11-25 12:26
太牛b了,从来没想过会这样!!!!
64 楼 SeaAndHill 2011-11-25 09:31
一看标题,就是风马女不相及的事情,垃圾
63 楼 mfkvfn 2011-11-25 09:18
feitianmayi1986 写道
这篇文章是啥意思,用JS写个跑JAVA程序的JVM,还是写一个跑JS的VM?


客户端直接编译运行Java代码。比如
<script language="java">
java代码
</scipt>
62 楼 沙舟狼客 2011-11-25 08:51
不是吧js写个jvm,能用吗?
61 楼 feitianmayi1986 2011-11-25 08:34
这篇文章是啥意思,用JS写个跑JAVA程序的JVM,还是写一个跑JS的VM?
60 楼 ini_always 2011-11-24 22:08
http://blog.csdn.net/cping1982/article/details/7005513
59 楼 wandou 2011-11-24 19:31
可以运行60%的bytecode,那就是不行了。。。
58 楼 gaoyi2009 2011-11-24 18:14
编程内力太深厚了!大师级人物啊!
57 楼 fandayrockworld 2011-11-24 16:43
fandayrockworld 写道
zwllxs 写道
弱弱的问下,java通过native调用,能操作本地资源,这个,javascript能做到??用js开发的虚拟机,运行在上面的程序,能操作硬件,文件,获取本机信息么?
简单的说,运行java要装载class,js怎么装载呢?
求真相

看这篇文章的意思,这里的JVM应该指的是JavascrpitVM,而不是JavaVM吧,而这个JVM的“native调”用,应该就是上面说的“同时它还支持一个DOM的JNI接口”吧。

好吧,我二了,看来不是,同求解···
56 楼 ankuino1 2011-11-24 16:38
你就是我心中的神啊。
55 楼 13号避难所专业外出打酱油人员 2011-11-24 16:19
我的个神啊
54 楼 fandayrockworld 2011-11-24 16:19
zwllxs 写道
弱弱的问下,java通过native调用,能操作本地资源,这个,javascript能做到??用js开发的虚拟机,运行在上面的程序,能操作硬件,文件,获取本机信息么?
简单的说,运行java要装载class,js怎么装载呢?
求真相

看这篇文章的意思,这里的JVM应该指的是JavascrpitVM,而不是JavaVM吧,而这个JVM的“native调”用,应该就是上面说的“同时它还支持一个DOM的JNI接口”吧。
53 楼 lzy5710303 2011-11-24 14:57
震惊了 太牛B了
52 楼 kid1412.c 2011-11-24 13:41
其实用java造就一个JVM- -,很牛B,其实我一直在想,使用JS和COOKIE,在浏览器中创建一个容器,类似于spring的beanfactory,有一个持久对象的功能,

很多时候,很多人使用使用一个页面作为js的context,这样做的确JS的确是一个容器.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 模糊查询like和not like

    简单介绍SQL中LIKE、NOT LIKE模糊查询语句的使用以及常见注意事项。

  • Hive中rlike,like,not like,regexp区别与使用详解

    1.like的使用详解 1.语法规则: 格式是A like B,其中A是字符串,B是表达式,表示能否用B去完全匹配A的内容,换句话说能否用B这个表达式去表示A的全部内容,注意这个和rlike是有区别的。返回的结果是True/False. B只能使用简单匹配符号_和%,”_”表示任意单个字符,字符”%”表示任意数量的字符 like的匹配是按字符逐一匹配的,使用B从A的第一个字符开始匹配,所...

  • 在SQL Server中,`NOT LIKE` 是一种用于搜索列中的指定模式的运算符

    假设有一个名为 `Employees` 的表,其中包含以下列:`EmployeeID`, `FirstName`, `LastName`, `Department`。这个查询会返回所有 `LastName` 列中不以字母 'M', 'N', 'O' 或 'P' 开头的员工信息。#### 示例3: 查找所有姓氏不是以 'M', 'N', 'O' 或 'P' 开头的员工。这个查询会返回所有 `Department` 列中不以字母 'S' 开头的员工信息。- `[^]`:表示不在方括号内的任何单字符。

  • asp mysql like,在ASP中使用SQL语句之3:LIKE、NOT LIKE和 BETWEEN

    你已经在上面取出w打头记录的例子中看到了like的用法。like判定词是一个非常有用的符号。不过,在很多情况下用了它可能会带给你太多的数据,所以在用到它之前最好先开动脑筋多想想自己到底想获得什么数据。假设你想取出5位数字的sku号码,而且其开头是1结尾是5,那么你可以用下划符(_)代替%符号:sql = "select * from products where p_sku like 1___5"...

  • sql not like 数据遗漏

    在一NULL列,两者LIKE并NOT LIKE反对任何搜索字符串将返回NULL。或者是使用 not exists()

  • X++中sql文使用like和not like的方法

    X++的sql文不支持like关键字进行模糊查询。 所以可以用下面两种方法来实现。 1.  strfmt方法 qbr.value(strfmt("%1*", strVar )) qbr.value(strfmt("*%1*", strVar)) 如果有多个模糊查询的话,当然可以增加多个变量。 如果想进行not like 查询的话,需要用!%1 qbr.value(strFmt("

  • 一个sql很多个not like的简化语句

    如: select * from table where `zongbu` not like '%北京%' and `zongbu` not like '%上海%' and `zongbu` not like '%深圳%' and `zongbu` not like '天津' and `zongbu` not like '香港' and `zongbu` not like '沈阳' SELECT

  • 精妙SQL语句集合(转)

    下列语句部分是Mssql语句,不可以在access中使用。 SQL分类:  DDL—数据定义语言(Create,Alter,Drop,DECLARE)  DML—数据操纵语言(Select,Delete,Update,Insert)  DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 Create

  • 墨者学院 - SQL注入实战(防注入)-Access

    使用御剑扫描,发现sqlin.asp文件,打开发现是乱码 必应一下 access通用防注入系统也可以知道注入信息会被记录到sqlin.asp中,这相当于一个文件上传漏洞,可以直接在sqlin.asp中写入一句话 在url后面添加一句话代码and 1=&amp;lt;%eval request(&quot;chopper&quot;)%&amp;gt;,在回显的信息中发现被记录的注入信息只有and 1=,后面的一句话被过滤了 ...

  • SQL Server 区分大小写多条件模糊查询

    想要查询同时包含且只包含大写字母和小写字母的字段,使用语句: SELECT * FROM Table WHERE rtrim(col) not like '%[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]%' and rtrim(col) like '%[abcdefghijklmnopqrstuvwxyz]%' and rtri...

  • sql中的like统配符

    google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//<script type="text/javascript"

  • SQL通用防注入系统asp版 插一句话漏洞利用

    今晚群里朋友叫看个站,有sql防注入,绕不过,但是有发现记录wrong的文件sqlin.asp 既然做了记录,再查看了下它的记录文件 于是想着构造个asp一句话写进去,前面几种没加密的都失败了,于是写了个加密的. ┼攠數畣整爠煥敵瑳∨≡┩愾 密码 a (加密方式是: ANSI-&gt;Unicode) 提交 and 1= ┼攠數畣整爠煥敵瑳∨≡┩愾 ht...

  • SQL Server Like 与 通配符

    LIKE 操作符 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 演示:执行SQL, SELECT StudentID ,StudentName ,ID FROM [BlogDemo].[dbo].[Student] 得到结果如下: 如果我们要查找StudentNam...

  • SQL语句高级(八)——not like、year函数

    一、not like模糊查询 查询student表中不姓C的同学记录: mysql&amp;gt; select * from student where sname not like 'C%'; +-----+--------+---------------------+-------+-------+ | sno | sname | sbirthday | class | sse...

Global site tag (gtag.js) - Google Analytics