Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!.POSTED!not-for-mail From: BGB Newsgroups: comp.lang.java.programmer Subject: Re: Applet can't detect 64-bit JRE Date: Thu, 18 Aug 2011 03:20:40 -0700 Organization: albasani.net Lines: 30 Message-ID: References: <7NOdnY4GqoJGENHTnZ2dnUVZ_judnZ2d@westnet.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: news.albasani.net 7xGCg7unYuUUAI8F7Vy0zyQM8lWKKwrAsflZEAo2nSIC/C6ctcUwvsuDtlm7QFYQsdrGZD/+AUjFPcdjJ8raposHSUvQJnehG2QTUW86MJzjdp7dWnUKi3qVsTGqcTQH NNTP-Posting-Date: Thu, 18 Aug 2011 10:25:36 +0000 (UTC) Injection-Info: news.albasani.net; logging-data="PadCgqViFzkFAe2EaIJO24deq+zQjvIWpNZzy4Ou75xMrB54mdwR1nl15v520jimpQtT6G8rsliRAiYXjd1wC2HxpnRv0WwTZ9jZNqAbB/u2elmYTKEUGy/mzU1hg5X1"; mail-complaints-to="abuse@albasani.net" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0 In-Reply-To: Cancel-Lock: sha1:qj/ehdaFPIihbCfvVTOFg59uJLE= Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:7212 On 8/17/2011 11:18 PM, Knute Johnson wrote: > On 8/17/2011 10:21 PM, Qu0ll wrote: >> I stand corrected - it appears that only Java Web Start *applications* >> work with this combination, all other true applets result in an attempt >> to download and install a 32-bit JRE or complain of missing plug-ins. >> >> Why should there be any difference??? > > I think it is because the Applet runs in the browser plugin and JWS runs > the installed JVM. > yeah. for applets and plugins, they generally run in the same process as, or a process managed by, the browser. since, canonically, one can't have mixed 32/64 bit processes, then any plugins need to match the number of bits. (theoretically at least, one could hack around the WoW64 mechanism on Windows to allow mixed-mode processes, using some amount of ASM code and similar, but this is likely to get very nasty very quickly). this actually applies to pretty much any library or DLL, as well as some uses of COM objects, ... the result is some amount of redundancy with both 32 and 64 bit versions of many libraries being kept around by the OS, ... this doesn't apply to an externally run JVM, since then the JVM has its own process and can use whatever number of bits it wants.