Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 56917
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T17:36:35+00:00 2026-05-10T17:36:35+00:00

Recently I converted a Swing application to Webstart. The process was pretty straightforward, but

  • 0

Recently I converted a Swing application to Webstart. The process was pretty straightforward, but I found that after I close all windows, my application’s JVM did not terminate. The thread dump showed that there are a couple of non-daemon threads, notably Swing’s EDT, AWT and a couple of websart related threads.

The actual strategy used is that each window increments a counter when it is created and decrements one when it is closed. The default close operation is DISPOSE_ON_CLOSE. Wen the counter reaches zero, I stop all threadpools and release all JNI resources.

When I launched the application from a bat file (same JARs), it terminated fine when all windows were closed, so I figured that the problem has something to do with Webstart.

Now the questions:

  1. Can anybody tell me what exactly is happening? Why does Webstart leave zombie JVMs?
  2. Is there a way to release the Webstart resources explicitly without halting the JVM?
  3. I’ve always had the opinion that calling System.exit() encourages the sloppy practice of not releasing your resources and relying on the OS to clean up after you (which can lead to nasty surprises if you reuse the code later)… am I missing something?

See also the followup question for detecting whether the app has been launched by Webstart.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T17:36:35+00:00Added an answer on May 10, 2026 at 5:36 pm

    Because of bugs in WebStart, yes. WebStart starts up a ‘secure thread’ for it’s own purposes that interacts with the EDT. This SecureThread prevents the automatic termination of the Java process one would expect when all windows and AWT resources are disposed.

    For more information see http://www.pushing-pixels.org/?p=232

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 197k
  • Answers 197k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer When editing application settings, you must "payment on" in the… May 12, 2026 at 7:16 pm
  • Editorial Team
    Editorial Team added an answer I dont know if this will address your situation --… May 12, 2026 at 7:16 pm
  • Editorial Team
    Editorial Team added an answer string requestedDomain = HttpContext.Current.Request.ServerVariables["HTTP_HOST"]; string requestScheme = HttpContext.Current.Request.Url.Scheme; string requestQueryString… May 12, 2026 at 7:16 pm

Related Questions

I recently converted a ruby library to a gem, which seemed to break the
I recently converted a site from asp to CF. Unfortunately, alot of the old
I recently was quickly shortening some method names in a JavaScript file and ran
I recently converted some Silverlight 3 WCF services to use the new binary http

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.