If I have two .NET websites, each with their own CD jars and config in /bin, and running in different application pools, I understand that there are separate JVMs running Content Delivery for each site. If I put them in the same application pool, do they share a JVM? And if so, how does CD get configured (as the set of config/lib jars may conflict)?
If I put them in the same application pool, do they share a JVM?
As others have said: that may lead to problems if two copies of the same or conflicting jars are trying to get loaded in the same application pool/JVM.
But since your question was very direct: yes. Content Delivery spins up a JVM inside the application pool. If you run multiple Content Delivery web sites in a single application pool, they will share this VM.
We've tried this configuration before and were advised by SDL Tridion support that running 2 sites in the same App Pool is not supported due to this issue: Grouping app pools causing error when using the ambient data framework
This is more information than an answer. See others' answers for actual answers.