在编程武林中,Java派成立较久底子雄厚,虽然掌门人Sun已经老态龙钟,镇山之技的Java语言已经被后进的新秀.NET派的C#压得喘不过气来,甚至有时候Sun老大还得跑到.NET派潜伏学艺。但是百足之虫,死而不僵,一众Java派的拥趸们自认虽然Java渐渐技不如人,但是Java派成立日久,从Java演化过来的七十二门绝技绝非武林暴发户.NET派所能比拟,其中几大支派如apache,springsource各有绝技,而衍生出的帮会、黑社会等等更是不计其数,.NET派望尘莫及。
然而江湖传言有不世神功叫北冥神功,“北冥有鱼,其名为鲲,鲲之大,不知其几千里也……”,能够容纳几千里的大鱼必定是非常广阔的海洋,因而北冥神功正是寓含了广大恢宏之意,也体现了神功的威力。“可以吸取他人的内力以供己用,是迅速提升功力的捷径。内力既厚,天下武功无不为我所用,犹如北冥,大舟小舟无不载,大鱼小鱼无不容。”
.NET派的几位高人闭关苦练,竟然悟出北冥神功,此神功后曰:IKVM.NET.
江湖后辈小子Ray Linn偶习此神功,得心得一二,不敢自珍,特此记之,以壮大我.NET门派,千秋万代,一统江湖。
那日Ray偶来到apache支派,却看到Apache弟子们各施绝技,好不热闹. Ray对Apache绝技手痒已久,想来得习IKVM.NET已有时日,斗胆上前叫阵。迎战者哪Apache派中的小弟子,江湖人称:commons.collection.
二人拳脚来去,Ray却懒得与之多动手脚,随即默念真言:
ikvmc -assembly:commons -target:library -version:1.0.0.0 commons-collections-3.2.1.jar
collection陡然萎靡在地,想是一身内功尽被Ray所吸去,Apache派人等尽皆失色,“我等苦练十余载,内力尽为汝一夕取去”,莫敢上前。
Ray回转.NET派,试练collection的神功,借助IKVM.OpenJDK.Core之神器,神功即成,试演如下:
using System;
using org.apache.commons.collections;
using org.apache.commons.collections.functors;
namespace MyLib
{
class Program
{
static void Main(string[] args)
{
String name = "Tim";
Predicate nameJohn = new EqualPredicate( "John" );
Predicate nameTim = new EqualPredicate( "Tim" );
Predicate instanceString = new InstanceofPredicate(typeof(String) );
Predicate instanceDouble = new InstanceofPredicate(typeof(Double));
Console.Out.WriteLine( "Is Name John?: " + nameJohn.evaluate( name ) );
Console.Out.WriteLine("Is Name Tim?: " + nameTim.evaluate(name));
Console.Out.WriteLine( "Is this a String?: " + instanceString.evaluate( name ) );
Console.Out.WriteLine( "Is this a Double?: " + instanceDouble.evaluate( name ) );
}
}
}
相较原有神功:
import org.apache.commons.collection.Predicate;
import org.apache.commons.collection.functors.*;
String name = "Tim";
Predicate nameJohn = new EqualPredicate( "John" );
Predicate nameTim = new EqualPredicate( "Tim" );
Predicate instanceString = new InstanceofPredicate( String.class );
Predicate instanceDouble = new InstanceofPredicate( Double.class );
// Testing all predicates for "Tim"
System.out.println( "Is Name John?: " + nameJohn.evaluate( name ) );
System.out.println( "Is Name Tim?: " + nameTim.evaluate( name ) );
System.out.println( "Is this a String?: " + instanceString.evaluate( name ) );
System.out.println( "Is this a Double?: " + instanceDouble.evaluate( name ) );
竟然绝无二致。
偌大Java江湖,从此为我.NET所用,哇哈哈。
分享到:
相关推荐
IKVM.NET是一个开源项目,由Glenn Block创建,它的全称是"IKVM - Java for .NET"。这个项目的主要目标是将Java平台的核心部分移植到.NET Framework上,使得Java程序能够在.NET环境中运行。IKVM.NET 8.1.15是该项目的...
http://weblog.ikvm.net/default.aspx 解压ikvmbin ,并将%IKVM_HOME%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。 将java的jar包转换为.dll控件 使用的命令:ikvmc -out:XXXX.dll XXXX.jar ...
IKVM(Java for .NET)是一个开源项目,它实现了Java虚拟机(JVM)和Java类库,使得Java程序可以在.NET环境中运行。标题中的"IKVM-8.8.0-bin-net6.0"指的是该版本是专为.NET 6框架优化的IKVM发布版,意味着它可以...
Java 8引入了许多重要的新特性,如lambda表达式、方法引用来支持函数式编程,以及Stream API,这些都可以通过IKVM.NET在.NET环境中使用。 在实际应用中,IKVM.NET的使用流程大致如下: 1. 下载并安装IKVM.NET的相应...
http://weblog.ikvm.net/default.aspx 解压ikvmbin ,并将%IKVM_HOME%\bin添加到path中。此处的%IKVM_HOME%是指解压后ikvm的主目录。 将java的jar包转换为.dll控件 使用的命令:ikvmc -out:XXXX.dll XXXX.jar ...
IKVM(IronJava Virtual Machine)是一个开源项目,它实现了Java虚拟机(JVM)和Java类库,并将它们集成到.NET Framework中。这样,开发者可以在.NET环境中运行Java应用程序,同时也能利用.NET平台的特性和资源。这...
IKVM.NET是一个开源项目,由Glenn Block创建,它的全称是"Java for .NET",旨在为.NET Framework提供一个完整的Java虚拟机(JVM)实现。这个项目的核心目标是让Java应用程序能够在Microsoft的.NET环境中无缝运行,...
IKVM是一种开源项目,全称为“IKVM.NET”,它是一个.NET框架的实现,允许Java应用程序在.NET环境中运行。IKVM的核心功能是将Java字节码转换为.NET中间语言(IL),使得Java类库可以在.NET平台上无缝使用。在这个场景...
IKVM(Java for .NET)是一款开源项目,由Jeroen Frijters开发,它将Java虚拟机(JVM)和Java类库实现为.NET框架的一部分。这个工具允许.NET开发者利用Java库,将它们转换为.NET组件,进而可以在C#等.NET语言中直接...
IKVM(Java to .NET)是一个开源项目,它实现了Java虚拟机(JVM)和Java类库,使得Java程序可以在Microsoft.NET平台上运行。这个“IKVM-8.2.4630.5.rar”压缩包包含的是IKVM的一个特定版本,即8.2.4630.5,它提供了...
jar包转换成.net的工具,包含ikvmsrc-8.1.5717.0.zip、ikvmbin-8.1.5717.0.zip、ikvmbin-7.2.4630.5.zip三个文件。...IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。
IKVM.NET是一个开源项目,由Glenn Block创建,它的全称是"I Know VM for .NET",是一个将Java虚拟机(JVM)和Java类库移植到.NET Framework的实现。这个项目的主要目标是允许.NET开发者能够使用Java库,同时也能让...
IKVM是一种开源项目,全称为"IKVM.NET",它实现了Java虚拟机(JVM)并将其集成到.NET Framework中,使得.NET开发者可以利用Java库和程序在C#等.NET语言中运行。这个资源包“ikvm资源及测试包”显然是针对想要在C#...
IKVM.NET的主要功能之一是允许.NET开发者利用Java类库,比如在描述中提到的"hanlp.jar",这是一个著名的中文分词和自然语言处理库。通过IKVM.NET,开发者无需将代码迁移到Java环境中,可以直接在C#或其他.NET语言的...
IKVM.NET是一个开源项目,由Glenn Block创建,它的全称是"IKVM: Java for .NET"。这个项目的主要目标是实现一个Java虚拟机(JVM)和Java类库的.NET Framework版本,使得Java代码可以在.NET环境中运行,同时也允许...
.NET调用Java IKVM-8.1.5717.1是一个技术组合,它允许.NET Framework应用程序调用和利用Java代码和库。IKVM(Java for .NET)是一个开源项目,由Ganesh Venkatraman开发,其主要目标是实现Java虚拟机(JVM)和Java ...
4. **部署灵活性**:由于ikvm将Java代码编译为.NET IL,因此,Java应用程序可以作为.NET组件进行部署,无需在目标机器上安装完整的JVM。 5. **开源社区支持**:ikvm是开源项目,由全球开发者共同维护和改进。这意味...
标题“ikvmsrc-8.1.5717.0_C#_ikvm8_”提及的是IKVM库的一个版本,这是一个开源项目,它允许在.NET平台上运行Java应用程序和库。IKVM将Java虚拟机(JVM)和Java Class Library的实现转化为.NET Framework兼容的组件...
基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作。更难能可贵的是,IKVM同时支持微软的.NET Framework 和 Mono。
这个项目的核心是IKVM.NET,一个实现了Java虚拟机(JVM)和大部分Java核心类库的.NET版本。IKVM这个名字是"Java for .NET"的缩写,它的目标是将Java技术融入.NET世界,使开发者能够利用.NET的优势来开发和运行Java...