Main > Free Download Search >

Free java class software for linux

java class

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 4243
ProGuard 3.9 / 4.0 Beta

ProGuard 3.9 / 4.0 Beta


ProGuard is a Java class file shrinker and obfuscator. more>>
ProGuard is a free Java class file shrinker, optimizer, and obfuscator. ProGuard project can detect and remove unused classes, fields, methods, and attributes. It can then optimize bytecode and remove unused instructions.
Finally, it can rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
More compact jar files also means smaller storage requirements, faster transfer of applications across networks, faster loading, and smaller memory footprints.
ProGuards main advantage compared to other Java obfuscators is probably its compact template-based configuration. A few intuitive command line options or a simple configuration file are usually sufficient. For instance, the following configuration option preserves all applets in a jar:
-keep public class * extends java.applet.Applet
The user manual explains all available options and shows more examples of this powerful configuration style.
ProGuard is fast. It only takes seconds to process programs and libraries of several megabytes. The results section presents actual figures for a number of applications.
ProGuard is a command-line tool with an optional graphical user interface. It also comes with plugins for Ant and for the J2ME Wireless Toolkit.
ProGuard is a Java class file shrinker, optimizer, and obfuscator. The shrinking step detects and removes unused classes, fields, methods, and attributes. The optimization step analyzes and optimizes the bytecode of the methods. The obfuscation step renames the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
ProGuard can also be used to list unused fields and methods in an application, and to print out the internal structure of class files.
ProGuard typically reads the input jars (or wars, ears, zips, or directories). It then shrinks, optimizes, and obfuscates them. It then writes the results to one or more output jars (or wars, ears, zips, or directories). The input jars can optionally contain resource files. ProGuard copies all non-class resource files from the input jars to the output jars. Their names and contents remain unchanged.
ProGuard requires the library jars (or wars, ears, zips, or directories) of the input jars to be specified. It can then reconstruct class hierarchies and other class dependencies, which are necessary for proper shrinking, optimization, and obfuscation. The library jars themselves always remain unchanged. You should still put them in the class path of your final application.
In order to determine which code has to be preserved and which code can be discarded or obfuscated, you have to specify one or more entry points to your code. These entry points are typically classes with main methods, applets, midlets, etc.
- In the shrinking step, ProGuard starts from these seeds and recursively determines which classes and class members are used. All other classes and class members are discarded.
- In the optimization step, ProGuard further optimizes the code. Among other optimizations, classes and methods that are not entry points can be made final, and some methods may be inlined.
- In the obfuscation step, ProGuard renames classes and class members that are not entry points. In this entire process, keeping the entry points ensures that they can still be accessed by their original names.
Any classes or class members of your code that are created or invoked dynamically (that is, by name) have to be specified as entry points too. It is generally impossible to determine these cases automatically, but ProGuard will offer some suggestions if keeping some classes or class members appears necessary. For proper results, you should at least be somewhat familiar with the code that you are processing.
ProGuard does handle Class.forName("SomeClass") and SomeClass.class constructs automatically. The referenced classes are preserved in the shrinking phase, and the string arguments are properly replaced in the obfuscation phase. With variable string arguments, it is generally impossible to determine their possible values (they might be read from a configuration file, for instance).
However, as mentioned, ProGuard will note constructs like "(SomeClass)Class.forName(variable).newInstance()". These might be an indication that the class or interface SomeClass and/or its implementations may need to be preserved. You can then adapt your configuration accordingly.
Whats New in 3.9 Stable Release:
- This release fixes a number of bugs.
- Notably, ".class" constructs compiled in Java 6 are now handled correctly.
- The optimization step now avoids a possible division by 0 and correctly processes local variables with indices larger than 255.
- The documentation and examples have been updated.
Whats New in 4.0 Beta Development Release:
- Added preverifier for Java 6 and Java Micro Edition, with new option -dontpreverify.
- Added new option -target to modify java version of processed class files.
- Made -keep options more orthogonal and flexible, with option modifiers allowshrinking, allowoptimization, and allowobfuscation.
- Added support for configuration by means of annotations.
- Improved shrinking of unused annotations.
- Added check on modification times of input and output, to avoid unnecessary processing, with new option -forceprocessing.
- Added new options -flattenpackagehierarchy and -repackageclasses (replacing -defaultpackage) to control obfuscation of packages names.
- Added new options -adaptresourcefilenames and -adaptresourcefilecontents, with file filters, to update resource files corresponding to obfuscated class names.
- Now respecting naming rule for nested class names (EnclosingClass$InnerClass) in obfuscation step, if InnerClasses attributes or EnclosingMethod attributes are being kept.
- Added new inter-procedural optimizations: method inlining and propagation of constant fields, constant arguments, and constant return values.
- Added optimized local variable allocation.
- Added over 250 new peephole optimizations.
- Improved making classes and class members public or protected.
- Now printing notes on suspiciously unkept classes in parameters of specified methods.
- Now printing notes for class names that dont seem to be fully qualified.
- Added support for uppercase filename extensions.
- Rewritten class file I/O code.
- Updated documentation and examples.
<<less
Download (MB)
Added: 2007-06-27 License: GPL (GNU General Public License) Price:
905 downloads
JFreeChart 1.0.5

JFreeChart 1.0.5


JFreeChart is a free Java class library for generating charts. more>>
JFreeChart is a free Java class library for generating charts.
Main features:
- pie charts (2D and 3D);
- bar charts (regular and stacked, with an optional 3D effect);
- line and area charts;
- scatter plots and bubble charts;
- time series, high/low/open/close charts and candle stick charts;
- combination charts;
- Pareto charts;
- Gantt charts;
- wind plots, meter charts and symbol charts;
- wafer map charts;
- complete source code is included, under the terms of the GNU Lesser General Public Licence;
- access to data from any source via dataset interfaces;
- support for multiple secondary axes and datasets;
- tooltips, zooming, printing;
- direct export to PNG and JPEG;
- export to PDF via iText and SVG via Batik (both described in the JFreeChart Developer Guide).
- support for servlets, JSP (thanks to Cewolf), applets or client applications;
- comprehensive API docs generated by gjdoc or javadoc;
To raise funds for the project, the JFreeChart Developer Guide is offered by Object Refinery Limited, a company owned and managed by David Gilbert, the original author and maintainer of JFreeChart.
<<less
Download (2.9MB)
Added: 2007-03-26 License: LGPL (GNU Lesser General Public License) Price:
948 downloads
Polyglot 2.2.2

Polyglot 2.2.2


Polyglot is a highly extensible compiler front end for the Java programming language. more>>
Polyglot is a highly extensible compiler front end for the Java programming language. The project is implemented as a Java class framework using design patterns to promote extensibility. Using Polyglot, language extensions can be implemented without duplicating code from the framework itself.
Polyglot has been used to implement domain-specific languages, to explore language design ideas, to simplify Java for pedagogical purposes, and for various code transformations such as optimization and fault injection. Polyglot has been used for both major and minor language extensions; our experience suggests that the cost of implementing an extension scales well with the degree to which it modifies Java.
Polyglot compiles and runs on (at least) Linux, Solaris, Windows, and Mac OS X. Ant and the JFlex scanner generator are required to build it. On Windows, you will also need Cygwin.
Polyglot includes PPG, an extensible LALR parser generator based on the CUP LALR parser generator for Java (extended with improved debugging support).
Polyglot supports Java version 1.4, but a Polyglot extension that supports Java 5. has been developed at UCLA.
A version of Polyglot written in the J& language is also under development. It makes extending the base compiler even easier.
Enhancements:
- Miscellaneous bugfixes.
- An assumption that return statements occur only within methods has been fixed.
- A copy(NodeFactory) method has been added to the Node interface to generate a new version of a node with a different node factory.
<<less
Download (MB)
Added: 2007-06-11 License: Eclipse Public License Price:
946 downloads
Java Tools 0.30

Java Tools 0.30


Java Tools is a lightweight integrated development environment for creating, compiling, and executing Java applications. more>>
Java Tools is a lightweight integrated development environment for creating, compiling, and executing Java applications and applets.
Java Tools includes point and click access to the Java files, commands, and documents. It also includes a built-in text editor and user interface for the Java debugger.
It is intended for the new Java user who needs help getting started. Its also for the more experienced Java user who wants easy access to the Java commands and a text editor.
Main features:
- GUI with built-in help and small footprint.
- Point and click access to all files (Java, manifest, HTML, image and sound) and directories (package).
- Point and click access to all commands for compiling (javac), archiving (jar), documenting (javadoc), executing (java), debugging (jdb) and disassembling (javap).
- Point and click access to all documents (Java API Specification, Java Tools and Utilities, Java Features and Java Tutorial).
- Point and click creation of all files (Java, manifest and HTML) and directories (package).
- Point and click installation of distribution archive files (Java document, Java source code, Java Tutorial and Sun Tools).
- Automatic determination of class file dependencies for archiving (jar) and documenting (javadoc) Java files.
- Checking for unused, redundant and missing imports.
- Logging of all commands invoked by GUI.
- Code metrics for Java files.
- Built-in text editor (see Edit for details).
- Built-in user interface for the Java debugger with command-line editing and history.
- Self-installing executable (Java archive file).
- Comprehensive installation and user documentation for Java and Java Tools.
<<less
Download (0.15MB)
Added: 2007-07-09 License: Freeware Price:
838 downloads
Runtime Java Class Editor 1.0

Runtime Java Class Editor 1.0


Runtime Java Class Editor is a tool for editing loaded (running) Java classes and much more. more>>
RJCE allows all methods or variables of user defined classes to be altered at runtime. These alterations are then applied to a single instance, a collection of instances (i.e. list, set or map), or an entire class.

This helps you to test your application in an interactive way; altering running programs helping a trial and error approach to programming; testing code and saving it when it’s correct. Long running algorithms, such as simulations, can also easily be refined without the need for restarts or lose of data.

RJCE can be used to write a program from within itself ensuring high coupling between testing and development, with no delay before the outcome of any alterations.

RJCE allows scripts to run from within your application, allowing users to configure or extend an application dynamically, bypassing normal language access rules controlled by public, private and protected. This can be done by easily instatiating an instance of CodeEditorFrame from the rom.gui package.

RJCE permits faster development of applications by allowing easy migration from scripts to Java programs.
<<less
Download (3.1MB)
Added: 2005-04-18 License: BSD License Price:
1713 downloads
Inline::Java 0.52

Inline::Java 0.52


Inline::Java lets you write Perl classes in Java and wrap/use existing Java classes. more>>
Inline::Java lets you write Perl classes in Java and wrap/use existing Java classes. The project is an ILSM (Inline Language Support Module) for Java 2, and is part of the Inline family of modules.

<<less
Download (0.092MB)
Added: 2007-03-01 License: Perl Artistic License Price:
579 downloads
DateChooser 1.2.5

DateChooser 1.2.5


DateChooser is a Java class that allows a programmer to present the user with an input dialog for easily choosing a date. more>>
DateChooser is a Java class that allows a programmer to present the user with an input dialog for easily choosing a date and feeding it to the program.

<<less
Download (0.026MB)
Added: 2007-03-23 License: GPL (GNU General Public License) Price:
946 downloads
Java for C++ 0.4

Java for C++ 0.4


Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. more>>
Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. This tool reads a list of Java class names and creates source code for C++-classes to wrap them.
The implementation of the wrapper classes uses JNI (Java Native Interface) to call the "real" Java classes.
The C++-API to use these wrapper classes is very close to the API of the original Java classes. So developers of C++-software can use Java-classes as if they have been implemented in C++.
Enhancements:
- A problem where null values for method arguments, method return values, or field values caused some generated code to crash was fixed.
- Updating is strongly encouraged.
<<less
Download (0.043MB)
Added: 2005-12-22 License: GPL (GNU General Public License) Price:
1404 downloads
java-diff 1.0.5

java-diff 1.0.5


java-diff is a set of Java classes which implement the longest common subsequences algorithm. more>>
java-diff is a set of Java classes which implement the longest common subsequences algorithm.

java-diff compares the elements in two arrays, returning a list of Difference objects, each of which describes an addition, deletion, or change between the two arrays.

<<less
Download (0.015MB)
Added: 2006-08-23 License: LGPL (GNU Lesser General Public License) Price:
1165 downloads
bb_mug 1.5

bb_mug 1.5


bb_mug is a simple, tiny, and fast Java class obfuscator. more>>
bb_mug is a simple, tiny, and fast Java class obfuscator. Where applicable, it replaces class, method, and field names with shorter names.
bb_mug removes all information not required for execution.
Main features:
- It is simple since there are no options
- It is tiny because it was coded smart
- It is fast due to efficient algorithms
bb_mug requires 2 arguments:
< inpath > the input path, to read the classes to obfuscate
< outpath > the output path, to write the obfuscated classes to
There are no options since it follows the default visibility paradigm:
- public elements are not obfuscated
- protected elements are not obfuscated, if they might be visible to external derived classes
- package local and pricate members are always obfuscated
If you believe that a public method should be obfuscated you should reconsider why it is public.
Enhancements:
- Two bugfixes were made.
- References to mangled members in a different class are resolved correctly now even when the member resides in a base class of the reference class.
- Mangled members no longer hide mangled members from parent classes.
<<less
Download (0.035MB)
Added: 2006-02-28 License: Free for non-commercial use Price:
1333 downloads
UDoc 1.005

UDoc 1.005


UDoc is a tool to visualize some Java classes. more>>
UDoc is a tool to visualize some Java classes. UDoc dynamically produces some UML-like diagrams from various sources (Javadoc, Java sources, Java binaries).

The diagrams contain a lot of information, and you can easily navigate from classes to classes.

<<less
Download (0.48MB)
Added: 2007-03-13 License: GPL (GNU General Public License) Price:
957 downloads
Inline::Java::PerlInterpreter 0.52

Inline::Java::PerlInterpreter 0.52


Inline::Java::PerlInterpreter is a Perl module used to call Perl directly from Java using Inline::Java. more>>
Inline::Java::PerlInterpreter is a Perl module used to call Perl directly from Java using Inline::Java.

SYNOPSIS

import org.perl.inline.java.* ;

class HelpMePerl {
static private InlineJavaPerlInterpreter pi = null ;

public HelpMePerl() throws InlineJavaException {
}

static private boolean matches(String target, String pattern)
throws InlineJavaPerlException, InlineJavaException {
Boolean b = (Boolean)pi.eval("" + target + " =~ /" + pattern + "/", Boolean.class) ;
return b.booleanValue() ;
}

public static void main(String args[])
throws InlineJavaPerlException, InlineJavaException {
pi = InlineJavaPerlInterpreter.create() ;

String target = "aaabbbccc" ;
String pattern = "ab+" ;
boolean ret = matches(target, pattern) ;

System.out.println(
target + (ret ? " matches " : " doesnt match ") + pattern) ;

pi.destroy() ;
}
}

WARNING: Inline::Java::PerlInterpreter is still experimental.
The org.perl.inline.java.InlineJavaPerlInterpreter Java class allows you to load a Perl interpreter directly from Java. You can then perform regular callbacks to call into Perl.

<<less
Download (0.092MB)
Added: 2007-06-02 License: Perl Artistic License Price:
877 downloads
jclassinfo 0.19.1

jclassinfo 0.19.1


jclassinfo is an information extractor for Java bytecode. more>>
jclassinfo reads java class files and provides information about the class, dependencies and more. It is a pure C implementantion.
Main features:
Class Information
- Java VM version required,
- super class,
- interfaces implemented. --general-info
- Constant pool dump --constant-pool
- Methods --methods
- Fields --fields
- Class attributes --attributes
Dependency Information
- Packages required --packages
- Classes required --classes
- Methods required --methods-ref
Options affecting verbosity
- Disassemble code --disasm
- Print limits and exception table for methods --verbose
- Print debugging information --method-debug-info
- Change visibility --visibility=< public | package | protected | private | synthetic >
<<less
Download (0.026MB)
Added: 2005-03-07 License: GPL (GNU General Public License) Price:
1693 downloads
Java Clazz Utils 1.2.2

Java Clazz Utils 1.2.2


Java Clazz Utils offers you a full-featured and crossplatform Java bytecode viewer and decompiler which can support latest Java versions (from 1.4 till 1.6). more>>

Java Clazz Utils 1.2.2 offers you a full-featured and crossplatform Java bytecode viewer and decompiler which can support latest Java versions (from 1.4 till 1.6). It can be used both as command line tool and user application with Swing interface. It contains InfoJ, Decompiler and jclazz-GUI.

Major Features:

  1. InfoJ can be used to generate information about Java class. The output includes all possible data that can be extracted from class file: fields, methods, attributes, access flags, signatures, debug information, opcodes etc.
  2. Decompiler can be used to reproduce Java source code from compiled Java class file. It uses debug information to produce Java code which is nearly the same as original source file. Nevertheless, there are several restrictions and Java code constructions that prevent decompiler from producing the same code as original and even correct Java code. You can find out more about these cases below on this page.
  3. jclazz-GUI is user-friendly interface for quick start and easy to use.

Enhancements:

  • Save of decompiled file writes to predefined file name - Fixed
  • Condition structures "condition ? operation1 : operation2" were decompiled incorrectly - Fixed
  • URL to bug reporting page is corrected


<<less
Added: 2009-05-01 License: GPL Price: FREE
1 downloads
Java::Import::Examples 0.03

Java::Import::Examples 0.03


Java::Import::Examples is an example of how to use Java::Import to call into Java classes. more>>
Java::Import::Examples is an example of how to use Java::Import to call into Java classes.

Making RMI calls from Perl

One nice thing about Java is the extremely straight forward manner in which it allows you to make calls to remote objects residing on distant servers. Many people use this ability as a point of integration between their system and a posible third party or legacy system. Unfortunatly, for the most part the ability to make calls to these remote objects is something that only other Java applications can do without making a big fuss about it. However, we can now do this from Perl.

Assume that I have a RMI server from which I can get data from in the form of simple Java Beans. One method of doing this is to use the GCJ::Cni library and natively compile and wrap a set of Java Classes which can then be used from my Perl script. However, there is an easier way.

Lets begin by descriping the Java interfaces that well be working with. We first have the Remote Interface that we will be interacting with:

import java.rmi.*;
public interface RemoteInterface extends Remote {
public SomeBean getMessage(String seedMessage) throws RemoteException;
}
And we also have the bean we will be asking for:
import java.io.*;
public class SomeBean implements Serializable {
private String value;
public SomeBean() {}
public void setValue ( String _value ) { ... }
public String getValue ( ) { ... }
}
As far as any Perl client program is concerned this is all we need to know about.
Now all there is left to do is write a client:
use Java::Import qw(
java.rmi.Naming
);

my $remote_interface = java::rmi::Naming->lookup(jstring("//localhost/Home"));
my $bean = $remote_interface->getMessage(jstring("Hi there"));
print $bean->getValue(), "n";

Thats all there is. Notice that all we had to tell Java::Import about was java.rmi.Naming, this is because it was the only class we used by name in our Perl code, every other Java class (the objects held by $bean and $remote_interface) was returned by some other method call originating from java.rmi.Naming.

In order to run this example we have to make sure everything is in its place. We start by compiling the client code. Assuming that we have been given a Stub class file (RemoteObject_Stub.class) we can do the following:

gcj -C SomeBean.java RemoteInterface.java
fastjar -cvf client.jar SomeBean.class RemoteInterface.class RemoteObject_Stub.class

Making sure our server is reachable we can then run the client code:

CLASSPATH=client.jar perl client.pl

Thats it, you should then see the message returned by your server.

<<less
Download (0.028MB)
Added: 2007-06-01 License: Perl Artistic License Price:
876 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5