http://www.tginvents.com/tushar/speedoflight.htm
http://www.tginvents.com/tushar/Ancients.htm
http://www.tginvents.com/tushar/Agasti_cell.htm
http://www.indiastar.com/kak4.htm
Sunday, December 26, 2010
Friday, December 3, 2010
Few Basic Things about String intern( ) in Java
Consider a scenario when we read a csv file with very large number of records, we may end up a a lot of duplicate String objects. To avoid duplicate String objects getting created in these kind of scenarios we can use String.intern( ) method.
How it works ? Internally there will be Map/Table of String literals. First time when intern( ) is called on a String, it is added to this table. Subsequent calls String.intern ( ) will return reference to the String in the previous mentioned Table/Map.
Other benefit of interning is that == comparison is much faster.
Say you interned few Strings which got added in the previous mentioned table. How do you remove any of those from the table ? Oops ! Are we Struck here until the program ends ?
In the most recent JVMs, interned Strings are implemented as Soft references, so that they can be garbage collected soon.
Last few points:
- String literals at compile time will be automatically interned, But literals created on run time(like command line arguments) will not be interned.
Wednesday, December 1, 2010
Subscribe to:
Comments (Atom)