Why is there no SortedList in Java?

List iterators guarantee first and foremost that you get the list’s elements in the internal order of the list (aka. insertion order). More specifically it is in the order you’ve inserted the elements or on how you’ve manipulated the list. Sorting can be seen as a manipulation of the data structure, and there are several … Read more

ArithmeticException: “Non-terminating decimal expansion; no exact representable decimal result”

From the Java 11 BigDecimal docs: When a MathContext object is supplied with a precision setting of 0 (for example, MathContext.UNLIMITED), arithmetic operations are exact, as are the arithmetic methods which take no MathContext object. (This is the only behavior that was supported in releases prior to 5.) As a corollary of computing the exact … Read more

Uncatchable ChuckNorrisException

I haven’t tried this, so I don’t know if the JVM would restrict something like this, but maybe you could compile code which throws ChuckNorrisException, but at runtime provide a class definition of ChuckNorrisException which does not extend Throwable. UPDATE: It doesn’t work. It generates a verifier error: Exception in thread “main” java.lang.VerifyError: (class: TestThrow, … Read more

When should I use File.separator and when File.pathSeparator?

If you mean File.separator and File.pathSeparator then: File.pathSeparator is used to separate individual file paths in a list of file paths. Consider on windows, the PATH environment variable. You use a ; to separate the file paths so on Windows File.pathSeparator would be ;. File.separator is either / or \ that is used to split … Read more

JPA JoinColumn vs mappedBy

The annotation @JoinColumn indicates that this entity is the owner of the relationship (that is: the corresponding table has a column with a foreign key to the referenced table), whereas the attribute mappedBy indicates that the entity in this side is the inverse of the relationship, and the owner resides in the “other” entity. This … Read more

How do I programmatically determine operating system in Java?

You can use: System.getProperty(“os.name”) P.S. You may find this code useful: class ShowProperties { public static void main(String[] args) { System.getProperties().list(System.out); } } All it does is print out all the properties provided by your Java implementations. It’ll give you an idea of what you can find out about your Java environment via properties. 🙂

.war vs .ear file

A WAR (Web Archive) is a module that gets loaded into a Web container of a Java Application Server. A Java Application Server has two containers (runtime environments) – one is a Web container and the other is a EJB container. The Web container hosts Web applications based on JSP or the Servlets API – … Read more