You are writing a Java program to encrypt or de-crypt some data with strong encryption keys but you got an error saying InvalidKeyException: Illegal key size or default parameters. You double checked and triple checked your code and everything seems to be correct but you still get the same exception every time you run your program. You are probably doing nothing wrong but … [Read more...]
Java: Static Initializer (Static Constructor)
Many Java programmers, including my self, might have mistaken that the portion of code that initializes the static variables of a class called the static constructor. Why Not A Java Static Constructor? It is actually not a constructor that initializes the static variables' value. This is because static variables do not need to and can not be constructed as they are being … [Read more...]
Java: How To Select Top N Objects From A List
There are several ways to select top N objects from A list in the order of multiple data members of an object. For example, you may select top 10 players (top scores) from a list ordered by the players' score_1, score_2 and then score_3. The Simplest Way But Ineffective The simplest way to pick the top N elements is to sort the whole list and get the top N elements. … [Read more...]
Java: How To Implement ungetc in Java
If you are a C or C++ programmer, you may familiar withe ungetc function in C. ungetc function is a very simple but useful function especially when your program need to read characters from a FILE stream for data parsing. You may encounter cases where you need to unread the character so that you can use that character when you pass in the FILE reference into another … [Read more...]
Java: How To Use SQL LIKE Clasue with PreparedStatement?
One may find that using SQL's LIKE clause in Java PreparedStatement is not straight forward. There is no documentation on how the LIKE clause should be used when it is used with the PreparedStatement object. Thus, most of the programmer would rather use the full SQL to execute the statement. … [Read more...]