MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Why use Java in Mathematica?

  • To: mathgroup at
  • Subject: [mg78336] Re: [mg78191] Why use Java in Mathematica?
  • From: "厉正吉" < at>
  • Date: Thu, 28 Jun 2007 06:26:51 -0400 (EDT)
  • References: <>

On 6/28/07, Todd Gayley <tgayley at> wrote:
> At 06:04 AM 6/25/2007, =?GB2312?B?wPfV/byq?= wrote:
> I'm glad I didn't jump right in on this thread because many of the
> things I wanted to say were already said well by others.
> Java is used for a number of things in Mathematica. Here is a
> reasonably complete list:
>     - all kinds of Internet access, including Import from URLs and
> the WebServices package
>     - database access (the DatabaseLink application)
>     - the new "data collections" feature (e.g., CountryData, ElementData, etc.)
>     - quite a few Import/Export formats
>     - some Date-related kernel functionality
>     - some Sound-related kernel functionality
>     - the PacletManager, a new component in version 6
>     - bundled add-ons like GUIKit and EquationTrekker
>     - commercial and freeware add-ons like the Digital Image
> Processing package and the SuperWidgetPackage
>     - user-written J/Link code, of which there is a huge amount
> The basic reason why Java is used for these things is, of course,
> because it lets us bring some great new features into Mathematica
> faster and more robustly than by any other means.
> David Bailey already addressed the memory issue, and I have made
> remarks about it in other MathGroup threads. The Java runtime does
> use a significant amount of memory, although the amount goes up and
> down depending on the whims of the garbage collector. The actual
> footprint of live Java objects is usually less than the memory usage
> reported by the operating system. The PacletManager itself does not
> use a large amount of RAM.
> Todd Gayley
> Wolfram Research

I am so glad that Mr. Todd gave so much information on this thread.

I know most of "what Java is used for" as listed by Todd, except for
- some Date-related kernel functionality
Is date handling difficult to implement? I do not think so. And it's
OK to "re-invent this little wheel". ("Date" is not a typo of "Data",
is it?)

Since graphics has been improved greatly and Mathematica is able to
built complex GUI, does we still need Java GUIKit?

For JRE's memory issure, I think that:
1. It really uses lots of memory, no matter physical or virtual, while
memory is still one of the most precious resouces of computers;
2. If Java is not active most of time and almost in the virtual
memory, then why we load it at all?

I suggest that there should be an option to let users chooose to load
PacletManager at start up or not.

As far as I know, JavaLINK, NetLINK is just based on the
self-reflection feature of Java and .Net. I donot know if someone uses
Borland's VCL here, but it has some self-reflection feature, too,  and
it's native library, not on a virtual machine. I am trying to create a
VclLINK in off hours. It would be quite great if I can reach some

  • Prev by Date: Re: Why use Java in Mathematica?
  • Next by Date: Re: Integration variables
  • Previous by thread: Re: Why use Java in Mathematica?
  • Next by thread: Book or Manual for 6?