Java Guidelines

Use only private or public visibility modifier. Method arguments are implicitly final. The source code has to comply with net.splitcells.dem's Java grammar. Classes must not be final, because this is useful for

Here are problems encountered with Java listed and not solved. These should be considered, when an alternative language to Java is searched.

There is no known way, in order to define a static API in Java in a similar portable, easy, performant and adaptable way, like C header files. The most portable way seems to be the usage of the service locator pattern and similar patterns, but the resulting code requires some non trivial boiler code.

Avoid these if possible, because they are often not intuitively understandable. There are reasonable exceptions, where the abbreviations are intuitively understandable:

  1. Impl
  2. Doc

Use following command in order to start the Java process. java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000 -jar [path to jar, that is executed]

In this case suspend=y let's pauses the program start, until something connects to the debugging port.