Skip site navigation (1)Skip section navigation (2)
Date:      30 Mar 2002 05:55:47 -0800
From:      Anthony Green <green@redhat.com>
To:        Bill Huey <billh@gnuppy.monkey.org>
Cc:        Brian Behlendorf <brian@hyperreal.org>, freebsd-java@FreeBSD.ORG
Subject:   Re: [press@apache.org: PRESS RELEASE: ASF Reaches Agreement with Sun to  Allow Open Source Java Implementations]
Message-ID:  <1017496550.1853.22.camel@dhcppc2>
In-Reply-To: <20020330002119.GA1537@gnuppy.monkey.org>
References:  <20020328002610.GA2023@gnuppy.monkey.org> <20020327221634.M1335-100000@yez.hyperreal.org> <20020328064218.GA2973@gnuppy.monkey.org> <1017330145.2206.84.camel@dhcppc2> <20020329004939.GA1639@gnuppy.monkey.org> <1017419202.5814.1933.camel@dhcppc2>  <20020330002119.GA1537@gnuppy.monkey.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2002-03-29 at 16:21, Bill Huey wrote:
> Last time I looked, I didn't think that the Boehm GC was terribly
> modern and support either generational or incremental collection.:

Well, it's a conservative collector (and does support incremental
collection).  We currently require the use of a conservative collector.

> > Yes.  We also have a unique, and much faster native code interface
> > called CNI if you can afford to lose portability.
> 
> At what price ? 

Portability.

> The JNI layer is heavy weight for a reason. And that's
> to provide direct access directly invoke methods so that stuff like
> RMI, etc... can happen in terms of the JVM itself so that it's transparent
> to runtime typing system.

The JNI layer is heavy weight because it's designed to support multiple
implementation schemes.  While we do support JNI just fine, CNI is
specifically tailored for use with gcj and g++.  We have a program,
gcjh, which is somewhat like javah in that it creates C headers from
Java code.  However, if you're using CNI, it will create C++ headers for
those Java classes. They look almost identical to the Java classes.  You
simply implement your native methods in natural C++.  You can directly
manipulate data members, call other methods with zero overhead, etc. 
It's quite nice.  But if you want portability, you can still use JNI.

> What about class reflection ?

Yes, that all works, including method invocation.

AG



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1017496550.1853.22.camel>