Main > Free Download Search >

Free bytecode software for linux

bytecode

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 59
B::Bytecode 5.8.8

B::Bytecode 5.8.8


B::Bytecode is Perl compilers bytecode backend. more>>
B::Bytecode is Perl compilers bytecode backend.

SYNOPSIS

perl -MO=Bytecode[,-H][,-oscript.plc] script.pl

Compiles a Perl script into a bytecode format that could be loaded later by the ByteLoader module and executed as a regular Perl script.

EXAMPLE

$ perl -MO=Bytecode,-H,-ohi -e print "hi!n"
$ perl hi
hi!

OPTIONS

-b

Save all the BEGIN blocks. Normally only BEGIN blocks that require other files (ex. use Foo;) are saved.

-H

prepend a use ByteLoader VERSION; line to the produced bytecode.

-k

keep the syntax tree - it is stripped by default.

-ooutfile

put the bytecode in instead of dumping it to STDOUT.

-s

scan the script for # line .. directives and for < goto LABEL > expressions. When gotos are found keep the syntax tree.

<<less
Download (12.2MB)
Added: 2007-06-26 License: Perl Artistic License Price:
850 downloads
jclasslib bytecode viewer 3.0

jclasslib bytecode viewer 3.0


jclasslib bytecode viewer is a Java bytecode viewer and class modification library. more>>
JProfiler is an award-winning all-in-one Java profiler. JProfilers intuitive GUI helps you find performance bottlenecks, pin down memory leaks and resolve threading issues.
Even though JProfiler has a powerful feature set, its a Java profiler that is extremely easy to use! JProfilers user interface provides a unified view on the profiled application and puts all the information you need right at your fingertips with its intuitive hierarchy of views.
Configure your application for profiling
When starting up JProfiler, the start center is brought up. Here you can manage and start your profiling sessions. To configure your application for profiling, change to the "New session" tab and click on the New session button. Enter the required information into the session config dialog as described below and select Ok to start profiling. Thats all it takes. Note the Help button which appears on all of JProfilers dialogs displays a context sensitive explanation of all features.
While the configuration dialog displays numerous options that you will not want to miss after becoming familiar with JProfiler, entering the basic pieces of information is really very simple:
1. Enter a name for your session.
2. Enter the name of your main class.
3. Enter your class path.
4. Press Ok.
Before profiling is actually started, the profiling settings dialog is displayed where you can select the focus for your profiling run. Although profiling produces an overhead when running your application, you can minimize it by choosing a setting for which JProfiler only records information that is interesting for you.
If you want to fine-tune your profiling settings, the [Edit] button brings up a dialog with all available configuration options for profiling.
Observe classes and allocations
To find out what is going on the heap in terms of objects and classes, turn to the classes monitor. It gives you continuous updates and lets you set marks to observe changes over time. To see references, allocations and object data for your selection, you can take a snapshot by clicking on the camera in JProfilers toolbar.
If you want to know where your objects are allocated, you can go to the allocation monitor. Here, you can inspect the call tree and find out what method calls have caused the allocation of a selected class or package. Just like in the allocation monitor, you can display this data for live and garbage collected objects.
An cumulated overview on which methods are responsible for allocations is given by the allocation hot spots view. Each hot spot can be expanded and the backtraces that lead to the invocation of the hot spot are displayed. You can also mark the current values and view the differences in allocations over time.
Find memory leaks
JProfilers heap walker works like a browser: it displays a current set of objects that can be changed by adding selection steps with the [Use selected] button. You can inspect the current object set in the four views of the heap walker.
In the classes view, you can select one or several classes and add a selection step. The new object set will contain only the selected instances. This is often the first thing you want to do after taking a snapshot. You can perform this step automatically by invoking the heap walker from the classes monitor.
The allocations view of the heap walker shows the allocation tree and the allocation hot spot list of the current object set. You can add a selection step for one or multiple allocation spots or hot spots. The new object set will then be restricted to the selected instances only.
When youre looking for the cause of a memory leak, the reference view is the most important view in JProfiler. Here, you can find out why an object has not been garbage collected. Use the "Show path to GC root" function to show where the JVM hangs on to the selected instance.
Not only is the heap walker your first stop for finding memory leaks, it also makes for an excellent debugging facility. In the data view, you can inspect instances, arrays and classes in the current object set and navigate along references. There are many situations where the usual debugging approach will fail and JProfiler will help you find out.
Zoom in on performance bottlenecks
Controlling your applications performance may be driven by quality of service constraints or by general quality assurance, JProfilers CPU views lend themselves naturally to both approaches.
To record CPU data, you switch to the CPU section and click on the recording button in JProfilers tool bar. The first view in the CPU section shows the invocation tree, cumulated for all threads. To find performance related problem spots, just follow the big percentages when opening the tree nodes. Also, the absolute times and the number of invocations that are displayed for each node can help you in getting a feeling for the situation. Once you become familiar with JProfiler, you may want to customize this view to best fit your personal preferences.
The invocation tree is a top-down view on the method calls of your application. This viewpoint is most useful when you experience an actual performance bottleneck in your application. If you want to improve overall performance, a bottom-up view may be more applicable.
This kind of view - called hot spots view - shows the methods where most of the time is spent. By opening these nodes you get backtraces which show the various invocation paths together with the percentages of their contributions. Note that by default, method calls within Java core classes are not shown separately - each of your library calls is treated as opaque. You can change this behavior by deactivating the corresponding filter sets.
The method graph combines both viewpoints. Incoming and outgoing method calls are presented in the same way. For a number of situations, the method graph can give you more insight than the invocation tree and the hot spots view. The best strategy is to use the invocation and hot spots views first and switch to the method graph for detailed analysis.
Solve thread-related problems
Threads can be exceptionally difficult to debug, especially if you dont have sufficient information on the actual sequence and status of the threads in your application. JProfilers thread views provide you with exactly this knowledge.
The thread history view shows a continuous update of the lifelines of all threads on the horizontal axis. The names of the threads are displayed on the vertical axis in the order of their creation. Each color signifies a different thread status. Orange means that the thread was sleeping, green stands for a runnable thread while red is displayed if the thread was waiting for a monitor. You can zoom in and out to your desired detail level or have the time axis fit your windows size automatically.
If youre more interested in whats happening right now, the thread monitor view is the right place to look at. Here, you can sort threads, filter with respect to thread status and view additional information on each thread.
Should you ever have a deadlock in your application, the deadlock detection graph will help you analyze the involved threads and the locking situation. Simple deadlocks like the one shown could be worked out by hand from the other views, but for complicated deadlock involving a greater number of threads this view is indispensable.
Reducing general monitor contention and debugging locking sequences requires a detailed view of the current monitor usage and a history of all monitor-related events. JProfiler has both. Below you see the monitor usage history which shows a blocking event together with the stack trace of the waiting thread.
Keep an eye on your JVM
Monitoring cumulative parameters of the virtual machine can be a highly fruitful activity, even if everything seems to be all right. Measuring and observing parameters like heap size, object count, loaded classes and thread numbers can point to dangerous trends and problematic behavior to look out for. In its VM telemetry view section, JProfiler features various telemetry controls which provide you with the information you need to stay one step ahead.
The number of objects on the heap, split in arrays and non-arrays. This is your first stop if you are suspecting a memory leak. All objects with live references are included, as well as those which are unreferenced but the garbage collector hasnt had a chance to collect yet.
The garbage collector activity which displays freed and moved objects. If your application is thrashing the heap excessively, this will show up here. Moving large numbers of objects places a high burden on the virtual machine and can lead to temporary freezes. Mostly this occurs when the virtual machine is enlarging the heap.
The number of threads in the virtual machine, split in active and inactive threads. This is useful if you create a large number of threads and need information on changes in their total number and how many of them actually run.
Enhancements:
- New futures:
- rewritten eclipse 3.x integration
- rewritten IDEA 4.x integration
- IDE integration for JDeveloper
- IDE integration for Netbeans 4.0
- considerably reduced memory consumption
- improved long-term stability for profiling
- heap walker: in the cumulated incoming reference view, reference holders as well as referenced objects can be displayed and selected
- option to keep the profiled JVM alive
- support for Java Web Start 1.5
- CSV export for graphs
- enhancements in XML export for trees
- integration wizard for profiling servers in IBM WSAD
- integration wizards for Pramati 3.5 and Pramati 4.x application server
- integration wizard for Websphere 4.0 Advanced Edition
- integration wizard for Sun Java System Web Server
- integration wizard for Sun Java System Application Server
- integration wizard for Oracle 10g Application server
- integration wizard for Apple WebObjects Developer 5.x
- snapshot files (*.jps) can be opened from the command line and from the Windows explorer
- JBuilder IDE integration now supports JBuilder 2005
- much better appearance of the JProfiler GUI with Windows native look and feel
- JProfiler GUI now also runs under Java 1.5
- Bug fixes:
- monitor statistics were broken
- invalid class files caused a shutdown of the profiled application
- many bug fixes in the GUI
<<less
Download (1.7MB)
Added: 2005-04-22 License: GPL (GNU General Public License) Price:
1648 downloads
4tH compiler 3.5b

4tH compiler 3.5b


4tH is a Forth compiler with a little difference. more>>
4tH is a Forth compiler with a little difference. Instead of the standard Forth engine it features a conventional compiler.
4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports over 85% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, recursion, include files, etc.
It comes with an RPN calculator, line editor, compiler, decompiler, C-source generators, and a virtual machine.
Enhancements:
- More CORE words and most of the DOUBLE wordset are supported.
- Output buffers can be flushed.
- An experimental multitasking environment was added.
<<less
Download (0.18MB)
Added: 2007-05-20 License: LGPL (GNU Lesser General Public License) Price:
889 downloads
Code::Splice 0.01

Code::Splice 0.01


Code::Splice injects the contents of one subroutine at a specified point elsewhere. more>>
Code::Splice injects the contents of one subroutine at a specified point elsewhere.

SYNOPSIS

use Code::Splice;

Code::Splice::inject(
code => sub { print "fredn"; },
package => main,
method => foo,
precondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/four/;
},
postcondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/five/;
},
);

sub foo {
print "onen";
print "twon";
print "threen";
print "fourn";
print "fiven";
}

This module removes the contents of a subroutine (usually an anonymous subroutine created just for the purpose) and splices in into the program elsewhere.

Why, you ask?

Write stronger unit tests than the granularity of the API would otherwise allow

Write unit tests for nasty, interdependant speghetti code (my motivation -- hey, you gotta have tests before you can start refactoring, and if you cant write tests for the code, youre screwed)

Fix stupid bugs and remove stupid restrictions in other peoples code in a way thats more resiliant across upgrades than editing files you dont own

Be what "aspects" should be

Screw with your cow-orkers by introducing monster heisenbugs

Play with self-modifying code

Write self-replicating code (but be nice, were all friends here, right?)

The specifics:

The body of the code { } block are extracted from the subroutine and inserted in a place in the code specified by the call to the splice() function. Where the new code is spliced in, the old code is spliced out. The package and method arguments are required and tell the thing how to find the code to be modified. The code argument is required as it specifies the code to be spliced in. That same code block should not be used for anything else under penalty of coredump.

The rest of the argumets specify where the code is to be inserted. Any number of precondition and postcondition arguments provide callbacks to help locate the exact area to splice the code in at. Before the code can e spliced in, all of the precondition blocks must have returned true, and none of the postcondition blocks may have yet returned true. If a postcondition returns true before all of the precondition blocks have, an error is raised. Both blocks get called numerous times per line and get passed a reference to the B OP object currently under consideration and the text of the current line:

precondition => sub {
my $op = shift;
my $line = shift;
$line =~ m/print/ and $line =~ m/four/;
},
... or...
precondition => sub { my $op = shift; $op->name eq padsv and $op->sv->sv =~ m/fred/; },

Its possible to insert code in the middle of an expression when testing ops, but when testing the text of the line of code, the spliced in code will always replace the whole line.
Ill probably drop sending in the opcode in a future version, at least for the precondition/postcondition blocks, or maybe Ill swap them to the 2nd arg so theyre more optional.

Do not attempt to match text in comments as it wont be there. The code in $line is re-generated from the bytecode using B::Deparse and will vary from the original source code in a few ways, including changes to formatting, changes to some idioms and details of the expressions, and formatting of the code with regards to whitespace.

The splicing code will die if it fails for any reason. This will likely change in possible future versions.
There are also label and line arguments that create preconditions for you, for simple cases. Of course, you shouldnt use line for anything other than simple experimentation.

References to lexical variables in the code to be injected are replaced with references to the lexical variables of the same name in the location the code is inserted into. If a variable of the same name doesnt exist there, its an error. ... but it probably shouldnt be an error, at least in the cases where the code being spliced in declares that lexical with my, or when the variable was initiailized entirely outside of the sub block being spliced in and was merely closed over by it.

See the comments in the source code (at the top, in a nice block) for my todo/desired features. Let me know if there are any features in there or yet unsuggested that you want. I wont promise them, but I would like to hear about them.

<<less
Download (0.010MB)
Added: 2007-08-14 License: Perl Artistic License Price:
806 downloads
JDBCPersistence 1.5 Beta 2

JDBCPersistence 1.5 Beta 2


JDBCPersistence project is an Object Relational Mapping Framework. more>>
JDBCPersistence project is an Object Relational Mapping Framework. Designed for use in high volume online banking application the package delivers performance matching of that exhibited by hand written JDBC code.

The differentiating features of JDBCPersistence are a result of the focus placed first and foremost on performance followed by making programmer most effective by building on existing knowledge of SQL, JDBC APIs, IDEs and, at the same time, avoiding creation of dependencies on specific libraries, tools, IDEs.

The framework strikes a good balance in what it provides verses what it requires a programmer to do in order to use it, e.g. a programmer could quickly prototype value objects by specifying them as Java interfaces and asking the framework to provide implementation for these interfaces at runtime, thus allowing to go from specifying an interface to using it in no time.

On the other hand, recognizing that data relationships are governed by business rules much more complex than could be specified in a typical ORM configuration file, a programmer is required to maintain such relationships in code.

The focus of the framework is to provide ORM services while leaving other concerns, in particular, data caching, up to the developer to solve in the context of an application. Being aware that the caching requirements may be different in online vs. batch application, the framework does not prescribe a solution. Developer needs to decide on application specific caching policy and implement it in an architectural layer (DAO) designed to function in both contexts.

The framework does not add any behavior to the classes that comprise the application. Classes supplied by the developer are the classes that will be used by the application when it runs.

JDBCPersistence uses bytecode generation technique to create bytecode for classes that implement logic used for persisting the data. Such, for every, loosely speaking "Java Bean", that requires persistence, a persistor class that implements CRUD operations is created. As opposed to using reflection, the approach of generating bytecode is apt to further optimization by JVM.

JDBCPersistence takes bytecode generation a little further by providing a feature that allows generating complete implementation of a value object specified as an abstract class. Similar to generating full implementation for Java interface class that describes value object class, the framework can generate implementation for all abstract methods of an abstract class representing value object.

As all of the bytecode generation takes place at run time, there is no impact on development or build process. The approach of generating bytecode at runtime is also used by RMI implementation of the Java Platform starting with version 5.0.

The API of the framework builds on the existing JDBC APIs. JDBCPersistences public API adds four classes and three interfaces. As the framework uses SQL for queering the data a curve associated with learning framework specific query language is avoided.

In an attempt to "keep it simple" JDBCPersistence only dependency is ASM, which is used for bytecode generation. The footprint of the package is under 200K.
<<less
Download (0.16MB)
Added: 2006-08-28 License: LGPL (GNU Lesser General Public License) Price:
1152 downloads
Cobertura 1.9

Cobertura 1.9


Cobertura is a free Java tool that calculates the percentage of code accessed by tests. more>>
Cobertura is a free Java tool that calculates the percentage of code accessed by tests.Cobertura project can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage.
Main features:
- Can be executed from ant or from the command line.
- Instruments Java bytecode after it has been compiled.
- Can generate reports in HTML or XML.
- Shows percent of lines coveraged and branches coveraged for each class, package, and for the overall project.
- Shows the McCabe cyclomatic code complexity of each class, and the average cyclomatic code complexity for each package, and for the overall product.
- Can sort HTML results by class name, percent of lines covered, percent of branches covered, etc. And can sort in ascending or decending order.
Enhancements:
- Much improved branch coverage. Information on whether the true as well as the false of an if statement is collected. Also, information on the branches of a switch statement (including the default) is collected. (Jiri Mares)
- Assume Java source files are saved as UTF-8 instead of the computers default encoding.
- Write all HTML and XML reports in UTF-8 instead of the computers default encoding (Naoki Iwami).
- Fix a bug where the Cobertura ant tasks would not work correctly in Microsoft Windows when Cobertura was installed on a different drive than the drive from which youre running ant (Srivathsan Varadarajan).
- Added a "maxmemory" attribute to the instrument, merge and report ant tasks (Matt Cordes).
- Improve support for Maven and similar environments where control over system properties is difficult such as app servers, IoC containers, IDEs, etc. Setting the datafile location is difficult in these environments. To correct this, a cobertura.properties file located in the classpath is used to properly set the net.sourceforge.cobertura.datafile property. (Joakim Erdfelt)
<<less
Download (0.60MB)
Added: 2007-06-06 License: GPL (GNU General Public License) Price:
878 downloads
The Glasgow Haskell Compiler 6.6

The Glasgow Haskell Compiler 6.6


The Glasgow Haskell Compiler is a compiler for Haskell 98. more>>
The Glasgow Haskell Compiler is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell.
Main features:
- GHC supports the entire Haskell 98 language plus a wide variety of extensions.
- GHC works on several platforms including Windows and most varieties of Unix, and several different processor architectures. There are detailed instructions for porting GHC to a new platform.
- GHC has extensive optimisation capabilities, including inter-module optimisation.
- GHC compiles Haskell code either by using an intermediate C compiler (GCC), or by generating native code on some platforms. The interactive environment compiles Haskell to bytecode, and supports execution of mixed bytecode/compiled programs.
- Profiling is supported, both by time/allocation and various kinds of heap profiling.
- GHC comes with a wide range of libraries.
GHC is heavily dependent on its users and contributors. Please come and join the mailing lists and send us your comments, suggestions, bug reports and contributions!
Enhancements:
- SMP support and impredicative polymorphism were added.
- The libraries were split into core and extra.
- Many more changes were made.
<<less
Download (6.7MB)
Added: 2006-10-15 License: BSD License Price:
1105 downloads
Cibyl 11

Cibyl 11


Cibyl is a programming environment that allows compiled C programs to execute on J2ME-capable phones. more>>
Cibyl is a programming environment that allows compiled C programs to execute on J2ME-capable phones. Cibyl uses GCC to compile the C programs to MIPS binaries, and these are then recompiled into Java bytecode.
The programs are not parsed during runtime, and Cibyl is therefore relatively well-performing. With Cibyl, games written in C can be ported to J2ME without switching language. The environment is tied to the GNU compiler tools (GCC and binutils) and only tested on Linux so far although it should work in other environments as well.
There are two reasons why I want Cibyl. First, C is in my opinion a much better suited language for writing games than Java. Also, since I have a couple of old games written in C, I would like to port them to the J2ME environment without rewriting the entire games. The goal is therefore to be able to only port the game to a another API instead of porting the game to another language.
The name started out as Nophun, a pun on Mophun, but has now changed to Cibyl (since it is so fun!). Cibyl is an abbreviation of something, but only the C, meaning C has been fixed so far.
Enhancements:
- The ability to inline certain function calls was added, which greatly improves floating point performance.
- Exception handling has been changed to match the native Java behavior, and various performance optimizations have been implemented.
<<less
Download (0.088MB)
Added: 2007-07-23 License: GPL (GNU General Public License) Price:
825 downloads
The Objective Caml 3.08.4

The Objective Caml 3.08.4


Caml is a general-purpose programming language, designed with program safety and reliability in mind more>>
Caml is a general-purpose programming language, designed with program safety and reliability in mind. It is very expressive, yet easy to learn and use. Caml supports functional, imperative, and object-oriented programming styles.

It has been developed and distributed by INRIA, Frances national research institute for computer science, since 1985.

The Objective Caml system is the main implementation of the Caml language. It features a powerful module system and a full-fledged object-oriented layer.

It comes with a native-code compiler that supports numerous architectures, for high performance; a bytecode compiler, for increased portability; and an interactive loop, for experimentation and rapid development.
<<less
Download (2.3MB)
Added: 2005-08-26 License: GPL (GNU General Public License) Price:
850 downloads
B::Assembler 5.8.8

B::Assembler 5.8.8


B::Assembler is a Perl module created to assemble Perl bytecode. more>>
B::Assembler is a Perl module created to assemble Perl bytecode.

SYNOPSIS

use B::Assembler qw(newasm endasm assemble);
newasm(&printsub); # sets up for assembly
assemble($buf); # assembles one line
endasm(); # closes down

use B::Assembler qw(assemble_fh);
assemble_fh($fh, &printsub); # assemble everything in $fh

<<less
Download (12.2MB)
Added: 2007-06-25 License: GPL (GNU General Public License) Price:
851 downloads
Java Brainfuck Compiler 2.0

Java Brainfuck Compiler 2.0


Java Brainfuck Compiler is an optimising Brainfuck to Java bytecode compiler. more>>
The Java Brainfuck Compiler is a compiler for the uniquely powerful Brainfuck language, which produces Java bytecode that will run on any Java Virtual Machine (with no intermediate steps such as going by way of Java code).

<<less
Download (0.010MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1682 downloads
CalcRogue Beta 6c

CalcRogue Beta 6c


CalcRogue project is a Rogue-like for calculators, Palm, and PCs. more>>
CalcRogue project is a Rogue-like for calculators, Palm, and PCs.
CalcRogue is based on the Unix game Rogue and those similar to it, collectively known as "roguelikes". They involve a character which can move around, attack monsters, collect magical items, maybe cast spells, and gain levels.
The dungeons are randomly generated, so the areas are always fresh, and the difficulty is such that it never gets too easy. (Note: CalcRogue is not derived from Rogue.)
Main features:
- Complex, randomly generated levels
- Overworld map, towns, and quests
- Spells and magically summoned minions
- Easy to use interface with tutorial
- Line of sight/lighting calculation
- Four-color grayscale graphics
- Complete inventory management system
- Wide variety of magical scrolls, potions, wands, rings, amulets and spells
- Missile combat with bows, crossbows or thrown potions
- Compressed saved games
- In-game help
- Hidden traps and doors
- Five different player classes
- Varied monsters with special powers
- Gold and shopping
- High-score listing
Enhancements:
Features
- Finished the tower quest, for wizards and necromancers. No spoilers in this changelog, but it involves lots of cool stuff.
- Checkpoint saves. A backup saved game is automatically made whenever you move to a new level, and restored if the game crashes.
Bug fixes
- (PalmOS) Fixed a stack overflow in the bytecode interpretter which caused crashes all over the place.
- (PalmOS) Fixed infinite prompt loop when running into a peaceful creature
- Fixed missing exit from tower area
- Fixed bug which could cause disconnected areas with the big-map generator
- Monsters wont be generated in the wilderness area
- Fixed bug that allowed duplicating items
- It is no longer possible to throw equipped non-missile weapons
Misc
- Balance changes to make the necromancer stronger
<<less
Download (0.10MB)
Added: 2007-01-08 License: GPL (GNU General Public License) Price:
1019 downloads
Jodd b291

Jodd b291


Jodd is a generic purpose open-source Java library bundled with few lightweight frameworks and components. more>>
Jodd is a generic purpose open-source Java library bundled with few lightweight frameworks and components: bean manipulation tool, Db for easier database access, Madvoc for web works, Proxetta for building proxies, JDateTime for elegant time handling, Petite as a container.
Special attention is put into making code simple and fast as possible, and yet, feature rich, by following specific implementation principles. Jodd is free software; use it under the terms of the BSD license.
Whats in thejar?
UTILITIES, utilities utilities... Jodd enriches JDK with many utilities and makes easier the usage of some functionality that are, usually, written over and over again every time when needed. Part of the provided utilities are simple functors (static methods). There are many time-saving functors for all kind of string manipulations (forgotten by Sun;), nice reflection and class loading utilities, more arrays utilities (again forgotten by Sun;), tools for hashing, servlets, etc. The other part of utilities contains some encapsulated functionality, such as: nice Printf for java, FindFile for finding files, common Cache implementations, mutable numbers, FileUpload for uploading files, excellent Wildcard matcher, primitive arrays, cool JStopWatch with laps support and so on... Do not reinvent the wheel, let us do it;) At least, we will try to make it run fast.
BEAN manipulation, yet again. This time, it is the fastest bean manipulation tool available, and it comes in several variants, combinations of: silent (no exception is thrown), forced (creates missing properties), declared (includes non-public properties)... It works with properties, but also with the class fields, too. Functionality is internally spread over several logically separated methods so custom extensions are easy for implementation. As usual, good bean utilities depends on good introspection and type conversion tools, which can be used independently.
TIME with JDateTime: elegance and astronomical precision in one. Uses some well-defined and proven astronomical algorithms for date/time manipulation. Still, it is very developer-friendly and easy to use. For the completeness, it provides various conversions, too; extensible conversion to and from a string is maybe the most interesting one. Everyone who has ever experienced frustration working with JDK Calendar, will find this class interesting.
DATABASE support in Java should be more simple. Db gives several layers around plain JDBC, significantly reducing the amount of written code. First, there is a smart statement facade, with some additional options, such as named parameters, user-friendly debug, more methods for execution and for parameters setting. Next layer encapsulates database session and helps with transactions and queries. Finally, DbOrm returns the joy of simple, but efficient objects mapping, simple object relations, object-oriented queries and some query auto-generations.
WEB framework like Madvoc eases MVC usage and web development. It prefers convention over configuration, which significantly reduces amount of code, without loosing functionality.
CONTAINER as Petite requires zer0 configuration. It supports the most used features: component wiring using annotations, component scopes (prototype, singleton, http session, or any custom), circular dependency checker... For those who are tired of big, fat containers.
PROXY creation with Proxetta is fun and easy, using just nothing else than plain java. It is done in runtime by unique bytecode macro-alike manipulation that produces the fastest proxy method implementation, just as you would do it by yourself.
Enhancements:
- Latest release of Jodd (b291) is moved to Java5 platform.
- Db is a bit enhanced.
- Proxetta is introduceted in Jodd suite.
- Various updates and some new utilities are added.
<<less
Download (MB)
Added: 2007-08-10 License: BSD License Price:
805 downloads
SecureJSH 1.0b0726

SecureJSH 1.0b0726


SecureJSH makes it possible for server-side Java applications to provide secure shell access to their administrators, users, etc more>>
SecureJSH project enables server side applications written in the Java programming language to provide secure shell access to their administrators, users, developers and service clients, where verbatim syntax of the latest Java programming language can be used - interactively.
SecureJSH needs JDK 6.0 (or later) or JRE 6.0 (or later) with JAVAC on classpath to function.
Security:
SecureJSH implements RFC-4251 SSH 2.0 protocol at the server side, with support of publickey authentication, which is more secure and convenient (no need to enter password every time).
Interactive Execution:
You must first compile traditional Java source code to bytecode before
executing them. But with SecureJSH, the compilation is done transparently so
you just type in arbitrary length of Java statements, then see them get
executed immediately, in context. Context objects are all well kept across
executions, this way you interactively control a live Java application with
the programming language it was writen in.
Verbatim Java Syntax:
Unlike other Java shell supporting tools, SecureJSH leverages JSR-199 Java
compiler API to dynamically compile interactive Java statements. This means you use the EXACTLY same syntax with whatever your applications are writen in, up to the latest Java Language Specification. You can copy & paste code between SecureJSH terminal and your Java project source without problem.
Smart Command Recognization, UNIX Shell Style
Unlike JSR-223 scripting support for the Java language, with which you must
enter the full source of a Java class to execute, SecureJSH is much smarter and
humanized, it prompts you for multi-line input when youve entered incomplete
Java statements, and wraps the statements inside a predefined class structure
for execution. It is a REAL shell.
Non-Interference, Minimum Resource Consumption
SecureJSH has no static resource has to be stored JVM wide, and consume very small amount of resources per instance (with NIO based implementation, all SSH traffics are handled by a single thread). You can run as many shell servers as you wish inside a single JVM, including JVMs of Java application servers.
Commercial Friendly License
SecureJSH is released under a BSD style license. Please read the included
LICENCE.txt for SJSH and third-party license terms.
Enhancements:
- The Java completion algorithm was refined and is more accurate and to the point.
- Rarely used methods like Object.wait() and Object.notify() are filtered out.
- Completion for built-in command options was added - press Tab to complete a command, then Tab again to prompt for common options.
- This works fine with dynamic options (like unimport java.awt.*
- can be entered by uni-[Tab]-j-[Tab], when such an import is in the list).
- The field definition command now takes a type name before a field name, to match the Java variable definition style.
<<less
Download (MB)
Added: 2007-07-29 License: BSD License Price:
820 downloads
ObjectScript 2.10.1

ObjectScript 2.10.1


ObjectScript is an object oriented scripting language. more>>
ObjectScript is a general purpose object-oriented programming language. ObjectScript is designed to be simple to learn, easy to use, yet still powerful, combining the convenience of an interactive interpreter with many of the features of Java:
Main features:
- a simple java-like syntax
- class system, with single inheritance and mixins
- private/protected/public fields and methods
- exceptions for error handling
- synchronization and threading
- compiles to bytecode for higher performance
- osdoc: a javadoc-like tool to extract API documents
- from src code, plus API docs accessible reflectively
- XML-RPC support
- Windows COM support
- regular expressions (requires java v1.4 or later)
Plus, its free! And since it is written in Java, programs written in ObjectScript can take advantage of existing Java code and libraries, like Swing. ObjectScript programs can not only create instances of Java objects, call Java methods, access public fields, access java bean properties, but can also extend Java classes, and implement Java interfaces.
Since it can be interactively interpreted, ObjectScript is the perfect way to debug or learn Java systems. And since it supports extending Java classes and interfaces, it can add sophisticated scripting to an existing Java application.
<<less
Download (11MB)
Added: 2006-05-11 License: LGPL (GNU Lesser General Public License) Price:
1261 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 4
  • 1
  • 2
  • 3
  • 4