Wednesday, June 9, 2010

Floating Point Arithmatic..

Did you ever face something like this : X, and Y are two floating point numbers. You print their values and they are exactly same. and then you write a simple logic like this..

if(x!=y) {

printf("x and y are not equal) ;

}

and it prints that x and y are not equal ;-) Apparantly it happens often. and if you wondered why
the following links might help you.

Its all got to do with floating point numbers..

http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm

http://stackoverflow.com/questions/588004/is-javascripts-math-broken

http://dlc.sun.com/pdf/800-7895/800-7895.pdf

Tuesday, June 8, 2010

what is serialVersionUID ?

Everytime you write a class that implements serializable interface the IDE shows a warning asking to add serialversionUID, I wondered why couple of times but looked it up to find the reasons..

Below is a good link that explains why... the point to note is serialVersionUID is an exception to the rule that “static fields don’t get serialized”

http://www.javablogging.com/what-is-serialversionuid/

Monday, May 24, 2010

Memory leaks in JAVA..

Whenever question was asked about Memory management in JAVA (vs) Memory management in C++, the only thing I knew of is that

- in C++, memory leaks can occur and programmer needs to take care of them by writing cleanup code. and there is also a problem of dangling pointers.
- Clearly in JAVA, garbage collector takes care of memory management, in the sense, it cleans up all the objects to which no references are left. Clearly problem of dangling pointers is addressed. But Is it the same case with Memory leaks ?

There is more to memory leaks in JAVA - some good links.

http://www.ibm.com/developerworks/rational/library/05/0816_GuptaPalanki/

http://jb2works.com/memoryleak/index.html

http://jb2works.com/memoryleak/topfive.html