BCEL

- Front Page
- News & Status

Documentation

- Manual
- FAQ

Download

- Binaries
- Source Code

Get Involved

- CVS Repository
- Mailing Lists
- Issue Tracking
- Contributors
- License
- Projects

FAQ

> Q: Is the BCEL thread-safe?
> A: BCEL was (deliberately) not designed for thread safety. See "Concurrent Programming in Java", by Doug Lea, for an excellent reference on how to build thread-safe wrappers.

> Q: Can I use BCEL in a commercial product?
> A: Yes, this is covered by the Apache License, if you add a note about the original author and where to find the sources, i.e., this URL.

> Q: (Typically for users of Xalan (XSLTC)) I'm getting

>         ...
>         ClassGenException: Branch target offset too large for short

> when compiling large files.
> A: The answer lies in internal limitations of the JVM, branch instruction like goto can not address offsets larger than a short integer, i.e. offsets >= 32767.
> The solution is to split the branch into in intermediate hops, which the XSLTC obviously doesn't take care off. (In fact you could replace gotos with the goto_w instruction, but this would help in the other cases).

> Q: Can I create or modify classes dynamically with BCEL?
> A: BCEL contains useful classes in the `util` package, namely `ClassLoader` and `JavaWrapper`. Take a look at the `ProxyCreator` example.

Copyright © 1999-2001, Apache Software Foundation