jni
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 32
JNI 08201999
JNI is a Perl encapsulation of the Java Native Interface. more>>
JNI is a Perl encapsulation of the Java Native Interface.
SYNOPSIS
use JNI;
Exported constants
JNI_ABORT
JNI_COMMIT
JNI_ERR
JNI_FALSE
JNI_H
JNI_OK
JNI_TRUE
<<lessSYNOPSIS
use JNI;
Exported constants
JNI_ABORT
JNI_COMMIT
JNI_ERR
JNI_FALSE
JNI_H
JNI_OK
JNI_TRUE
Download (0.038MB)
Added: 2007-06-05 License: Perl Artistic License Price:
871 downloads
PBJ::JNI 0.1
PBJ::JNI is a Perl module with full access to and from Java virtual machine from Perl. more>>
PBJ::JNI is a Perl module with full access to and from Java virtual machine from Perl.
SYNOPSIS
use PBJ::JNI::JavaVM;
my ($env, $jvm, @vm_opts);
my ($cls, $fid, $mid, $out);
# Create the Java VM
@vm_opts = ("-Xrs", "-Xcheck:jni");
$jvm = new PBJ::JNI::JavaVM();
$env = $jvm->get_env(@vm_opts);
$env->PushLocalFrame(16) == 0 or die;
$cls = $env->FindClass("java/lang/System") or die;
$fid = $env->GetStaticFieldID($cls, "out", "Ljava/io/PrintStream;") or die;
$out = $env->GetStaticObjectField($cls, $fid) or die;
$cls = $env->GetObjectClass($out) or die;
$mid = $env->GetMethodID($cls, "println", "(I)V") or die;
$env->CallVoidMethod($out, $mid, $env->cast("I", 12345));
$env->PopLocalFrame(0);
WARNING
This software is still in alpha stage. It may not be reliable and its features and APIs may change in the future releases.
The PBJ::JNI package allows you to link with your Java virtual machine and directly access Java classes from Perl. It also allows a mechanism to create callbacks from Java program to Perl subroutines.
The package focuses on providing a set of APIs that closely resemble the native JNI interface. This basically means that you can write an ordinary JNI program in Perl instead of in C or C++. This provides a quicker way to writing wrappers to invoke programs written in Java and therefore introduce Java libraries to the Perl without the trouble of writing low level C/C++ programs.
You will need to know how JNI works in order to use this package. This package is by definition very primitive. If you dont understand thoroughly on how JNI works and try to use the feature of this package, you can easily crash your program or create memory leaks. So dont do that.
It is my hope that somebody with proper skills in JNI and Perl can write wrappers for a set of popular Java libraries, such as JDBC, XML parser, JMS (that I am working on), and other useful Java packages so that a Perl programmer can use them directly in a pure Perl environment without knowing anything about JNI.
<<lessSYNOPSIS
use PBJ::JNI::JavaVM;
my ($env, $jvm, @vm_opts);
my ($cls, $fid, $mid, $out);
# Create the Java VM
@vm_opts = ("-Xrs", "-Xcheck:jni");
$jvm = new PBJ::JNI::JavaVM();
$env = $jvm->get_env(@vm_opts);
$env->PushLocalFrame(16) == 0 or die;
$cls = $env->FindClass("java/lang/System") or die;
$fid = $env->GetStaticFieldID($cls, "out", "Ljava/io/PrintStream;") or die;
$out = $env->GetStaticObjectField($cls, $fid) or die;
$cls = $env->GetObjectClass($out) or die;
$mid = $env->GetMethodID($cls, "println", "(I)V") or die;
$env->CallVoidMethod($out, $mid, $env->cast("I", 12345));
$env->PopLocalFrame(0);
WARNING
This software is still in alpha stage. It may not be reliable and its features and APIs may change in the future releases.
The PBJ::JNI package allows you to link with your Java virtual machine and directly access Java classes from Perl. It also allows a mechanism to create callbacks from Java program to Perl subroutines.
The package focuses on providing a set of APIs that closely resemble the native JNI interface. This basically means that you can write an ordinary JNI program in Perl instead of in C or C++. This provides a quicker way to writing wrappers to invoke programs written in Java and therefore introduce Java libraries to the Perl without the trouble of writing low level C/C++ programs.
You will need to know how JNI works in order to use this package. This package is by definition very primitive. If you dont understand thoroughly on how JNI works and try to use the feature of this package, you can easily crash your program or create memory leaks. So dont do that.
It is my hope that somebody with proper skills in JNI and Perl can write wrappers for a set of popular Java libraries, such as JDBC, XML parser, JMS (that I am working on), and other useful Java packages so that a Perl programmer can use them directly in a pure Perl environment without knowing anything about JNI.
Download (0.014MB)
Added: 2007-06-04 License: Perl Artistic License Price:
873 downloads
JMagick 6.2.6
JMagick is an open source Java interface of ImageMagick. more>>
JMagick is an open source Java interface of ImageMagick. It is implemented in the form of Java Native Interface (JNI) into the ImageMagick API.
JMagick does not attempt to make the ImageMagick API object-oriented. JMagick project is merely a thin interface layer into the ImageMagick API.
JMagick currently only implements a subset of ImageMagick APIs. Should you require unimplemented features in JMagick, please join the mailing list and make a request.
<<lessJMagick does not attempt to make the ImageMagick API object-oriented. JMagick project is merely a thin interface layer into the ImageMagick API.
JMagick currently only implements a subset of ImageMagick APIs. Should you require unimplemented features in JMagick, please join the mailing list and make a request.
Download (0.53MB)
Added: 2006-04-26 License: GPL (GNU General Public License) Price:
1289 downloads
NativeCall 0.4.1
NativeCall is a Java toolkit that lets you call operating system methods from whithin Java without JNI code. more>>
NativeCall is a Java toolkit that lets you call operating system methods from whithin Java without JNI code.
The current version 0.4.0 supports structs, Strings, primitive types (ints and booleans), byte and char arrays and output parameters.
NativeCall 0.4.0 implements some minor changes to make the API more consistent and easier. NativeCall project also features more unit tests.
Enhancements:
- The previous release could not create multiple pointers correctly.
- Javadoc for Win32Verifier#verifyModuleName(String) was corrected.
- Using a new Holder(null) now means new Holder(new Integer(0)).
- Constructor method IDs are now cached.
- int hashCode() methods have been optimized.
<<lessThe current version 0.4.0 supports structs, Strings, primitive types (ints and booleans), byte and char arrays and output parameters.
NativeCall 0.4.0 implements some minor changes to make the API more consistent and easier. NativeCall project also features more unit tests.
Enhancements:
- The previous release could not create multiple pointers correctly.
- Javadoc for Win32Verifier#verifyModuleName(String) was corrected.
- Using a new Holder(null) now means new Holder(new Integer(0)).
- Constructor method IDs are now cached.
- int hashCode() methods have been optimized.
Download (0.28MB)
Added: 2006-04-20 License: MIT/X Consortium License Price:
1283 downloads
JXosd 1.0
JXosd is a set of Java bindings for XOSD. more>>
JXosd is a set of Java bindings for XOSD, a library for displaying information on an X display. It supports the display of text, sliders, and percentage bars through JNI. Almost the entire API has been implemented.
<<less Download (0.018MB)
Added: 2005-04-13 License: GPL (GNU General Public License) Price:
1654 downloads
TIJmp 0.3
TIJmp is a memory profiler for java. more>>
TIJmp is a memory profiler for java. TIJmp is made for java/6 and later, it will not work on java/5 systems. If you need a profiler for java/5 or earlier try the jmp profiler.
TIJmp is written to be fast and have a small footprint, both memory- and cpu-wise. This means that the jvm will run at almost full speed, until you use tijmp to find some information.
TIJjmp uses C code to talk to the jvm and it uses swing to show the the tables of information. So tijmp is written in C (using jvmti and jni) and Java.
TIJmp runs in the same jvm as the program being profiled. This means that it can easily get access to all things jvmti/jni has to offer.
This project is distributed under the General Public License, GPL.
Enhancements:
- Owner information now shows correct field names for static variables and array indexes show the correct position.
- The classpath setup was improved.
- It now installs files in the correct Linux directories.
<<lessTIJmp is written to be fast and have a small footprint, both memory- and cpu-wise. This means that the jvm will run at almost full speed, until you use tijmp to find some information.
TIJjmp uses C code to talk to the jvm and it uses swing to show the the tables of information. So tijmp is written in C (using jvmti and jni) and Java.
TIJmp runs in the same jvm as the program being profiled. This means that it can easily get access to all things jvmti/jni has to offer.
This project is distributed under the General Public License, GPL.
Enhancements:
- Owner information now shows correct field names for static variables and array indexes show the correct position.
- The classpath setup was improved.
- It now installs files in the correct Linux directories.
Download (0.34MB)
Added: 2007-07-11 License: GPL (GNU General Public License) Price:
836 downloads
swIMP 0.9
swIMP aims to make solvers written in C or C++ available under other languages. more>>
swIMP short from SWIG-based Interfaces for Mathematical Programming aims at making solvers written in C or C++ available under other languages.
The current focus is on Java as target language and on LP/IP-solvers which are compatible to the Open Solver Interface (OSI) from the Coin-OR-project. This includes both Open Source solvers as well as reknown commercial solvers like CPLEX and Xpress (see Features).
The wrappers are implemented using the generator tool SWIG. SWIG generates both C++ code which is then compiled into a shared library and Java-code which accesses the shared library through the Java Native Interface (JNI).
In principle, SWIG also supports other target languages like Python or Perl but this would require non-trivial modifications of the SWIG interface definitions currently provided by swIMP.
Main features:
Java-wrappers for OSI-compatible solvers
- The following solvers are currently supported:
Solvers from the Coin-OR-project, namely
- Clp,
- Cbc,
- Vol,
- Symphony.
- Support for the following solvers should be easy to add (at most one day of work or so) but has not yet been added because I had no need to - a short notice if you need such a feature or even better a patch for including one of these solvers would of course be highly welcome:
- GLPK,
- CPLEX,
- Xpress
Environment
- The generated Java-code has been compiled and tested under Version 1.4.2 of Sun Java 2 Platform, Standard Edition (J2SE) .
- The shared library is currently built and tested under Linux but should work on most UNIX systems. The GNU Build Tools (autoconf and automake) are used to achieve this portability. However, no tests on other platforms than Linux have been performed.
swIMP requires the following libraries from Coin-OR-project:
- libCoin,
- libCgl,
- libOsi.
- Furthermore, the libraries for the solvers which shall be accessed through Osi must be available, of course. For example, you may want to install
- libCbc, libCgl and libVol from the Coin-OR-project,
- together with their Osi-counterparts libOsiCbc, libOsiCgl and libOsiVol.
- The Lang and the Logging Components of Jakarta Commons,
- JUnit to execute the automatic unit test suite.
The build process uses the following tools (the version with which the build process has been tested is included in brackets):
- GNU Make (3.80)
- A C++ compiler (as selected by ./configure). We use gcc 3.3.4.
- Apache Ant (1.6.2)
- SWIG (1.3.24) if you want to rebuild the generated sources (see Installation).
Enhancements:
- First version with beta-status.
- New hand-tailored mapping for int[] and double[], such that the C++ code works directly on the Java-datastructures. No noticeable overhead compared to using SWIG-wrappers for standard C++ arrays.
- Planned functionality for first production release implemented.
- Test suite has reached comprehensive code coverage.
<<lessThe current focus is on Java as target language and on LP/IP-solvers which are compatible to the Open Solver Interface (OSI) from the Coin-OR-project. This includes both Open Source solvers as well as reknown commercial solvers like CPLEX and Xpress (see Features).
The wrappers are implemented using the generator tool SWIG. SWIG generates both C++ code which is then compiled into a shared library and Java-code which accesses the shared library through the Java Native Interface (JNI).
In principle, SWIG also supports other target languages like Python or Perl but this would require non-trivial modifications of the SWIG interface definitions currently provided by swIMP.
Main features:
Java-wrappers for OSI-compatible solvers
- The following solvers are currently supported:
Solvers from the Coin-OR-project, namely
- Clp,
- Cbc,
- Vol,
- Symphony.
- Support for the following solvers should be easy to add (at most one day of work or so) but has not yet been added because I had no need to - a short notice if you need such a feature or even better a patch for including one of these solvers would of course be highly welcome:
- GLPK,
- CPLEX,
- Xpress
Environment
- The generated Java-code has been compiled and tested under Version 1.4.2 of Sun Java 2 Platform, Standard Edition (J2SE) .
- The shared library is currently built and tested under Linux but should work on most UNIX systems. The GNU Build Tools (autoconf and automake) are used to achieve this portability. However, no tests on other platforms than Linux have been performed.
swIMP requires the following libraries from Coin-OR-project:
- libCoin,
- libCgl,
- libOsi.
- Furthermore, the libraries for the solvers which shall be accessed through Osi must be available, of course. For example, you may want to install
- libCbc, libCgl and libVol from the Coin-OR-project,
- together with their Osi-counterparts libOsiCbc, libOsiCgl and libOsiVol.
- The Lang and the Logging Components of Jakarta Commons,
- JUnit to execute the automatic unit test suite.
The build process uses the following tools (the version with which the build process has been tested is included in brackets):
- GNU Make (3.80)
- A C++ compiler (as selected by ./configure). We use gcc 3.3.4.
- Apache Ant (1.6.2)
- SWIG (1.3.24) if you want to rebuild the generated sources (see Installation).
Enhancements:
- First version with beta-status.
- New hand-tailored mapping for int[] and double[], such that the C++ code works directly on the Java-datastructures. No noticeable overhead compared to using SWIG-wrappers for standard C++ arrays.
- Planned functionality for first production release implemented.
- Test suite has reached comprehensive code coverage.
Download (0.52MB)
Added: 2006-05-28 License: GPL (GNU General Public License) Price:
1246 downloads
mod_gcj 0.8
mod_gcj is a project aimed to serve dynamic pages from Apache using libgcj, the free Javatm implementation that is part of GCC. more>>
mod_gcj is a project aimed to serve dynamic pages from Apache using libgcj, the free Java implementation that is part of GCC. Setting up Apache with servlet engines has been a cumbersome task for many years. Still today, it isnt very easy to set up the Apache Foundationss own Tomcat servlet container with Apache.
Also, traditional servlet containers do not feel very well integrated with Apache or the rest of the OS platform. Of course, this kind of non-integration is part of Javas culture. One could even say it is one of Javas pillars. But is it always a good thing for server applications?
In contrast, the GCC compiler suite treats Java as just another language that is compiled down to native code. Static compilation obviously is a nice fit for server applications, where code can immediately optimized for the platform without going through the intermediate bytecode level and than compiling the code at runtime.
Another benefit is that Java code compiled with GCJ can be easily linked with other native resources and thus becomes much less isolated than Java traditionally is, and more of an equal citizen of the platform it runs on. GCJ provides its own interface for coupling Java code with C++ called CNI. In contrast to JNI, CNI is very sleek, performs well and is suiteble for use by ordinary people.
To summarize, mod_gcj aims to provide a way to serve dynamic Java Web content that is closer to the Apache Httpd and the platform it runs on.
<<lessAlso, traditional servlet containers do not feel very well integrated with Apache or the rest of the OS platform. Of course, this kind of non-integration is part of Javas culture. One could even say it is one of Javas pillars. But is it always a good thing for server applications?
In contrast, the GCC compiler suite treats Java as just another language that is compiled down to native code. Static compilation obviously is a nice fit for server applications, where code can immediately optimized for the platform without going through the intermediate bytecode level and than compiling the code at runtime.
Another benefit is that Java code compiled with GCJ can be easily linked with other native resources and thus becomes much less isolated than Java traditionally is, and more of an equal citizen of the platform it runs on. GCJ provides its own interface for coupling Java code with C++ called CNI. In contrast to JNI, CNI is very sleek, performs well and is suiteble for use by ordinary people.
To summarize, mod_gcj aims to provide a way to serve dynamic Java Web content that is closer to the Apache Httpd and the platform it runs on.
Download (0.68MB)
Added: 2006-05-16 License: The Apache License 2.0 Price:
1256 downloads
JamVM 1.3.1
JamVM is a compact Java Virtual Machine. more>>
JamVM is a new Java Virtual Machine which conforms to the JVM specification version 2 (blue book). In comparison to most other VMs (free and commercial) it is extremely small, with a stripped executable on PowerPC of only ~130K, and Intel 100K.
However, unlike other small VMs (e.g. KVM) it is designed to support the full specification, and includes support for object finalisation, the Java Native Interface (JNI) and the Reflection API.
Main features:
- Uses native threading (posix threads). Full thread implementation including Thread.interrupt()
- Object references are direct pointers (i.e. no handles)
- Supports class loaders
- Efficient thin locks for fast locking in uncontended cases (the majority of locking) without using spin-locking
- Two word object header to minimise heap overhead (lock word and class pointer)
- Execution engine supports basic switched interpreter and threaded interpreter, to minimise dispatch overhead (requires gcc value labels)
- Stop-the-world mark and sweep garbage collector
- Thread suspension uses signals to reduce suspend latency and improve performance (no suspension checks during normal execution)
- Full object finalisation support within the garbage collector (with finaliser thread)
- Garbage collector can run synchronously or asynchronously within its own thread
- String constants within class files are stored in hash table to minimise class data overhead (string constants shared between all classes)
- Supports JNI and dynamic loading for use with standard libraries
- Uses its own lightweight native interface for internal native methods without overhead of JNI
- JamVM is written in C, with a small amount of platform dependent assembler, and is easily portable to other architectures.
Enhancements:
- Re-worked thread suspension enable/disable code
- implemented a fast enable/disable suspend mechanism for critical code sections, which is now used in hash table access and heap allocation :
- much faster object allocation
- much faster primitive array allocation
- faster string interning
- removed some minor potential (as yet unseen) race conditions
- Integrated all outstanding patches
- generics branch patch, implementing VMClass.isEnum(), isAnnotation() and isSynthetic()
- Boot library path patch (support for system property gnu.classpath.boot.library.path)
- Enabled different min/max heap values for each architecture
- ARM values are back to the defaults for JamVM 1.2.5. Default max heap of 128Mb is too large for typical embedded ARM systems.
- Fixed the new compiler warnings from gcc-4.0 (under Mac OS X) related to char/signed char usage.
- Fixed compiler error on gcc-4.0 under Mac OS X 10.4 (duplicate definitions of wait).
- Fixed rare, potential dead-lock in direct.c when preparing methods
- Fixed a bug in VMClassLoader.defineClass(), where offset or length is wrong.
- Fixed bug in DCONST_1 on mixed-endian ARM architectures (this bug was fixed in JamVM 1.2.2 but it crept back in, due to the new interpreter in JamVM 1.2.5).
- Improved thread dump (produced via SIGQUIT, or ctrl-).
- Several other minor bug-fixes, and code tidy-ups.
<<lessHowever, unlike other small VMs (e.g. KVM) it is designed to support the full specification, and includes support for object finalisation, the Java Native Interface (JNI) and the Reflection API.
Main features:
- Uses native threading (posix threads). Full thread implementation including Thread.interrupt()
- Object references are direct pointers (i.e. no handles)
- Supports class loaders
- Efficient thin locks for fast locking in uncontended cases (the majority of locking) without using spin-locking
- Two word object header to minimise heap overhead (lock word and class pointer)
- Execution engine supports basic switched interpreter and threaded interpreter, to minimise dispatch overhead (requires gcc value labels)
- Stop-the-world mark and sweep garbage collector
- Thread suspension uses signals to reduce suspend latency and improve performance (no suspension checks during normal execution)
- Full object finalisation support within the garbage collector (with finaliser thread)
- Garbage collector can run synchronously or asynchronously within its own thread
- String constants within class files are stored in hash table to minimise class data overhead (string constants shared between all classes)
- Supports JNI and dynamic loading for use with standard libraries
- Uses its own lightweight native interface for internal native methods without overhead of JNI
- JamVM is written in C, with a small amount of platform dependent assembler, and is easily portable to other architectures.
Enhancements:
- Re-worked thread suspension enable/disable code
- implemented a fast enable/disable suspend mechanism for critical code sections, which is now used in hash table access and heap allocation :
- much faster object allocation
- much faster primitive array allocation
- faster string interning
- removed some minor potential (as yet unseen) race conditions
- Integrated all outstanding patches
- generics branch patch, implementing VMClass.isEnum(), isAnnotation() and isSynthetic()
- Boot library path patch (support for system property gnu.classpath.boot.library.path)
- Enabled different min/max heap values for each architecture
- ARM values are back to the defaults for JamVM 1.2.5. Default max heap of 128Mb is too large for typical embedded ARM systems.
- Fixed the new compiler warnings from gcc-4.0 (under Mac OS X) related to char/signed char usage.
- Fixed compiler error on gcc-4.0 under Mac OS X 10.4 (duplicate definitions of wait).
- Fixed rare, potential dead-lock in direct.c when preparing methods
- Fixed a bug in VMClassLoader.defineClass(), where offset or length is wrong.
- Fixed bug in DCONST_1 on mixed-endian ARM architectures (this bug was fixed in JamVM 1.2.2 but it crept back in, due to the new interpreter in JamVM 1.2.5).
- Improved thread dump (produced via SIGQUIT, or ctrl-).
- Several other minor bug-fixes, and code tidy-ups.
Download (0.23MB)
Added: 2005-06-17 License: GPL (GNU General Public License) Price:
1593 downloads
JDBC Driver for SQLite 006
JDBC Driver for SQLite is a thin layer on top of the SQLite 3.3.x C API. more>>
JDBC Driver for SQLite is a thin layer on top of the SQLite 3.3.x C API. The native JNI library has SQLite compiled into it so all you need to do is include the two files packaged above in your project.
Usage:
Download the binary for the platform you are developing on. Open the tarball and copy the two files into your application directory:
sqlitejdbc.jar
[lib]sqlitejdbc.[dll, so, jnilib]
Reference the driver in your code:
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:filename");
// ... use the database ...
conn.close();
And call your program with the drivers JAR file in the classpath and the C library in the librarypath. E.g.
java -cp lib/yourprog.jar:lib/sqlitejdbc.jar
-Djava.library.path=lib
yourprog.Main
Enhancements:
- The driver is now thread-safe and fully supports UTF-16.
- There are binaries for Mac OS, Linux, and Windows, and instructions for compiling with MSVC.
<<lessUsage:
Download the binary for the platform you are developing on. Open the tarball and copy the two files into your application directory:
sqlitejdbc.jar
[lib]sqlitejdbc.[dll, so, jnilib]
Reference the driver in your code:
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:filename");
// ... use the database ...
conn.close();
And call your program with the drivers JAR file in the classpath and the C library in the librarypath. E.g.
java -cp lib/yourprog.jar:lib/sqlitejdbc.jar
-Djava.library.path=lib
yourprog.Main
Enhancements:
- The driver is now thread-safe and fully supports UTF-16.
- There are binaries for Mac OS, Linux, and Windows, and instructions for compiling with MSVC.
Download (0.016MB)
Added: 2006-08-05 License: BSD License Price:
705 downloads
Channel16 0.1
Channel16 is graphical tool that allows users to browse the content of deleted files in an ext2 filesystem interactively. more>>
Channel16 is graphical tool that allows users to browse the content of deleted files in an ext2 filesystem interactively, and to recover them into new files. The application also provides a search and rescue operation. This allows the user to input some exact text from the deleted file, which the program uses to search through all deleted inodes. Channel16 uses the low-level methods provided by e2fsprogs. The front end is implemented with Java Swing, and Java Native Interface (JNI) is used to bridge between Java and the ext2fs operations.
If you want to build the program from source, you need to install the following packages:
- Java SDK
- e2fsprog-devel-1.19-4
- gcc compiler
tar xvzf channel16-0.1a.tar.gz
cd channel16-0.1a/exom/channel16
make install
The following packages are needed to run Channel 16:
Java runtime environment
e2fsprog-1.19-4
I currently only test the application on Linux (RedHat 7.1)
<<lessIf you want to build the program from source, you need to install the following packages:
- Java SDK
- e2fsprog-devel-1.19-4
- gcc compiler
tar xvzf channel16-0.1a.tar.gz
cd channel16-0.1a/exom/channel16
make install
The following packages are needed to run Channel 16:
Java runtime environment
e2fsprog-1.19-4
I currently only test the application on Linux (RedHat 7.1)
Download (0.11MB)
Added: 2006-07-07 License: GPL (GNU General Public License) Price:
1204 downloads
SQLiteJDBC 034
SQLiteJDBC supports the most commonly used features of JDBC that can be efficiently implemented on top of SQLite. more>>
SQLiteJDBC is a JDBC driver for SQLite which is written as a Java JNI layer over the SQLite 3.3.x API.
SQLiteJDBC supports the most commonly used features of JDBC that can be efficiently implemented on top of SQLite. Only a single native JNI library is required, and SQLite is compiled in.
Binaries are provided for Linux, Mac OS X, and Windows.
<<lessSQLiteJDBC supports the most commonly used features of JDBC that can be efficiently implemented on top of SQLite. Only a single native JNI library is required, and SQLite is compiled in.
Binaries are provided for Linux, Mac OS X, and Windows.
Download (0.13MB)
Added: 2007-06-19 License: BSD License Price:
521 downloads
FUSE-J 2.4-pre1
FUSE-J project contains Java bindings for FUSE (Filesystem in USErspace). more>>
FUSE-J project contains Java bindings for FUSE (Filesystem in USErspace). It is a Java API that uses JNI bindings to FUSE library and enables writing Linux filesystems in Java language.
FUSE (Filesystem in USErspace) is a simple interface for userspace programs to export a virtual filesystem to the linux kernel.
Enhancements:
- This is the first preview release of the new 2.4 FUSE-J API featuring new extended attributes support, access to fuse_context (UID/GID of the process making file request), ANT build system support, migration to Log4J logging, etc. Theres no documentation yet and API can cahge in some minor details before the 1st release of the 2.4 version.
<<lessFUSE (Filesystem in USErspace) is a simple interface for userspace programs to export a virtual filesystem to the linux kernel.
Enhancements:
- This is the first preview release of the new 2.4 FUSE-J API featuring new extended attributes support, access to fuse_context (UID/GID of the process making file request), ANT build system support, migration to Log4J logging, etc. Theres no documentation yet and API can cahge in some minor details before the 1st release of the 2.4 version.
Download (0.10MB)
Added: 2007-08-15 License: GPL (GNU General Public License) Price:
801 downloads
Java Binary Enhancement Tool 3 R1
Java Binary Enhancement Tool is a Java assembler, dissassembler, and binary editor. more>>
The Java Binary Enhancement Tool (JBET) is a general Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner.
JBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
<<lessJBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
Download (0.19MB)
Added: 2005-03-07 License: BSD License Price:
1697 downloads
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.
<<lessThe 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.
Download (0.043MB)
Added: 2005-12-22 License: GPL (GNU General Public License) Price:
1404 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above jni search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed