Could someone please point me to a good tutorial on dynamic class
creation? I'm building machine learning models, which need to invent
and their own classes as they go on. I seem to remember that Java can
do this somehow.
Andrew Thompson - 13 Jul 2004 15:43 GMT
> Could someone please point me to a good tutorial on dynamic class
> creation?
What are some URL's of the bad ones?

Signature
Andrew Thompson
http://www.PhySci.org/ Open-source software suite
http://www.PhySci.org/codes/ Web & IT Help
http://www.1point1C.org/ Science & Technology
Chris Smith - 13 Jul 2004 18:32 GMT
> Could someone please point me to a good tutorial on dynamic class
> creation? I'm building machine learning models, which need to invent
> and their own classes as they go on. I seem to remember that Java can
> do this somehow.
You'll want to start out by reading the VM specification. You will end
up implementing your own ClassLoader, so look up java.lang.ClassLoader
in the API docs. Then take a look at:
http://java-source.net/open-source/bytecode-libraries
Many of those products almost certainly have tutorials and sample code.
The only one I've used is BCEL, so I can't give recommendations, but I
know Javassist and cglib are also generally popular.

Signature
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation
Roedy Green - 13 Jul 2004 20:57 GMT
>Could someone please point me to a good tutorial on dynamic class
>creation? I'm building machine learning models, which need to invent
>and their own classes as they go on. I seem to remember that Java can
>do this somehow.
see http://mindprod.com/jgloss/jasm.html
It is not great, but it is what I have.

Signature
Canadian Mind Products, Roedy Green.
Coaching, problem solving, economical contract programming.
See http://mindprod.com/jgloss/jgloss.html for The Java Glossary.
Tor Iver Wilhelmsen - 14 Jul 2004 11:25 GMT
> Could someone please point me to a good tutorial on dynamic class
> creation? I'm building machine learning models, which need to invent
> and their own classes as they go on. I seem to remember that Java can
> do this somehow.
I would recommend a different approach, where you dynamically create
sequences of "callable objects", perhaps following the Command or
Strategy pattern. Write (not synthesize) classes for the "atomic
operations", and make a class for a sequence of these atomic
operations. Then have the machine learning bit adjust parameters,
sequences etc. in these callable objects, instead of generating new
classes.
Chris Uppal - 14 Jul 2004 14:05 GMT
> Could someone please point me to a good tutorial on dynamic class
> creation? I'm building machine learning models, which need to invent
> and their own classes as they go on. I seem to remember that Java can
> do this somehow.
Assuming that you don't want to follow Tor's very sensible suggestion, and
adding to Chris's recommendations:
You will probably find some useful stuff in the GNU Kawa project -- a Scheme
system that dynamicaly compiles to Java bytecodes.
http://www.gnu.org/software/kawa/
I have seen comments to the effect that the bytecode generation library in Kawa
is easier to use than Apache BCEL, but I haven't used either of them myself.
You might also want to look for the book:
Programming for the Java Virtual Machine
Joshua Engel
which talks quite a lot about compiling non-Java to run on the JVM.
-- chris