- 4NLMs - CPQFM.NLM570
- 5SecureCRT for Linux94
- 6DWG to PDF Converter MX115
- 7reCsvEditor Linux134
- 8Sniffer Tools - NETWATCH299
- 9AXIGEN Mail Server Office Edition Free297
- 11GWGuardian | Multi-Layered Anti-Spam & Anti-Virus Defense283
- 12NDS Specific - NDS Exporter312
- 14Portlock Boot CD624
- 15FreeTpl Free PHP Shopping Cart311
- 1reCsvEditor Linux134
- 2Find and Replace It For Linux38
- 3DWG to PDF Converter MX115
- 5EncryptStick Linux206
- 6Directy CMF203
- 7Stimulsoft Reports.Fx for Flex183
- 8NolaPro Free Accounting180
- 9PeaZip for Linux53
- 10ApPHP MVC Framework119
- 11Thinfinity Remote Desktop Server101
- 12Devart ODBC Driver for Firebird125
- 13Vista Family Tree Maker97
- 14JNIWrapper for Linux (x86/x64)109
- 15RationalPlan Single Project for Linux76
Janino is a compiler that reads a Java expression, block, or source file, and generates Java bytecode that is loaded and executed directly. It is not intended to be a development tool, but an embedded compiler for run-time compilation purposes, such as expression evaluators or "server pages" engines like JSP.
The major design goal was to keep the compiler small and simple, while partially sacrificing completeness. I don't like the idea of carrying around huge libraries for simple applications. See Parser for the list of implemented and missing language features.
When do you need an efficient expression evaluator?
Say you build an e-commerce system, which computes the shipping cost for the items that the user put into his/her shopping cart. Because you don't know the merchant's shipping cost model at implementation time, you could implement a set of shipping cost models that come to mind (flat charge, by weight, by number of items, ...) and select one of those at run-time.
In practice, you will most certainly find that the shipping cost models you implemented will rarely match what the merchant wants, so you must add custom models, which are merchant-specific. If the merchant's model changes later, you must change your code, re-compile and re-distribute your software.
Because this is so unflexible, the shipping cost expression should be specified at run-time, not at compile-time. This implies that the expression must be scanned, parsed and evaluated at run-time, which is why you need an expression evaluator.
A simple expression evaluator would parse an expression and create a "syntax tree". The expression "a + b * c", for example, would compile into a "Sum" object who's first operand is parameter "a" and who's second operand is a "Product" object who's operands are parameters "b" and "c". Such a syntax tree can evaluated relatively quickly. However, the run-time performance is about a factor of 100 worse than that of native Java code.
Platform: Linux , Unix , Mac PPC , WinXP
Abbot helps you test your Java UI. Abbot framework comprises Abbot, which lets you programmatically drive UI components, and Costello (built on Abbot) which allows you to easily launch, explore and control an application.
DateAug 24, 2010
JBuzzer project is a free java application that allows to load audio samples and assign them to keys on your computer keyboard. Currently audio samples in PCM (*.wav) and MPEG Layer 3 (*.mp3) are supported.
DateAug 5, 2010
PETALS is an ObjectWeb Java Business Integration (JBI) platform. PETALS provides lightweight and packaged integration solutions, based on JSR-208 specifications, with a high focus on distribution and clustering.
DateSep 9, 2010
JikesTM is a compiler that translates JavaTM source files as defined in The Java Language Specification into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification.
DateAug 23, 2010
AgileTrack is a Java based application for tracking software development in agile development teams.
DateAug 17, 2010
AuthorAdam M. Lane