Sending NumPy arrays to Java
Like Python, Java is a very popular programming language. We installed Java in Chapter 8, Working with Databases, as a prerequisite to using Cassandra. To run Java code, we need the Java Runtime Environment (JRE). For development, the Java Development Kit (JDK) is required.
Jython is an implementation of Python written in Java. Jython code can use any Java class. However, Python modules written in C cannot be imported in Jython. This is an issue because many numerical and data analysis Python libraries have modules written in C. The JPype1
package offers a solution, and can be downloaded from http://pypi.python.org/pypi/JPype1 or http://github.com/originell/jpype. You can install JPype1
with the following command:
$ pip3 install JPype1
Start the Java Virtual Machine (JVM) with the following line:
jpype.startJVM(jpype.getDefaultJVMPath())
Create a JPype array JArray
with some random values:
values = np.random.randn(7) java_array = jpype.JArray(jpype.JDouble,...