• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Do tags have an object creation overhead?

 
Ranch Hand
Posts: 185
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Is there an object creation overhead associated with JSP tags?
More specifically...
Are JSP tags *created* for every request that comes along?
Do App Servers typically use some caching mechanism t reduce the number of tags? Or is there any optimization done at all for
JSP tags?
-Alok
 
Greenhorn
Posts: 24
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Depends on the app server. Tag caching and pooling is going to be a new thing in JRun 3.1, which is coming out in beta 1 soon (next week). I don't know how Tomcat and others handle it.
I predict by the end of the year everyone will support efficient tag reuse and pooling, but there were a lot of disagreements about how to do it on the JSP spec group during the 1.2 specification development. How you do it largely depends on when release() is called on a tag handler and what that should do, and this was a matter of contention among various vendors and experts involved in the spec.
Take a look at the generated Servlet code to see how your JSP tags are handled on the back end. Also note that with the modern, optimizing-JIT JVMs (especially HotSpot and Sun & IBM 1.3 JVMs), object creation and deletion for short-lived objects is cheap, and pooling can actually interfere with the optimizing JVM's management of allocation and garbage collection.
------------------
Scott Stirling
Author of Java Server Pages Application Development
[This message has been edited by Scott Stirling (edited March 07, 2001).]
 
reply
    Bookmark Topic Watch Topic
  • New Topic