BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Do You Really Get Memory?

Do You Really Get Memory?

Bookmarks
01:00:05

Summary

Jevgeni Kabanov creates a CPU model in Java in an attempt to explain the underlying mechanism of memory performance bottlenecks and the need for a correlated hardware, OS and JVM improvement.

Bio

Jevgeni Kabanov is the founder and CTO of ZeroTurnaround, writing the prototype of JRebel, a class reloading JVM plugin, and co-founder of two open-source projects -- Aranea and Squill. Jevgeni has been speaking at international conferences for over 5 years, including JavaPolis/Devoxx, JavaZone, JAOO, QCon, TSSJS, JFokus and so on. Twitter: @ekabanov.

About the conference

The « What's Next » conference will be the biggest Java event ever organized in France as of 2011, gathering the vibrant French community. It will gather all the most important Java experts of the world around various high-level interventions. The goal of this annual conference is to bring the audience the most up-to-date information on the new and emerging technologies around the Java platform.

Recorded at:

Aug 29, 2011

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Other Memory Models

    by Faisal Waris,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Smalltalk MT (www.objectconnect.com) uses a very different approach to memory management.

    The objects are fixed in memory and not moved during garbage collection. Space freed by garbage objects is simply reused. I think that this implies that compaction is not done but not 100% sure.

    With fixed object locations, the object pointers can be safely passed to C/C++/OS API calls without extra heap allocation steps.

    If the application is allocating/freeing the same types of objects all the time then memory slots can be reused efficiently if the slots are tagged for a specific object type.

    With Smalltalk MT it is possible to build simple Windows DLLs which are traditionally built with C/C++ languages.

    From what I remember this model worked well in practice for server side code (at least).

  • Re: Other Memory Models

    by Jevgeni Kabanov,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The objects are fixed in memory and not moved during garbage collection. Space freed by garbage objects is simply reused. I think that this implies that compaction is not done but not 100% sure.


    Java used to do the same, but since something like 1.2 the generational collector were used which have tio relocate objects. Generally, relocating object makes allocation significantly more efficient (Java allocation is just a pointer increment, faster than C++ in most cases). To allocate without relocation you need free-list handling.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT