Archive for the ‘java’ Category

Java 9 got a REPL

September 23, 2017 Leave a comment

Java 9 came out a few days ago and it includes a REPL. This is a well-known thing among interpreted languages (e.g. Python), but it’s not very common in the case of compiled languages.

$ jshell
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro

jshell> int a = 3
a ==> 3

jshell> int b = 2
b ==> 2

jshell> a + b
$3 ==> 5

jshell> $3
$3 ==> 5


Here is a more detailed blog post about jshell.

jshell stands for Java Shell, and not for JavaScript Hell!

Categories: java Tags: , ,

Java profiling

March 18, 2017 Leave a comment

YourKit is a great Java profiling tool. It is a commercial software but you can get a free 15-day evaluation license key for a fully functional version of the profiler.

The past week I was working on a Java project and the software was very slow. Using YourKit I could easily find the bottleneck. It turned out that 94% of the time was spent in a function that I implemented in a naive way. Choosing a better algorithm the software got much faster. A profiler is really useful…

For Java I use Eclipse. YourKit integrates in Eclipse perfectly through an Eclipse plugin.

Python profiling

Here is an excellent post about Python profiling.

Categories: java, python Tags: , ,

Jerly: A Java implementation of Earley’s efficient parsing algorithm

January 22, 2017 Leave a comment

I found an old project of mine called Jerly. I wrote it in 2004-2005. I tried it in 2017 and it still works fine :) You can find it on GitHub.

Jerly is a Java implementation of Earley’s efficient parsing algorithm for lambda-free context-free grammars. To put it in a nutshell, it tells you if a word can be generated with a set of rules or not.

Categories: java Tags: , , ,

A nice JUnit tutorial

October 10, 2016 Leave a comment

I started to use Java again (I haven’t touched it for 5 years…) and I found a very nice JUnit tutorial. Here it is: .


  • MoreUnit, install this plug-in if you use JUnit
  • EclEmma, a free Java code coverage tool for Eclipse
Categories: java Tags: , , ,

Force XMind to use Java 7

April 30, 2013 Leave a comment

XMind is the world’s coolest mind mapping software, the best way to brainstorm, the most efficient solution for saving your time, and powering your company.” (source)

Maybe it’s not the best but I like it :) And it has a free version, which is perfect for my needs.

I prefer to use the official Java version that I download directly from Oracle. However, I noticed that XMind tends to use some older versions of Java (OpenJDK, etc.). How to tell XMind which Java to use?

After starting XMind, you can verify which Java it uses. Go to: Help -> About XMind, and click on the button Installation Details. Finally choose the tab Configuration. Here find the line “-vm” and check its value in the next line. This is the virtual machine XMind has found.

Edit xmind.ini and add this line to the top:


In my case “/opt/java/bin/java -version” produces the following output:

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Categories: java Tags:

BeautifulSoup for Java = jsoup

October 2, 2012 Leave a comment

BeautifulSoup is an HTML parser library for Python.

If you want to use a similar library in Java, try jsoup. Cookbook here.

Categories: java, python Tags: , ,

Start vuze with Java 7

August 22, 2012 Leave a comment

I installed Oracle Java 7 to /opt/java. When I start vuze and check Help -> About, it says it is still using Java 6. Hmm…

Edit the vuze launch script:

JAVA_PROGRAM_DIR="/opt/java/bin/"    # Add the trailing slash!
Categories: java Tags: ,