harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: Question about distributing a smaller foot print of the JRE
Date Tue, 26 Aug 2008 08:30:50 GMT
Ian Leslie wrote:
> I must have misinterpreted the Harmony web site; I thought that one of
> the goals was to allow this kind of ship only what you need.

Harmony's modularity helps in a number of ways, including simplifying
development of the entire JDK, and replacing alternate implementations
of functional areas; but at this point we only distribute the entire SE
shaped runtime.

As Andrew and others said, you can easily remove some modules, but may
find that 'only what you need' includes things you didn't know you need
(i.e. you don't call the APIs directly, but the implementation of some
methods use them).  While we have aimed to minimize the coupling between
modules, the original Java APIs force some of these spaghetti dependencies.

With Java's lazy loading model you can get a long way.  For example you
can delete RMI, the CORBA code, Swing, Logging, etc. and the libraries
will still start up and run a number of headless apps quite happily.  Of
course if you remove Regex and then call String.split() you'll get a
class not found exception.

> When I
> read that it would be modular I took that to mean you could choose what
> to ship.  Sounds like it will require work on my part to accomplish.

If you can remove further dependencies between modules by rewriting a
method's implementation then I would be interested in taking that back
into Harmony (performance etc. being the same).

Regards,
Tim

> Thanks for the info,
> 
> Ian
> 
> At 20:19 2008-08-25, Andrew Cornwall wrote:
>> You'll run into a few interdependencies. A number of modules have API
>> that
>> requires Swing/AWT (such as beans - BeanInfo has a getIcon() method).
>> Sometimes the core depends on things in other modules (String.split())
>> needs
>> regex, and a number of modules like logging use split() - although you
>> can
>> recode them so they don't.) In general, it's a little effort to make
>> things
>> smaller, but definitely not impossible.
> <snip>
>> > > have always wanted to ship
>> > > something smaller than the ~60M foot print of the JRE.  Can I
>> expect to
>> > > accomplish that from the Harmony project?
> 
> 


Mime
View raw message