JNI implications on HotSpot

Michael Finocchiaro michael.finocchiaro at gmail.com
Mon Oct 6 09:33:31 PDT 2008


OK thanks. I stand corrected and withdraw further questions about JNI from
this list.
I appreciate all the timely and detailed responses - thanks everyone!
Fino

Michael Finocchiaro
michael.finocchiaro at gmail.com
Mobile Telephone: +33 6 85 46 07 62
MSN: le_fino at hotmail.com
Blog: http://mfinocchiaro.wordpress.com
Bookmarks: http://del.icio.us/michael.finocchiaro


On Mon, Oct 6, 2008 at 6:22 PM, Tony Printezis
<Antonios.Printezis at sun.com>wrote:

> Hi,
>
> Michael Finocchiaro wrote:
>
>> So, is there a white paper that describes in detail the differences
>> between memory management for Java objects and for native objects via JNI
>> code?
>>
> I don't know if there is one. But the difference is very simple. Objects
> allocated from Java and native malloc'ed objects are totally different,
> reside on different memory areas, and are managed by different mechanisms.
> Java objects are managed by the GC, malloc'ed objects need to be explicitly
> freed (like any other malloc'ed object).
>
>> How does the garbage collection work for the JNI objects
>>
> To make sure we're clear: by "JNI objects" you mean "objects that have been
> malloc'ed from a JNI method", right? The GC doesn't know anything about them
> and, as a result, it doesn't manage them at all. It's up to the programmer
> to manage those.
>
>> and thus how does one tune a JVM when the majority of code is (!groan!)
>> C++ loaded into an application server via a war and initiated via JNI?
>>
> Carefully? :-)
>
>> There must be some best practices out there, or at least some description
>> of the differences between Java object memory management and native object
>> memory management. At least I hope there is...otherwise I suppose I'll be
>> treading water...
>>
> Maybe the GC list is not the best place for JNI best practices?
>
> Tony
>
>> Michael Finocchiaro
>> michael.finocchiaro at gmail.com <mailto:michael.finocchiaro at gmail.com>
>> Mobile Telephone: +33 6 85 46 07 62
>> MSN: le_fino at hotmail.com <mailto:le_fino at hotmail.com>
>> Blog: http://mfinocchiaro.wordpress.com
>> Bookmarks: http://del.icio.us/michael.finocchiaro
>>
>>
>> On Mon, Oct 6, 2008 at 4:43 PM, Tony Printezis <
>> Antonios.Printezis at sun.com <mailto:Antonios.Printezis at sun.com>> wrote:
>>
>>    Hi.
>>
>>
>>    Michael Finocchiaro wrote:
>>
>>        I was wondering if there were any thoughts, or better yet,
>>        white papers, on the performance implications of JNI code on
>>        HotSpot performance and configuration. The malloc()s in the
>>        native JNI code are allocated on the Eden heap with other Java
>>        objects and subject to the same rules?
>>
>>    Absolutely not. The Java heap is mmaped and we use custom memory
>>    management (GC!) and allocators for it; malloc uses a different
>>    space for allocations.
>>
>>    Tony
>>
>>        Or not? Any boundary conditions to beware of? Google was not
>>        particularly helpful so I am coming to the experts :)
>>        Cheers,
>>        Fino
>>
>>
>>
>>        Michael Finocchiaro
>>        michael.finocchiaro at gmail.com
>>        <mailto:michael.finocchiaro at gmail.com>
>>        <mailto:michael.finocchiaro at gmail.com
>>        <mailto:michael.finocchiaro at gmail.com>>
>>
>>        Mobile Telephone: +33 6 85 46 07 62
>>        MSN: le_fino at hotmail.com <mailto:le_fino at hotmail.com>
>>        <mailto:le_fino at hotmail.com <mailto:le_fino at hotmail.com>>
>>
>>        Blog: http://mfinocchiaro.wordpress.com
>>        Bookmarks: http://del.icio.us/michael.finocchiaro
>>
>>  ------------------------------------------------------------------------
>>
>>        _______________________________________________
>>        hotspot-gc-use mailing list
>>
>>        hotspot-gc-use at openjdk.java.net
>>        <mailto:hotspot-gc-use at openjdk.java.net>
>>        http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>>
>>
>>    --
>>  ----------------------------------------------------------------------
>>    | Tony Printezis, Staff Engineer    | Sun Microsystems Inc.          |
>>    |                                   | MS BUR02-311                   |
>>    | e-mail: tony.printezis at sun.com <mailto:tony.printezis at sun.com>
>> | 35 Network Drive               |
>>    | office: +1 781 442 0998 (x20998)  | Burlington, MA01803-0902, USA  |
>>    ----------------------------------------------------------------------
>>    e-mail client: Thunderbird (Solaris)
>>
>>
>>
>>
> --
> ----------------------------------------------------------------------
> | Tony Printezis, Staff Engineer    | Sun Microsystems Inc.          |
> |                                   | MS BUR02-311                   |
> | e-mail: tony.printezis at sun.com    | 35 Network Drive               |
> | office: +1 781 442 0998 (x20998)  | Burlington, MA01803-0902, USA  |
> ----------------------------------------------------------------------
> e-mail client: Thunderbird (Solaris)
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20081006/d4224c8b/attachment.html 


More information about the hotspot-gc-use mailing list