Q: describe some of the GC algorithms?
(Now I think) A: ref counting + root object /descent/. Ref-counting alone isn't reliable due to islands.
Q: For a given specification, a Java version uses more memory than C and many languages. Does this impact performance, and how?
%%A: more swapping
Q: what if enough free memory?
%%A: then no performance penalty
Now i think reading/writing to 20% more memory takes more time.
Q: Is JVM a performance problem, with the new JIT compilers?
Q: Beside JVM and extra mem usage, what else would you say to criticize java performance among competing languages?
Q: How many KB for a java Object?
Q: Why do you say java userland threads are light-weight relative to kernel threads?
%%A: memory. One address space per JVM
Q: does Object.java have any field?
%%A: serial number
A: none
Q: How does the GC decide who should live in old-generation area and who in young-generation area.
Does new objects live on young or old generation area?
%%A: young, except static fields
Q: what's hashmap load factor?
Q: What can you tune in JVM
%%A: heap size, native/green thread, young generation size
Q: We agree that threads, statics and JNI are 3 types of root objects, but I've not heard of JNDI as a 4th type. Are you sure?
Q: What's so good about java's thread feature compared to other languages?
I only know 2 comparable languages -- c# and c++.
%%A(2013): memory model; concurrent collections
Q: key challenges of large java projects in your past?